@wordpress/dataviews 0.5.2 → 0.5.4

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 (39) hide show
  1. package/build/bulk-actions.js +41 -3
  2. package/build/bulk-actions.js.map +1 -1
  3. package/build/dataviews.js +22 -12
  4. package/build/dataviews.js.map +1 -1
  5. package/build/filters.js +8 -1
  6. package/build/filters.js.map +1 -1
  7. package/build/pagination.js +2 -1
  8. package/build/pagination.js.map +1 -1
  9. package/build/single-selection-checkbox.js +3 -1
  10. package/build/single-selection-checkbox.js.map +1 -1
  11. package/build/view-grid.js +18 -6
  12. package/build/view-grid.js.map +1 -1
  13. package/build/view-table.js +76 -41
  14. package/build/view-table.js.map +1 -1
  15. package/build-module/bulk-actions.js +40 -4
  16. package/build-module/bulk-actions.js.map +1 -1
  17. package/build-module/dataviews.js +22 -12
  18. package/build-module/dataviews.js.map +1 -1
  19. package/build-module/filters.js +8 -1
  20. package/build-module/filters.js.map +1 -1
  21. package/build-module/pagination.js +2 -1
  22. package/build-module/pagination.js.map +1 -1
  23. package/build-module/single-selection-checkbox.js +3 -1
  24. package/build-module/single-selection-checkbox.js.map +1 -1
  25. package/build-module/view-grid.js +19 -7
  26. package/build-module/view-grid.js.map +1 -1
  27. package/build-module/view-table.js +77 -42
  28. package/build-module/view-table.js.map +1 -1
  29. package/build-style/style-rtl.css +16 -13
  30. package/build-style/style.css +16 -13
  31. package/package.json +4 -4
  32. package/src/bulk-actions.js +54 -4
  33. package/src/dataviews.js +43 -27
  34. package/src/filters.js +6 -1
  35. package/src/pagination.js +6 -1
  36. package/src/single-selection-checkbox.js +2 -0
  37. package/src/style.scss +20 -11
  38. package/src/view-grid.js +47 -25
  39. package/src/view-table.js +109 -75
@@ -25,7 +25,8 @@ const Pagination = memo(function Pagination({
25
25
  }, createElement(HStack, {
26
26
  justify: "flex-start",
27
27
  expanded: false,
28
- spacing: 2
28
+ spacing: 2,
29
+ className: "dataviews-pagination__page-selection"
29
30
  }, createInterpolateElement(sprintf(
30
31
  // translators: %s: Total number of pages.
31
32
  _x('Page <CurrenPageControl /> of %s', 'paging'), totalPages), {
@@ -1 +1 @@
1
- {"version":3,"names":["Button","__experimentalHStack","HStack","SelectControl","createInterpolateElement","memo","sprintf","__","_x","chevronRight","chevronLeft","Pagination","view","onChangeView","paginationInfo","totalItems","totalPages","createElement","expanded","spacing","justify","className","CurrenPageControl","value","page","options","Array","from","map","_","i","label","onChange","newValue","size","__nextHasNoMarginBottom","onClick","disabled","__experimentalIsFocusable","icon","showTooltip","tooltipPosition"],"sources":["@wordpress/dataviews/src/pagination.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tSelectControl,\n} from '@wordpress/components';\nimport { createInterpolateElement, memo } from '@wordpress/element';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\n\nconst Pagination = memo( function Pagination( {\n\tview,\n\tonChangeView,\n\tpaginationInfo: { totalItems = 0, totalPages },\n} ) {\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t!! totalItems &&\n\t\ttotalPages !== 1 && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tspacing={ 6 }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-pagination\"\n\t\t\t>\n\t\t\t\t<HStack justify=\"flex-start\" expanded={ false } spacing={ 2 }>\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %s: Total number of pages.\n\t\t\t\t\t\t\t_x( 'Page <CurrenPageControl /> of %s', 'paging' ),\n\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tCurrenPageControl: (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\tvalue={ view.page }\n\t\t\t\t\t\t\t\t\toptions={ Array.from(\n\t\t\t\t\t\t\t\t\t\tArray( totalPages )\n\t\t\t\t\t\t\t\t\t).map( ( _, i ) => {\n\t\t\t\t\t\t\t\t\t\tconst page = i + 1;\n\t\t\t\t\t\t\t\t\t\treturn { value: page, label: page };\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tpage: +newValue,\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\tsize={ 'compact' }\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\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</HStack>\n\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page - 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page + 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t)\n\t);\n} );\n\nexport default Pagination;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Button","__experimentalHStack","HStack","SelectControl","createInterpolateElement","memo","sprintf","__","_x","chevronRight","chevronLeft","Pagination","view","onChangeView","paginationInfo","totalItems","totalPages","createElement","expanded","spacing","justify","className","CurrenPageControl","value","page","options","Array","from","map","_","i","label","onChange","newValue","size","__nextHasNoMarginBottom","onClick","disabled","__experimentalIsFocusable","icon","showTooltip","tooltipPosition"],"sources":["@wordpress/dataviews/src/pagination.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tSelectControl,\n} from '@wordpress/components';\nimport { createInterpolateElement, memo } from '@wordpress/element';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\n\nconst Pagination = memo( function Pagination( {\n\tview,\n\tonChangeView,\n\tpaginationInfo: { totalItems = 0, totalPages },\n} ) {\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t!! totalItems &&\n\t\ttotalPages !== 1 && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tspacing={ 6 }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-pagination\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\tclassName=\"dataviews-pagination__page-selection\"\n\t\t\t\t>\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %s: Total number of pages.\n\t\t\t\t\t\t\t_x( 'Page <CurrenPageControl /> of %s', 'paging' ),\n\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tCurrenPageControl: (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\tvalue={ view.page }\n\t\t\t\t\t\t\t\t\toptions={ Array.from(\n\t\t\t\t\t\t\t\t\t\tArray( totalPages )\n\t\t\t\t\t\t\t\t\t).map( ( _, i ) => {\n\t\t\t\t\t\t\t\t\t\tconst page = i + 1;\n\t\t\t\t\t\t\t\t\t\treturn { value: page, label: page };\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tpage: +newValue,\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\tsize={ 'compact' }\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\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</HStack>\n\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page - 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page + 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t)\n\t);\n} );\n\nexport default Pagination;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,MAAM,EACNC,oBAAoB,IAAIC,MAAM,EAC9BC,aAAa,QACP,uBAAuB;AAC9B,SAASC,wBAAwB,EAAEC,IAAI,QAAQ,oBAAoB;AACnE,SAASC,OAAO,EAAEC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACjD,SAASC,YAAY,EAAEC,WAAW,QAAQ,kBAAkB;AAE5D,MAAMC,UAAU,GAAGN,IAAI,CAAE,SAASM,UAAUA,CAAE;EAC7CC,IAAI;EACJC,YAAY;EACZC,cAAc,EAAE;IAAEC,UAAU,GAAG,CAAC;IAAEC;EAAW;AAC9C,CAAC,EAAG;EACH,IAAK,CAAED,UAAU,IAAI,CAAEC,UAAU,EAAG;IACnC,OAAO,IAAI;EACZ;EACA,OACC,CAAC,CAAED,UAAU,IACbC,UAAU,KAAK,CAAC,IACfC,aAAA,CAACf,MAAM;IACNgB,QAAQ,EAAG,KAAO;IAClBC,OAAO,EAAG,CAAG;IACbC,OAAO,EAAC,KAAK;IACbC,SAAS,EAAC;EAAsB,GAEhCJ,aAAA,CAACf,MAAM;IACNkB,OAAO,EAAC,YAAY;IACpBF,QAAQ,EAAG,KAAO;IAClBC,OAAO,EAAG,CAAG;IACbE,SAAS,EAAC;EAAsC,GAE9CjB,wBAAwB,CACzBE,OAAO;EACN;EACAE,EAAE,CAAE,kCAAkC,EAAE,QAAS,CAAC,EAClDQ,UACD,CAAC,EACD;IACCM,iBAAiB,EAChBL,aAAA,CAACd,aAAa;MACb,cAAaI,EAAE,CAAE,cAAe,CAAG;MACnCgB,KAAK,EAAGX,IAAI,CAACY,IAAM;MACnBC,OAAO,EAAGC,KAAK,CAACC,IAAI,CACnBD,KAAK,CAAEV,UAAW,CACnB,CAAC,CAACY,GAAG,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAM;QAClB,MAAMN,IAAI,GAAGM,CAAC,GAAG,CAAC;QAClB,OAAO;UAAEP,KAAK,EAAEC,IAAI;UAAEO,KAAK,EAAEP;QAAK,CAAC;MACpC,CAAE,CAAG;MACLQ,QAAQ,EAAKC,QAAQ,IAAM;QAC1BpB,YAAY,CAAE;UACb,GAAGD,IAAI;UACPY,IAAI,EAAE,CAACS;QACR,CAAE,CAAC;MACJ,CAAG;MACHC,IAAI,EAAG,SAAW;MAClBC,uBAAuB;IAAA,CACvB;EAEH,CACD,CACO,CAAC,EACTlB,aAAA,CAACf,MAAM;IAACgB,QAAQ,EAAG,KAAO;IAACC,OAAO,EAAG;EAAG,GACvCF,aAAA,CAACjB,MAAM;IACNoC,OAAO,EAAGA,CAAA,KACTvB,YAAY,CAAE;MAAE,GAAGD,IAAI;MAAEY,IAAI,EAAEZ,IAAI,CAACY,IAAI,GAAG;IAAE,CAAE,CAC/C;IACDa,QAAQ,EAAGzB,IAAI,CAACY,IAAI,KAAK,CAAG;IAC5Bc,yBAAyB;IACzBP,KAAK,EAAGxB,EAAE,CAAE,eAAgB,CAAG;IAC/BgC,IAAI,EAAG7B,WAAa;IACpB8B,WAAW;IACXN,IAAI,EAAC,SAAS;IACdO,eAAe,EAAC;EAAK,CACrB,CAAC,EACFxB,aAAA,CAACjB,MAAM;IACNoC,OAAO,EAAGA,CAAA,KACTvB,YAAY,CAAE;MAAE,GAAGD,IAAI;MAAEY,IAAI,EAAEZ,IAAI,CAACY,IAAI,GAAG;IAAE,CAAE,CAC/C;IACDa,QAAQ,EAAGzB,IAAI,CAACY,IAAI,IAAIR,UAAY;IACpCsB,yBAAyB;IACzBP,KAAK,EAAGxB,EAAE,CAAE,WAAY,CAAG;IAC3BgC,IAAI,EAAG9B,YAAc;IACrB+B,WAAW;IACXN,IAAI,EAAC,SAAS;IACdO,eAAe,EAAC;EAAK,CACrB,CACM,CACD,CACR;AAEH,CAAE,CAAC;AAEH,eAAe9B,UAAU"}
@@ -10,7 +10,8 @@ export default function SingleSelectionCheckbox({
10
10
  item,
11
11
  data,
12
12
  getItemId,
13
- primaryField
13
+ primaryField,
14
+ disabled
14
15
  }) {
15
16
  const id = getItemId(item);
16
17
  const isSelected = selection.includes(id);
@@ -29,6 +30,7 @@ export default function SingleSelectionCheckbox({
29
30
  __nextHasNoMarginBottom: true,
30
31
  checked: isSelected,
31
32
  label: selectionLabel,
33
+ disabled: disabled,
32
34
  onChange: () => {
33
35
  if (!isSelected) {
34
36
  onSelectionChange(data.filter(_item => {
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","CheckboxControl","SingleSelectionCheckbox","selection","onSelectionChange","item","data","getItemId","primaryField","id","isSelected","includes","selectionLabel","getValue","createElement","className","__nextHasNoMarginBottom","checked","label","onChange","filter","_item","itemId"],"sources":["@wordpress/dataviews/src/single-selection-checkbox.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\n\nexport default function SingleSelectionCheckbox( {\n\tselection,\n\tonSelectionChange,\n\titem,\n\tdata,\n\tgetItemId,\n\tprimaryField,\n} ) {\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tlet selectionLabel;\n\tif ( primaryField?.getValue && item ) {\n\t\t// eslint-disable-next-line @wordpress/valid-sprintf\n\t\tselectionLabel = sprintf(\n\t\t\t/* translators: %s: item title. */\n\t\t\tisSelected ? __( 'Deselect item: %s' ) : __( 'Select item: %s' ),\n\t\t\tprimaryField.getValue( { item } )\n\t\t);\n\t} else {\n\t\tselectionLabel = isSelected\n\t\t\t? __( 'Select a new item' )\n\t\t\t: __( 'Deselect item' );\n\t}\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ isSelected }\n\t\t\tlabel={ selectionLabel }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId === id || selection.includes( itemId )\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} else {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId !== id && selection.includes( itemId )\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);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,eAAe,QAAQ,uBAAuB;AAEvD,eAAe,SAASC,uBAAuBA,CAAE;EAChDC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,IAAI;EACJC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,MAAMC,EAAE,GAAGF,SAAS,CAAEF,IAAK,CAAC;EAC5B,MAAMK,UAAU,GAAGP,SAAS,CAACQ,QAAQ,CAAEF,EAAG,CAAC;EAC3C,IAAIG,cAAc;EAClB,IAAKJ,YAAY,EAAEK,QAAQ,IAAIR,IAAI,EAAG;IACrC;IACAO,cAAc,GAAGZ,OAAO,EACvB;IACAU,UAAU,GAAGX,EAAE,CAAE,mBAAoB,CAAC,GAAGA,EAAE,CAAE,iBAAkB,CAAC,EAChES,YAAY,CAACK,QAAQ,CAAE;MAAER;IAAK,CAAE,CACjC,CAAC;EACF,CAAC,MAAM;IACNO,cAAc,GAAGF,UAAU,GACxBX,EAAE,CAAE,mBAAoB,CAAC,GACzBA,EAAE,CAAE,eAAgB,CAAC;EACzB;EACA,OACCe,aAAA,CAACb,eAAe;IACfc,SAAS,EAAC,yCAAyC;IACnDC,uBAAuB;IACvBC,OAAO,EAAGP,UAAY;IACtBQ,KAAK,EAAGN,cAAgB;IACxBO,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAK,CAAET,UAAU,EAAG;QACnBN,iBAAiB,CAChBE,IAAI,CAACc,MAAM,CAAIC,KAAK,IAAM;UACzB,MAAMC,MAAM,GAAGf,SAAS,GAAIc,KAAM,CAAC;UACnC,OACCC,MAAM,KAAKb,EAAE,IAAIN,SAAS,CAACQ,QAAQ,CAAEW,MAAO,CAAC;QAE/C,CAAE,CACH,CAAC;MACF,CAAC,MAAM;QACNlB,iBAAiB,CAChBE,IAAI,CAACc,MAAM,CAAIC,KAAK,IAAM;UACzB,MAAMC,MAAM,GAAGf,SAAS,GAAIc,KAAM,CAAC;UACnC,OACCC,MAAM,KAAKb,EAAE,IAAIN,SAAS,CAACQ,QAAQ,CAAEW,MAAO,CAAC;QAE/C,CAAE,CACH,CAAC;MACF;IACD;EAAG,CACH,CAAC;AAEJ"}
1
+ {"version":3,"names":["__","sprintf","CheckboxControl","SingleSelectionCheckbox","selection","onSelectionChange","item","data","getItemId","primaryField","disabled","id","isSelected","includes","selectionLabel","getValue","createElement","className","__nextHasNoMarginBottom","checked","label","onChange","filter","_item","itemId"],"sources":["@wordpress/dataviews/src/single-selection-checkbox.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\n\nexport default function SingleSelectionCheckbox( {\n\tselection,\n\tonSelectionChange,\n\titem,\n\tdata,\n\tgetItemId,\n\tprimaryField,\n\tdisabled,\n} ) {\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tlet selectionLabel;\n\tif ( primaryField?.getValue && item ) {\n\t\t// eslint-disable-next-line @wordpress/valid-sprintf\n\t\tselectionLabel = sprintf(\n\t\t\t/* translators: %s: item title. */\n\t\t\tisSelected ? __( 'Deselect item: %s' ) : __( 'Select item: %s' ),\n\t\t\tprimaryField.getValue( { item } )\n\t\t);\n\t} else {\n\t\tselectionLabel = isSelected\n\t\t\t? __( 'Select a new item' )\n\t\t\t: __( 'Deselect item' );\n\t}\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ isSelected }\n\t\t\tlabel={ selectionLabel }\n\t\t\tdisabled={ disabled }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId === id || selection.includes( itemId )\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} else {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId !== id && selection.includes( itemId )\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);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,eAAe,QAAQ,uBAAuB;AAEvD,eAAe,SAASC,uBAAuBA,CAAE;EAChDC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,IAAI;EACJC,SAAS;EACTC,YAAY;EACZC;AACD,CAAC,EAAG;EACH,MAAMC,EAAE,GAAGH,SAAS,CAAEF,IAAK,CAAC;EAC5B,MAAMM,UAAU,GAAGR,SAAS,CAACS,QAAQ,CAAEF,EAAG,CAAC;EAC3C,IAAIG,cAAc;EAClB,IAAKL,YAAY,EAAEM,QAAQ,IAAIT,IAAI,EAAG;IACrC;IACAQ,cAAc,GAAGb,OAAO,EACvB;IACAW,UAAU,GAAGZ,EAAE,CAAE,mBAAoB,CAAC,GAAGA,EAAE,CAAE,iBAAkB,CAAC,EAChES,YAAY,CAACM,QAAQ,CAAE;MAAET;IAAK,CAAE,CACjC,CAAC;EACF,CAAC,MAAM;IACNQ,cAAc,GAAGF,UAAU,GACxBZ,EAAE,CAAE,mBAAoB,CAAC,GACzBA,EAAE,CAAE,eAAgB,CAAC;EACzB;EACA,OACCgB,aAAA,CAACd,eAAe;IACfe,SAAS,EAAC,yCAAyC;IACnDC,uBAAuB;IACvBC,OAAO,EAAGP,UAAY;IACtBQ,KAAK,EAAGN,cAAgB;IACxBJ,QAAQ,EAAGA,QAAU;IACrBW,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAK,CAAET,UAAU,EAAG;QACnBP,iBAAiB,CAChBE,IAAI,CAACe,MAAM,CAAIC,KAAK,IAAM;UACzB,MAAMC,MAAM,GAAGhB,SAAS,GAAIe,KAAM,CAAC;UACnC,OACCC,MAAM,KAAKb,EAAE,IAAIP,SAAS,CAACS,QAAQ,CAAEW,MAAO,CAAC;QAE/C,CAAE,CACH,CAAC;MACF,CAAC,MAAM;QACNnB,iBAAiB,CAChBE,IAAI,CAACe,MAAM,CAAIC,KAAK,IAAM;UACzB,MAAMC,MAAM,GAAGhB,SAAS,GAAIe,KAAM,CAAC;UACnC,OACCC,MAAM,KAAKb,EAAE,IAAIP,SAAS,CAACS,QAAQ,CAAEW,MAAO,CAAC;QAE/C,CAAE,CACH,CAAC;MACF;IACD;EAAG,CACH,CAAC;AAEJ"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "react";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -8,6 +8,7 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
  import { __experimentalGrid as Grid, __experimentalHStack as HStack, __experimentalVStack as VStack, Tooltip } from '@wordpress/components';
11
+ import { __ } from '@wordpress/i18n';
11
12
  import { useAsyncList } from '@wordpress/compose';
12
13
  import { useState } from '@wordpress/element';
13
14
 
@@ -16,6 +17,7 @@ import { useState } from '@wordpress/element';
16
17
  */
17
18
  import ItemActions from './item-actions';
18
19
  import SingleSelectionCheckbox from './single-selection-checkbox';
20
+ import { useHasAPossibleBulkAction } from './bulk-actions';
19
21
  function GridItem({
20
22
  selection,
21
23
  data,
@@ -28,17 +30,18 @@ function GridItem({
28
30
  visibleFields
29
31
  }) {
30
32
  const [hasNoPointerEvents, setHasNoPointerEvents] = useState(false);
33
+ const hasBulkAction = useHasAPossibleBulkAction(actions, item);
31
34
  const id = getItemId(item);
32
35
  const isSelected = selection.includes(id);
33
36
  return createElement(VStack, {
34
37
  spacing: 0,
35
38
  key: id,
36
39
  className: classnames('dataviews-view-grid__card', {
37
- 'is-selected': isSelected,
40
+ 'is-selected': hasBulkAction && isSelected,
38
41
  'has-no-pointer-events': hasNoPointerEvents
39
42
  }),
40
43
  onMouseDown: event => {
41
- if (event.ctrlKey || event.metaKey) {
44
+ if (hasBulkAction && (event.ctrlKey || event.metaKey)) {
42
45
  setHasNoPointerEvents(true);
43
46
  if (!isSelected) {
44
47
  onSelectionChange(data.filter(_item => {
@@ -72,7 +75,8 @@ function GridItem({
72
75
  onSelectionChange: onSelectionChange,
73
76
  getItemId: getItemId,
74
77
  data: data,
75
- primaryField: primaryField
78
+ primaryField: primaryField,
79
+ disabled: !hasBulkAction
76
80
  }), createElement(HStack, {
77
81
  className: "dataviews-view-grid__primary-field"
78
82
  }, primaryField?.render({
@@ -108,6 +112,7 @@ export default function ViewGrid({
108
112
  fields,
109
113
  view,
110
114
  actions,
115
+ isLoading,
111
116
  getItemId,
112
117
  deferredRendering,
113
118
  selection,
@@ -120,11 +125,13 @@ export default function ViewGrid({
120
125
  step: 3
121
126
  });
122
127
  const usedData = deferredRendering ? shownData : data;
123
- return createElement(Grid, {
128
+ const hasData = !!usedData?.length;
129
+ return createElement(Fragment, null, hasData && createElement(Grid, {
124
130
  gap: 6,
125
131
  columns: 2,
126
132
  alignment: "top",
127
- className: "dataviews-view-grid"
133
+ className: "dataviews-view-grid",
134
+ "aria-busy": isLoading
128
135
  }, usedData.map(item => {
129
136
  return createElement(GridItem, {
130
137
  key: getItemId(item),
@@ -138,6 +145,11 @@ export default function ViewGrid({
138
145
  primaryField: primaryField,
139
146
  visibleFields: visibleFields
140
147
  });
141
- }));
148
+ })), !hasData && createElement("div", {
149
+ className: classnames({
150
+ 'dataviews-loading': isLoading,
151
+ 'dataviews-no-results': !isLoading
152
+ })
153
+ }, createElement("p", null, isLoading ? __('Loading…') : __('No results'))));
142
154
  }
143
155
  //# sourceMappingURL=view-grid.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Tooltip","useAsyncList","useState","ItemActions","SingleSelectionCheckbox","GridItem","selection","data","onSelectionChange","getItemId","item","actions","mediaField","primaryField","visibleFields","hasNoPointerEvents","setHasNoPointerEvents","id","isSelected","includes","createElement","spacing","key","className","onMouseDown","event","ctrlKey","metaKey","filter","_item","itemId","onClick","render","justify","isCompact","map","field","renderedValue","text","header","placement","ViewGrid","fields","view","deferredRendering","find","layout","hiddenFields","shownData","step","usedData","gap","columns","alignment"],"sources":["@wordpress/dataviews/src/view-grid.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTooltip,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\nimport SingleSelectionCheckbox from './single-selection-checkbox';\n\nfunction GridItem( {\n\tselection,\n\tdata,\n\tonSelectionChange,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n} ) {\n\tconst [ hasNoPointerEvents, setHasNoPointerEvents ] = useState( false );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ classnames( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'has-no-pointer-events': hasNoPointerEvents,\n\t\t\t} ) }\n\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tsetHasNoPointerEvents( true );\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\tonClick={ () => {\n\t\t\t\tif ( hasNoPointerEvents ) {\n\t\t\t\t\tsetHasNoPointerEvents( false );\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ mediaField?.render( { item } ) }\n\t\t\t</div>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\tid={ id }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 3 }>\n\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\tconst renderedValue = field.render( {\n\t\t\t\t\t\titem,\n\t\t\t\t\t} );\n\t\t\t\t\tif ( ! renderedValue ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field\"\n\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ field.header } placement=\"left\">\n\t\t\t\t\t\t\t\t<div className=\"dataviews-view-grid__field-value\">\n\t\t\t\t\t\t\t\t\t{ renderedValue }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid( {\n\tdata,\n\tfields,\n\tview,\n\tactions,\n\tgetItemId,\n\tdeferredRendering,\n\tselection,\n\tonSelectionChange,\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 visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField, view.layout.primaryField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\tconst shownData = useAsyncList( data, { step: 3 } );\n\tconst usedData = deferredRendering ? shownData : data;\n\treturn (\n\t\t<Grid\n\t\t\tgap={ 6 }\n\t\t\tcolumns={ 2 }\n\t\t\talignment=\"top\"\n\t\t\tclassName=\"dataviews-view-grid\"\n\t\t>\n\t\t\t{ usedData.map( ( item ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<GridItem\n\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tactions={ actions }\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/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Tooltip","__","useAsyncList","useState","ItemActions","SingleSelectionCheckbox","useHasAPossibleBulkAction","GridItem","selection","data","onSelectionChange","getItemId","item","actions","mediaField","primaryField","visibleFields","hasNoPointerEvents","setHasNoPointerEvents","hasBulkAction","id","isSelected","includes","createElement","spacing","key","className","onMouseDown","event","ctrlKey","metaKey","filter","_item","itemId","onClick","render","justify","disabled","isCompact","map","field","renderedValue","text","header","placement","ViewGrid","fields","view","isLoading","deferredRendering","find","layout","hiddenFields","shownData","step","usedData","hasData","length","Fragment","gap","columns","alignment"],"sources":["@wordpress/dataviews/src/view-grid.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTooltip,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\nimport SingleSelectionCheckbox from './single-selection-checkbox';\n\nimport { useHasAPossibleBulkAction } from './bulk-actions';\n\nfunction GridItem( {\n\tselection,\n\tdata,\n\tonSelectionChange,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n} ) {\n\tconst [ hasNoPointerEvents, setHasNoPointerEvents ] = useState( false );\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ classnames( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t\t'has-no-pointer-events': hasNoPointerEvents,\n\t\t\t} ) }\n\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\tif ( hasBulkAction && ( event.ctrlKey || event.metaKey ) ) {\n\t\t\t\t\tsetHasNoPointerEvents( true );\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\tonClick={ () => {\n\t\t\t\tif ( hasNoPointerEvents ) {\n\t\t\t\t\tsetHasNoPointerEvents( false );\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ mediaField?.render( { item } ) }\n\t\t\t</div>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\tid={ id }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 3 }>\n\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\tconst renderedValue = field.render( {\n\t\t\t\t\t\titem,\n\t\t\t\t\t} );\n\t\t\t\t\tif ( ! renderedValue ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field\"\n\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ field.header } placement=\"left\">\n\t\t\t\t\t\t\t\t<div className=\"dataviews-view-grid__field-value\">\n\t\t\t\t\t\t\t\t\t{ renderedValue }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid( {\n\tdata,\n\tfields,\n\tview,\n\tactions,\n\tisLoading,\n\tgetItemId,\n\tdeferredRendering,\n\tselection,\n\tonSelectionChange,\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 visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField, view.layout.primaryField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\tconst shownData = useAsyncList( data, { step: 3 } );\n\tconst usedData = deferredRendering ? shownData : data;\n\tconst hasData = !! usedData?.length;\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 6 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ usedData.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\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</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? __( 'Loading…' ) : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ import { __ } from '@wordpress/i18n';
11
11
  import { useAsyncList } from '@wordpress/compose';
12
12
  import { unseen, funnel } from '@wordpress/icons';
13
13
  import { Button, Icon, privateApis as componentsPrivateApis, CheckboxControl } from '@wordpress/components';
14
- import { forwardRef, useEffect, useId, useRef, useState, Children, Fragment } from '@wordpress/element';
14
+ import { forwardRef, useEffect, useId, useRef, useState, Children, Fragment, useMemo } from '@wordpress/element';
15
15
 
16
16
  /**
17
17
  * Internal dependencies
@@ -21,6 +21,7 @@ import { unlock } from './lock-unlock';
21
21
  import ItemActions from './item-actions';
22
22
  import { sanitizeOperators } from './utils';
23
23
  import { ENUMERATION_TYPE, SORTING_DIRECTIONS } from './constants';
24
+ import { useSomeItemHasAPossibleBulkAction, useHasAPossibleBulkAction } from './bulk-actions';
24
25
  const {
25
26
  DropdownMenuV2: DropdownMenu,
26
27
  DropdownMenuGroupV2: DropdownMenuGroup,
@@ -128,9 +129,15 @@ const HeaderMenu = forwardRef(function HeaderMenu({
128
129
  function BulkSelectionCheckbox({
129
130
  selection,
130
131
  onSelectionChange,
131
- data
132
+ data,
133
+ actions
132
134
  }) {
133
- const areAllSelected = selection.length === data.length;
135
+ const selectableItems = useMemo(() => {
136
+ return data.filter(item => {
137
+ return actions.some(action => action.supportsBulk && action.isEligible(item));
138
+ });
139
+ }, [data, actions]);
140
+ const areAllSelected = selection.length === selectableItems.length;
134
141
  return createElement(CheckboxControl, {
135
142
  className: "dataviews-view-table-selection-checkbox",
136
143
  __nextHasNoMarginBottom: true,
@@ -140,12 +147,66 @@ function BulkSelectionCheckbox({
140
147
  if (areAllSelected) {
141
148
  onSelectionChange([]);
142
149
  } else {
143
- onSelectionChange(data);
150
+ onSelectionChange(selectableItems);
144
151
  }
145
152
  },
146
153
  label: areAllSelected ? __('Deselect all') : __('Select all')
147
154
  });
148
155
  }
156
+ function TableRow({
157
+ hasBulkActions,
158
+ item,
159
+ actions,
160
+ id,
161
+ visibleFields,
162
+ primaryField,
163
+ selection,
164
+ getItemId,
165
+ onSelectionChange,
166
+ data
167
+ }) {
168
+ const hasPossibleBulkAction = useHasAPossibleBulkAction(actions, item);
169
+ return createElement("tr", {
170
+ className: classnames('dataviews-view-table__row', {
171
+ 'is-selected': hasPossibleBulkAction && selection.includes(id)
172
+ })
173
+ }, hasBulkActions && createElement("td", {
174
+ className: "dataviews-view-table__checkbox-column",
175
+ style: {
176
+ width: 20,
177
+ minWidth: 20
178
+ }
179
+ }, createElement("div", {
180
+ className: "dataviews-view-table__cell-content-wrapper"
181
+ }, createElement(SingleSelectionCheckbox, {
182
+ id: id,
183
+ item: item,
184
+ selection: selection,
185
+ onSelectionChange: onSelectionChange,
186
+ getItemId: getItemId,
187
+ data: data,
188
+ primaryField: primaryField,
189
+ disabled: !hasPossibleBulkAction
190
+ }))), visibleFields.map(field => createElement("td", {
191
+ key: field.id,
192
+ style: {
193
+ width: field.width || undefined,
194
+ minWidth: field.minWidth || undefined,
195
+ maxWidth: field.maxWidth || undefined
196
+ }
197
+ }, createElement("div", {
198
+ className: classnames('dataviews-view-table__cell-content-wrapper', {
199
+ 'dataviews-view-table__primary-field': primaryField?.id === field.id
200
+ })
201
+ }, field.render({
202
+ item
203
+ })))), !!actions?.length && createElement("td", {
204
+ className: "dataviews-view-table__actions-column"
205
+ }, createElement(ItemActions, {
206
+ item: item,
207
+ actions: actions
208
+ })));
209
+ }
149
210
  function ViewTable({
150
211
  view,
151
212
  onChangeView,
@@ -159,10 +220,10 @@ function ViewTable({
159
220
  onSelectionChange,
160
221
  setOpenedFilter
161
222
  }) {
162
- const hasBulkActions = actions?.some(action => action.supportsBulk);
163
223
  const headerMenuRefs = useRef(new Map());
164
224
  const headerMenuToFocusRef = useRef();
165
225
  const [nextHeaderMenuToFocus, setNextHeaderMenuToFocus] = useState();
226
+ const hasBulkActions = useSomeItemHasAPossibleBulkAction(actions, data);
166
227
  useEffect(() => {
167
228
  if (headerMenuToFocusRef.current) {
168
229
  headerMenuToFocusRef.current.focus();
@@ -212,7 +273,8 @@ function ViewTable({
212
273
  }, createElement(BulkSelectionCheckbox, {
213
274
  selection: selection,
214
275
  onSelectionChange: onSelectionChange,
215
- data: data
276
+ data: data,
277
+ actions: actions
216
278
  })), visibleFields.map((field, index) => createElement("th", {
217
279
  key: field.id,
218
280
  style: {
@@ -244,46 +306,19 @@ function ViewTable({
244
306
  className: "dataviews-view-table__actions-column"
245
307
  }, createElement("span", {
246
308
  className: "dataviews-view-table-header"
247
- }, __('Actions'))))), createElement("tbody", null, hasData && usedData.map((item, index) => createElement("tr", {
309
+ }, __('Actions'))))), createElement("tbody", null, hasData && usedData.map((item, index) => createElement(TableRow, {
248
310
  key: getItemId(item),
249
- className: classnames('dataviews-view-table__row', {
250
- 'is-selected': selection.includes(getItemId(item) || index)
251
- })
252
- }, hasBulkActions && createElement("td", {
253
- className: "dataviews-view-table__checkbox-column",
254
- style: {
255
- width: 20,
256
- minWidth: 20
257
- }
258
- }, createElement("div", {
259
- className: "dataviews-view-table__cell-content-wrapper"
260
- }, createElement(SingleSelectionCheckbox, {
261
- id: getItemId(item) || index,
262
311
  item: item,
312
+ hasBulkActions: hasBulkActions,
313
+ actions: actions,
314
+ id: getItemId(item) || index,
315
+ visibleFields: visibleFields,
316
+ primaryField: primaryField,
263
317
  selection: selection,
264
- onSelectionChange: onSelectionChange,
265
318
  getItemId: getItemId,
266
- data: data,
267
- primaryField: primaryField
268
- }))), visibleFields.map(field => createElement("td", {
269
- key: field.id,
270
- style: {
271
- width: field.width || undefined,
272
- minWidth: field.minWidth || undefined,
273
- maxWidth: field.maxWidth || undefined
274
- }
275
- }, createElement("div", {
276
- className: classnames('dataviews-view-table__cell-content-wrapper', {
277
- 'dataviews-view-table__primary-field': primaryField?.id === field.id
278
- })
279
- }, field.render({
280
- item
281
- })))), !!actions?.length && createElement("td", {
282
- className: "dataviews-view-table__actions-column"
283
- }, createElement(ItemActions, {
284
- item: item,
285
- actions: actions
286
- })))))), createElement("div", {
319
+ onSelectionChange: onSelectionChange,
320
+ data: data
321
+ })))), createElement("div", {
287
322
  className: classnames({
288
323
  'dataviews-loading': isLoading,
289
324
  'dataviews-no-results': !hasData && !isLoading
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","useAsyncList","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","forwardRef","useEffect","useId","useRef","useState","Children","Fragment","SingleSelectionCheckbox","unlock","ItemActions","sanitizeOperators","ENUMERATION_TYPE","SORTING_DIRECTIONS","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","WithSeparators","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","type","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","areAllSelected","__nextHasNoMarginBottom","indeterminate","ViewTable","fields","actions","getItemId","isLoading","deferredRendering","hasBulkActions","action","supportsBulk","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","current","focus","asyncData","tableNoticeId","hidden","get","fallback","node","visibleFields","includes","layout","mediaField","usedData","hasData","sortValues","primaryField","find","width","scope","index","maxWidth","set","delete","item","render"],"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 { useAsyncList } from '@wordpress/compose';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\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 { ENUMERATION_TYPE, SORTING_DIRECTIONS } from './constants';\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 WithSeparators( { 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\tfield.type === ENUMERATION_TYPE &&\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<WithSeparators>\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</WithSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\nfunction BulkSelectionCheckbox( { selection, onSelectionChange, data } ) {\n\tconst areAllSelected = selection.length === data.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( data );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tlabel={ areAllSelected ? __( 'Deselect all' ) : __( 'Select all' ) }\n\t\t/>\n\t);\n}\n\nfunction ViewTable( {\n\tview,\n\tonChangeView,\n\tfields,\n\tactions,\n\tdata,\n\tgetItemId,\n\tisLoading = false,\n\tdeferredRendering,\n\tselection,\n\tonSelectionChange,\n\tsetOpenedFilter,\n} ) {\n\tconst hasBulkActions = actions?.some( ( action ) => action.supportsBulk );\n\tconst headerMenuRefs = useRef( new Map() );\n\tconst headerMenuToFocusRef = useRef();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] = useState();\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 asyncData = useAsyncList( data );\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 usedData = deferredRendering ? asyncData : data;\n\tconst hasData = !! usedData?.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<div className=\"dataviews-view-table-wrapper\">\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: 20,\n\t\t\t\t\t\t\t\t\tminWidth: 20,\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/>\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\tusedData.map( ( item, index ) => (\n\t\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'dataviews-view-table__row',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-selected': selection.includes(\n\t\t\t\t\t\t\t\t\t\t\tgetItemId( item ) || index\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\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth: 20,\n\t\t\t\t\t\t\t\t\t\t\tminWidth: 20,\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<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetItemId( item ) || index\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\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\t\t\tonSelectionChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelectionChange\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\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\t\t\tminWidth:\n\t\t\t\t\t\t\t\t\t\t\t\tfield.minWidth || undefined,\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth:\n\t\t\t\t\t\t\t\t\t\t\t\tfield.maxWidth || undefined,\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<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t\t'dataviews-view-table__cell-content-wrapper',\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\t'dataviews-view-table__primary-field':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryField?.id ===\n\t\t\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) }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ field.render( {\n\t\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t\t\t<td className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</tr>\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 ? __( 'Loading…' ) : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","__","useAsyncList","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","forwardRef","useEffect","useId","useRef","useState","Children","Fragment","useMemo","SingleSelectionCheckbox","unlock","ItemActions","sanitizeOperators","ENUMERATION_TYPE","SORTING_DIRECTIONS","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","WithSeparators","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","type","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","includes","width","disabled","maxWidth","render","ViewTable","fields","isLoading","deferredRendering","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","current","focus","asyncData","tableNoticeId","hidden","get","fallback","node","layout","mediaField","usedData","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 { useAsyncList } from '@wordpress/compose';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n\tChildren,\n\tFragment,\n\tuseMemo,\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 { ENUMERATION_TYPE, 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 WithSeparators( { 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\tfield.type === ENUMERATION_TYPE &&\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<WithSeparators>\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</WithSeparators>\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\tlabel={ areAllSelected ? __( 'Deselect all' ) : __( 'Select all' ) }\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\treturn (\n\t\t<tr\n\t\t\tclassName={ classnames( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected':\n\t\t\t\t\thasPossibleBulkAction && selection.includes( id ),\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: 20,\n\t\t\t\t\t\tminWidth: 20,\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<td className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\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\tdeferredRendering,\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 asyncData = useAsyncList( data );\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 usedData = deferredRendering ? asyncData : data;\n\tconst hasData = !! usedData?.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<div className=\"dataviews-view-table-wrapper\">\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: 20,\n\t\t\t\t\t\t\t\t\tminWidth: 20,\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\tusedData.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 ? __( 'Loading…' ) : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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"}
@@ -117,19 +117,12 @@
117
117
  .dataviews-filters__view-actions {
118
118
  padding: 12px 32px 0;
119
119
  }
120
- .dataviews-filters__view-actions .components-search-control {
121
- flex-grow: 1;
122
- }
123
120
  .dataviews-filters__view-actions .components-search-control .components-base-control__field {
124
121
  max-width: 240px;
125
122
  }
126
123
 
127
124
  .dataviews-filters__container {
128
- padding: 0 32px;
129
- }
130
-
131
- .dataviews-filters__view-actions.components-h-stack {
132
- align-items: center;
125
+ padding-left: 32px;
133
126
  }
134
127
 
135
128
  .dataviews-filters-button {
@@ -148,6 +141,13 @@
148
141
  color: #757575;
149
142
  }
150
143
 
144
+ .dataviews-pagination__page-selection {
145
+ font-size: 11px;
146
+ text-transform: uppercase;
147
+ font-weight: 500;
148
+ color: #1e1e1e;
149
+ }
150
+
151
151
  .dataviews-filters-options {
152
152
  margin: 32px 0 16px;
153
153
  }
@@ -218,10 +218,10 @@
218
218
  .dataviews-view-table tr:hover {
219
219
  background-color: #f8f8f8;
220
220
  }
221
- .dataviews-view-table tr .components-checkbox-control__input {
221
+ .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input {
222
222
  opacity: 0;
223
223
  }
224
- .dataviews-view-table tr .components-checkbox-control__input:checked, .dataviews-view-table tr .components-checkbox-control__input:indeterminate, .dataviews-view-table tr .components-checkbox-control__input:focus {
224
+ .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:checked, .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:indeterminate, .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:focus {
225
225
  opacity: 1;
226
226
  }
227
227
  .dataviews-view-table tr:focus-within .components-checkbox-control__input, .dataviews-view-table tr:hover .components-checkbox-control__input {
@@ -282,6 +282,9 @@
282
282
  .dataviews-view-table .dataviews-view-table__actions-column {
283
283
  width: 1%;
284
284
  }
285
+ .dataviews-view-table:has(tr.is-selected) .components-checkbox-control__input {
286
+ opacity: 1;
287
+ }
285
288
 
286
289
  .dataviews-view-list__primary-field,
287
290
  .dataviews-view-grid__primary-field,
@@ -705,7 +708,7 @@
705
708
  .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-reset {
706
709
  padding-inline-end: 28px;
707
710
  }
708
- .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible {
711
+ .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip[aria-expanded=true] {
709
712
  background: #e0e0e0;
710
713
  color: #1e1e1e;
711
714
  }
@@ -713,8 +716,8 @@
713
716
  color: var(--wp-admin-theme-color);
714
717
  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
715
718
  }
716
- .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values:hover {
717
- background: rgba(var(--wp-admin-theme-color--rgb), 0.08);
719
+ .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values[aria-expanded=true] {
720
+ background: rgba(var(--wp-admin-theme-color--rgb), 0.12);
718
721
  }
719
722
  .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible {
720
723
  outline: none;