@wordpress/dataviews 0.6.0 → 0.8.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 (86) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +48 -15
  3. package/build/add-filter.js +0 -2
  4. package/build/add-filter.js.map +1 -1
  5. package/build/bulk-actions.js +41 -3
  6. package/build/bulk-actions.js.map +1 -1
  7. package/build/constants.js +28 -7
  8. package/build/constants.js.map +1 -1
  9. package/build/dataviews.js +34 -21
  10. package/build/dataviews.js.map +1 -1
  11. package/build/filter-summary.js +33 -12
  12. package/build/filter-summary.js.map +1 -1
  13. package/build/filters.js +10 -2
  14. package/build/filters.js.map +1 -1
  15. package/build/item-actions.js +20 -39
  16. package/build/item-actions.js.map +1 -1
  17. package/build/pagination.js +4 -3
  18. package/build/pagination.js.map +1 -1
  19. package/build/reset-filters.js +2 -1
  20. package/build/reset-filters.js.map +1 -1
  21. package/build/search-widget.js +117 -8
  22. package/build/search-widget.js.map +1 -1
  23. package/build/single-selection-checkbox.js +7 -2
  24. package/build/single-selection-checkbox.js.map +1 -1
  25. package/build/utils.js +24 -2
  26. package/build/utils.js.map +1 -1
  27. package/build/view-actions.js.map +1 -1
  28. package/build/view-grid.js +12 -13
  29. package/build/view-grid.js.map +1 -1
  30. package/build/view-list.js +1 -1
  31. package/build/view-list.js.map +1 -1
  32. package/build/view-table.js +111 -47
  33. package/build/view-table.js.map +1 -1
  34. package/build-module/add-filter.js +0 -2
  35. package/build-module/add-filter.js.map +1 -1
  36. package/build-module/bulk-actions.js +40 -4
  37. package/build-module/bulk-actions.js.map +1 -1
  38. package/build-module/constants.js +27 -6
  39. package/build-module/constants.js.map +1 -1
  40. package/build-module/dataviews.js +35 -22
  41. package/build-module/dataviews.js.map +1 -1
  42. package/build-module/filter-summary.js +34 -13
  43. package/build-module/filter-summary.js.map +1 -1
  44. package/build-module/filters.js +11 -3
  45. package/build-module/filters.js.map +1 -1
  46. package/build-module/item-actions.js +20 -39
  47. package/build-module/item-actions.js.map +1 -1
  48. package/build-module/pagination.js +4 -3
  49. package/build-module/pagination.js.map +1 -1
  50. package/build-module/reset-filters.js +2 -1
  51. package/build-module/reset-filters.js.map +1 -1
  52. package/build-module/search-widget.js +120 -11
  53. package/build-module/search-widget.js.map +1 -1
  54. package/build-module/single-selection-checkbox.js +7 -2
  55. package/build-module/single-selection-checkbox.js.map +1 -1
  56. package/build-module/utils.js +25 -3
  57. package/build-module/utils.js.map +1 -1
  58. package/build-module/view-actions.js.map +1 -1
  59. package/build-module/view-grid.js +13 -14
  60. package/build-module/view-grid.js.map +1 -1
  61. package/build-module/view-list.js +2 -2
  62. package/build-module/view-list.js.map +1 -1
  63. package/build-module/view-table.js +113 -49
  64. package/build-module/view-table.js.map +1 -1
  65. package/build-style/style-rtl.css +76 -46
  66. package/build-style/style.css +76 -46
  67. package/package.json +11 -11
  68. package/src/add-filter.js +0 -2
  69. package/src/bulk-actions.js +54 -4
  70. package/src/constants.js +35 -6
  71. package/src/dataviews.js +66 -49
  72. package/src/filter-summary.js +76 -23
  73. package/src/filters.js +16 -5
  74. package/src/item-actions.js +19 -55
  75. package/src/pagination.js +8 -3
  76. package/src/reset-filters.js +2 -1
  77. package/src/search-widget.js +182 -15
  78. package/src/single-selection-checkbox.js +7 -1
  79. package/src/stories/fixtures.js +12 -1
  80. package/src/stories/index.story.js +43 -4
  81. package/src/style.scss +108 -73
  82. package/src/utils.js +38 -4
  83. package/src/view-actions.js +1 -1
  84. package/src/view-grid.js +13 -12
  85. package/src/view-list.js +2 -1
  86. package/src/view-table.js +162 -81
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_components","_keycodes","_icons","_i18n","ViewList","view","fields","data","isLoading","getItemId","onSelectionChange","onDetailsChange","selection","deferredRendering","shownData","useAsyncList","step","usedData","mediaField","find","field","id","layout","primaryField","visibleFields","filter","hiddenFields","includes","onEnter","item","event","keyCode","ENTER","SPACE","hasData","length","_react","createElement","className","classNames","__","map","key","__experimentalHStack","role","tabIndex","onKeyDown","onClick","spacing","justify","alignment","render","__experimentalVStack","Button","icon","info","label","size"],"sources":["@wordpress/dataviews/src/view-list.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useAsyncList } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n} from '@wordpress/components';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { info } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ViewList( {\n\tview,\n\tfields,\n\tdata,\n\tisLoading,\n\tgetItemId,\n\tonSelectionChange,\n\tonDetailsChange,\n\tselection,\n\tdeferredRendering,\n} ) {\n\tconst shownData = useAsyncList( data, { step: 3 } );\n\tconst usedData = deferredRendering ? shownData : data;\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.primaryField, view.layout.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onEnter = ( item ) => ( event ) => {\n\t\tconst { keyCode } = event;\n\t\tif ( [ ENTER, SPACE ].includes( keyCode ) ) {\n\t\t\tonSelectionChange( [ item ] );\n\t\t}\n\t};\n\n\tconst hasData = usedData?.length;\n\tif ( ! hasData ) {\n\t\treturn (\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>\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);\n\t}\n\n\treturn (\n\t\t<ul className=\"dataviews-view-list\">\n\t\t\t{ usedData.map( ( item ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\tclassName={ classNames( {\n\t\t\t\t\t\t\t'is-selected': selection.includes( item.id ),\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\t\taria-pressed={ selection.includes( item.id ) }\n\t\t\t\t\t\t\t\tonKeyDown={ onEnter( item ) }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\t\t\tonClick={ () => onSelectionChange( [ item ] ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t\t\t{ mediaField?.render( { item } ) || (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__primary-field\">\n\t\t\t\t\t\t\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__fields\">\n\t\t\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\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\t\t\t\titem,\n\t\t\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</span>\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</div>\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ onDetailsChange && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__details-button\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tonDetailsChange( [ item ] )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ticon={ info }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'View details' ) }\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ul>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAWe,SAASM,QAAQA,CAAE;EACjCC,IAAI;EACJC,MAAM;EACNC,IAAI;EACJC,SAAS;EACTC,SAAS;EACTC,iBAAiB;EACjBC,eAAe;EACfC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,MAAMC,SAAS,GAAG,IAAAC,qBAAY,EAAER,IAAI,EAAE;IAAES,IAAI,EAAE;EAAE,CAAE,CAAC;EACnD,MAAMC,QAAQ,GAAGJ,iBAAiB,GAAGC,SAAS,GAAGP,IAAI;EACrD,MAAMW,UAAU,GAAGZ,MAAM,CAACa,IAAI,CAC3BC,KAAK,IAAMA,KAAK,CAACC,EAAE,KAAKhB,IAAI,CAACiB,MAAM,CAACJ,UACvC,CAAC;EACD,MAAMK,YAAY,GAAGjB,MAAM,CAACa,IAAI,CAC7BC,KAAK,IAAMA,KAAK,CAACC,EAAE,KAAKhB,IAAI,CAACiB,MAAM,CAACC,YACvC,CAAC;EACD,MAAMC,aAAa,GAAGlB,MAAM,CAACmB,MAAM,CAChCL,KAAK,IACN,CAAEf,IAAI,CAACqB,YAAY,CAACC,QAAQ,CAAEP,KAAK,CAACC,EAAG,CAAC,IACxC,CAAE,CAAEhB,IAAI,CAACiB,MAAM,CAACC,YAAY,EAAElB,IAAI,CAACiB,MAAM,CAACJ,UAAU,CAAE,CAACS,QAAQ,CAC9DP,KAAK,CAACC,EACP,CACF,CAAC;EAED,MAAMO,OAAO,GAAKC,IAAI,IAAQC,KAAK,IAAM;IACxC,MAAM;MAAEC;IAAQ,CAAC,GAAGD,KAAK;IACzB,IAAK,CAAEE,eAAK,EAAEC,eAAK,CAAE,CAACN,QAAQ,CAAEI,OAAQ,CAAC,EAAG;MAC3CrB,iBAAiB,CAAE,CAAEmB,IAAI,CAAG,CAAC;IAC9B;EACD,CAAC;EAED,MAAMK,OAAO,GAAGjB,QAAQ,EAAEkB,MAAM;EAChC,IAAK,CAAED,OAAO,EAAG;IAChB,OACC,IAAAE,MAAA,CAAAC,aAAA;MACCC,SAAS,EAAG,IAAAC,mBAAU,EAAE;QACvB,mBAAmB,EAAE/B,SAAS;QAC9B,sBAAsB,EAAE,CAAE0B,OAAO,IAAI,CAAE1B;MACxC,CAAE;IAAG,GAEH,CAAE0B,OAAO,IACV,IAAAE,MAAA,CAAAC,aAAA,aAAK7B,SAAS,GAAG,IAAAgC,QAAE,EAAE,UAAW,CAAC,GAAG,IAAAA,QAAE,EAAE,YAAa,CAAM,CAExD,CAAC;EAER;EAEA,OACC,IAAAJ,MAAA,CAAAC,aAAA;IAAIC,SAAS,EAAC;EAAqB,GAChCrB,QAAQ,CAACwB,GAAG,CAAIZ,IAAI,IAAM;IAC3B,OACC,IAAAO,MAAA,CAAAC,aAAA;MACCK,GAAG,EAAGjC,SAAS,CAAEoB,IAAK,CAAG;MACzBS,SAAS,EAAG,IAAAC,mBAAU,EAAE;QACvB,aAAa,EAAE3B,SAAS,CAACe,QAAQ,CAAEE,IAAI,CAACR,EAAG;MAC5C,CAAE;IAAG,GAEL,IAAAe,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAA2C,oBAAM;MAACL,SAAS,EAAC;IAAmC,GACpD,IAAAF,MAAA,CAAAC,aAAA;MACCO,IAAI,EAAC,QAAQ;MACbC,QAAQ,EAAG,CAAG;MACd,gBAAejC,SAAS,CAACe,QAAQ,CAAEE,IAAI,CAACR,EAAG,CAAG;MAC9CyB,SAAS,EAAGlB,OAAO,CAAEC,IAAK,CAAG;MAC7BS,SAAS,EAAC,2BAA2B;MACrCS,OAAO,EAAGA,CAAA,KAAMrC,iBAAiB,CAAE,CAAEmB,IAAI,CAAG;IAAG,GAE/C,IAAAO,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAA2C,oBAAM;MACNK,OAAO,EAAG,CAAG;MACbC,OAAO,EAAC,OAAO;MACfC,SAAS,EAAC;IAAY,GAEtB,IAAAd,MAAA,CAAAC,aAAA;MAAKC,SAAS,EAAC;IAAoC,GAChDpB,UAAU,EAAEiC,MAAM,CAAE;MAAEtB;IAAK,CAAE,CAAC,IAC/B,IAAAO,MAAA,CAAAC,aAAA;MAAKC,SAAS,EAAC;IAAwC,CAAM,CAE1D,CAAC,EACN,IAAAF,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAoD,oBAAM;MAACJ,OAAO,EAAG;IAAG,GACpB,IAAAZ,MAAA,CAAAC,aAAA;MAAMC,SAAS,EAAC;IAAoC,GACjDf,YAAY,EAAE4B,MAAM,CAAE;MAAEtB;IAAK,CAAE,CAC5B,CAAC,EACP,IAAAO,MAAA,CAAAC,aAAA;MAAKC,SAAS,EAAC;IAA6B,GACzCd,aAAa,CAACiB,GAAG,CAAIrB,KAAK,IAAM;MACjC,OACC,IAAAgB,MAAA,CAAAC,aAAA;QACCK,GAAG,EAAGtB,KAAK,CAACC,EAAI;QAChBiB,SAAS,EAAC;MAA4B,GAEpClB,KAAK,CAAC+B,MAAM,CAAE;QACftB;MACD,CAAE,CACG,CAAC;IAET,CAAE,CACE,CACE,CACD,CACJ,CAAC,EACJlB,eAAe,IAChB,IAAAyB,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAqD,MAAM;MACNf,SAAS,EAAC,qCAAqC;MAC/CS,OAAO,EAAGA,CAAA,KACTpC,eAAe,CAAE,CAAEkB,IAAI,CAAG,CAC1B;MACDyB,IAAI,EAAGC,WAAM;MACbC,KAAK,EAAG,IAAAhB,QAAE,EAAE,cAAe,CAAG;MAC9BiB,IAAI,EAAC;IAAS,CACd,CAEK,CACL,CAAC;EAEP,CAAE,CACC,CAAC;AAEP"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_components","_keycodes","_icons","_i18n","ViewList","view","fields","data","isLoading","getItemId","onSelectionChange","onDetailsChange","selection","deferredRendering","shownData","useAsyncList","step","usedData","mediaField","find","field","id","layout","primaryField","visibleFields","filter","hiddenFields","includes","onEnter","item","event","keyCode","ENTER","SPACE","hasData","length","_react","createElement","className","classNames","Spinner","__","map","key","__experimentalHStack","role","tabIndex","onKeyDown","onClick","spacing","justify","alignment","render","__experimentalVStack","Button","icon","info","label","size"],"sources":["@wordpress/dataviews/src/view-list.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useAsyncList } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { info } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ViewList( {\n\tview,\n\tfields,\n\tdata,\n\tisLoading,\n\tgetItemId,\n\tonSelectionChange,\n\tonDetailsChange,\n\tselection,\n\tdeferredRendering,\n} ) {\n\tconst shownData = useAsyncList( data, { step: 3 } );\n\tconst usedData = deferredRendering ? shownData : data;\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.primaryField, view.layout.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onEnter = ( item ) => ( event ) => {\n\t\tconst { keyCode } = event;\n\t\tif ( [ ENTER, SPACE ].includes( keyCode ) ) {\n\t\t\tonSelectionChange( [ item ] );\n\t\t}\n\t};\n\n\tconst hasData = usedData?.length;\n\tif ( ! hasData ) {\n\t\treturn (\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>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ul className=\"dataviews-view-list\">\n\t\t\t{ usedData.map( ( item ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\tclassName={ classNames( {\n\t\t\t\t\t\t\t'is-selected': selection.includes( item.id ),\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\t\taria-pressed={ selection.includes( item.id ) }\n\t\t\t\t\t\t\t\tonKeyDown={ onEnter( item ) }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\t\t\tonClick={ () => onSelectionChange( [ item ] ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t\t\t{ mediaField?.render( { item } ) || (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__primary-field\">\n\t\t\t\t\t\t\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__fields\">\n\t\t\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\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\t\t\t\titem,\n\t\t\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</span>\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</div>\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ onDetailsChange && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__details-button\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tonDetailsChange( [ item ] )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ticon={ info }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'View details' ) }\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ul>\n\t);\n}\n"],"mappings":"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"}
@@ -17,6 +17,7 @@ var _lockUnlock = require("./lock-unlock");
17
17
  var _itemActions = _interopRequireDefault(require("./item-actions"));
18
18
  var _utils = require("./utils");
19
19
  var _constants = require("./constants");
20
+ var _bulkActions = require("./bulk-actions");
20
21
  /**
21
22
  * External dependencies
22
23
  */
@@ -37,7 +38,7 @@ const {
37
38
  DropdownMenuItemLabelV2: DropdownMenuItemLabel,
38
39
  DropdownMenuSeparatorV2: DropdownMenuSeparator
39
40
  } = (0, _lockUnlock.unlock)(_components.privateApis);
40
- function WithSeparators({
41
+ function WithDropDownMenuSeparators({
41
42
  children
42
43
  }) {
43
44
  return _element.Children.toArray(children).filter(Boolean).map((child, i) => (0, _react.createElement)(_element.Fragment, {
@@ -80,7 +81,7 @@ const HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
80
81
  style: {
81
82
  minWidth: '240px'
82
83
  }
83
- }, (0, _react.createElement)(WithSeparators, null, isSortable && (0, _react.createElement)(DropdownMenuGroup, null, Object.entries(_constants.SORTING_DIRECTIONS).map(([direction, info]) => {
84
+ }, (0, _react.createElement)(WithDropDownMenuSeparators, null, isSortable && (0, _react.createElement)(DropdownMenuGroup, null, Object.entries(_constants.SORTING_DIRECTIONS).map(([direction, info]) => {
84
85
  const isChecked = isSorted && view.sort.direction === direction;
85
86
  const value = `${field.id}-${direction}`;
86
87
  return (0, _react.createElement)(DropdownMenuRadioItem, {
@@ -136,9 +137,15 @@ const HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
136
137
  function BulkSelectionCheckbox({
137
138
  selection,
138
139
  onSelectionChange,
139
- data
140
+ data,
141
+ actions
140
142
  }) {
141
- const areAllSelected = selection.length === data.length;
143
+ const selectableItems = (0, _element.useMemo)(() => {
144
+ return data.filter(item => {
145
+ return actions.some(action => action.supportsBulk && action.isEligible(item));
146
+ });
147
+ }, [data, actions]);
148
+ const areAllSelected = selection.length === selectableItems.length;
142
149
  return (0, _react.createElement)(_components.CheckboxControl, {
143
150
  className: "dataviews-view-table-selection-checkbox",
144
151
  __nextHasNoMarginBottom: true,
@@ -148,12 +155,97 @@ function BulkSelectionCheckbox({
148
155
  if (areAllSelected) {
149
156
  onSelectionChange([]);
150
157
  } else {
151
- onSelectionChange(data);
158
+ onSelectionChange(selectableItems);
152
159
  }
153
160
  },
154
161
  label: areAllSelected ? (0, _i18n.__)('Deselect all') : (0, _i18n.__)('Select all')
155
162
  });
156
163
  }
164
+ function TableRow({
165
+ hasBulkActions,
166
+ item,
167
+ actions,
168
+ id,
169
+ visibleFields,
170
+ primaryField,
171
+ selection,
172
+ getItemId,
173
+ onSelectionChange,
174
+ data
175
+ }) {
176
+ const hasPossibleBulkAction = (0, _bulkActions.useHasAPossibleBulkAction)(actions, item);
177
+ const isSelected = selection.includes(id);
178
+ const [isHovered, setIsHovered] = (0, _element.useState)(false);
179
+ const handleMouseEnter = () => {
180
+ setIsHovered(true);
181
+ };
182
+ const handleMouseLeave = () => {
183
+ setIsHovered(false);
184
+ };
185
+ return (0, _react.createElement)("tr", {
186
+ className: (0, _classnames.default)('dataviews-view-table__row', {
187
+ 'is-selected': hasPossibleBulkAction && selection.includes(id),
188
+ 'is-hovered': isHovered
189
+ }),
190
+ onMouseEnter: handleMouseEnter,
191
+ onMouseLeave: handleMouseLeave,
192
+ onClickCapture: event => {
193
+ if (event.ctrlKey || event.metaKey) {
194
+ event.stopPropagation();
195
+ event.preventDefault();
196
+ if (!hasPossibleBulkAction) {
197
+ return;
198
+ }
199
+ if (!isSelected) {
200
+ onSelectionChange(data.filter(_item => {
201
+ const itemId = getItemId?.(_item);
202
+ return itemId === id || selection.includes(itemId);
203
+ }));
204
+ } else {
205
+ onSelectionChange(data.filter(_item => {
206
+ const itemId = getItemId?.(_item);
207
+ return itemId !== id && selection.includes(itemId);
208
+ }));
209
+ }
210
+ }
211
+ }
212
+ }, hasBulkActions && (0, _react.createElement)("td", {
213
+ className: "dataviews-view-table__checkbox-column",
214
+ style: {
215
+ width: 20,
216
+ minWidth: 20
217
+ }
218
+ }, (0, _react.createElement)("div", {
219
+ className: "dataviews-view-table__cell-content-wrapper"
220
+ }, (0, _react.createElement)(_singleSelectionCheckbox.default, {
221
+ id: id,
222
+ item: item,
223
+ selection: selection,
224
+ onSelectionChange: onSelectionChange,
225
+ getItemId: getItemId,
226
+ data: data,
227
+ primaryField: primaryField,
228
+ disabled: !hasPossibleBulkAction
229
+ }))), visibleFields.map(field => (0, _react.createElement)("td", {
230
+ key: field.id,
231
+ style: {
232
+ width: field.width || undefined,
233
+ minWidth: field.minWidth || undefined,
234
+ maxWidth: field.maxWidth || undefined
235
+ }
236
+ }, (0, _react.createElement)("div", {
237
+ className: (0, _classnames.default)('dataviews-view-table__cell-content-wrapper', {
238
+ 'dataviews-view-table__primary-field': primaryField?.id === field.id
239
+ })
240
+ }, field.render({
241
+ item
242
+ })))), !!actions?.length && (0, _react.createElement)("td", {
243
+ className: "dataviews-view-table__actions-column"
244
+ }, (0, _react.createElement)(_itemActions.default, {
245
+ item: item,
246
+ actions: actions
247
+ })));
248
+ }
157
249
  function ViewTable({
158
250
  view,
159
251
  onChangeView,
@@ -167,10 +259,10 @@ function ViewTable({
167
259
  onSelectionChange,
168
260
  setOpenedFilter
169
261
  }) {
170
- const hasBulkActions = actions?.some(action => action.supportsBulk);
171
262
  const headerMenuRefs = (0, _element.useRef)(new Map());
172
263
  const headerMenuToFocusRef = (0, _element.useRef)();
173
264
  const [nextHeaderMenuToFocus, setNextHeaderMenuToFocus] = (0, _element.useState)();
265
+ const hasBulkActions = (0, _bulkActions.useSomeItemHasAPossibleBulkAction)(actions, data);
174
266
  (0, _element.useEffect)(() => {
175
267
  if (headerMenuToFocusRef.current) {
176
268
  headerMenuToFocusRef.current.focus();
@@ -201,9 +293,7 @@ function ViewTable({
201
293
  desc: 'descending'
202
294
  };
203
295
  const primaryField = fields.find(field => field.id === view.layout.primaryField);
204
- return (0, _react.createElement)("div", {
205
- className: "dataviews-view-table-wrapper"
206
- }, (0, _react.createElement)("table", {
296
+ return (0, _react.createElement)(_element.Fragment, null, (0, _react.createElement)("table", {
207
297
  className: "dataviews-view-table",
208
298
  "aria-busy": isLoading,
209
299
  "aria-describedby": tableNoticeId
@@ -220,7 +310,8 @@ function ViewTable({
220
310
  }, (0, _react.createElement)(BulkSelectionCheckbox, {
221
311
  selection: selection,
222
312
  onSelectionChange: onSelectionChange,
223
- data: data
313
+ data: data,
314
+ actions: actions
224
315
  })), visibleFields.map((field, index) => (0, _react.createElement)("th", {
225
316
  key: field.id,
226
317
  style: {
@@ -252,52 +343,25 @@ function ViewTable({
252
343
  className: "dataviews-view-table__actions-column"
253
344
  }, (0, _react.createElement)("span", {
254
345
  className: "dataviews-view-table-header"
255
- }, (0, _i18n.__)('Actions'))))), (0, _react.createElement)("tbody", null, hasData && usedData.map((item, index) => (0, _react.createElement)("tr", {
346
+ }, (0, _i18n.__)('Actions'))))), (0, _react.createElement)("tbody", null, hasData && usedData.map((item, index) => (0, _react.createElement)(TableRow, {
256
347
  key: getItemId(item),
257
- className: (0, _classnames.default)('dataviews-view-table__row', {
258
- 'is-selected': selection.includes(getItemId(item) || index)
259
- })
260
- }, hasBulkActions && (0, _react.createElement)("td", {
261
- className: "dataviews-view-table__checkbox-column",
262
- style: {
263
- width: 20,
264
- minWidth: 20
265
- }
266
- }, (0, _react.createElement)("div", {
267
- className: "dataviews-view-table__cell-content-wrapper"
268
- }, (0, _react.createElement)(_singleSelectionCheckbox.default, {
269
- id: getItemId(item) || index,
270
348
  item: item,
349
+ hasBulkActions: hasBulkActions,
350
+ actions: actions,
351
+ id: getItemId(item) || index,
352
+ visibleFields: visibleFields,
353
+ primaryField: primaryField,
271
354
  selection: selection,
272
- onSelectionChange: onSelectionChange,
273
355
  getItemId: getItemId,
274
- data: data,
275
- primaryField: primaryField
276
- }))), visibleFields.map(field => (0, _react.createElement)("td", {
277
- key: field.id,
278
- style: {
279
- width: field.width || undefined,
280
- minWidth: field.minWidth || undefined,
281
- maxWidth: field.maxWidth || undefined
282
- }
283
- }, (0, _react.createElement)("div", {
284
- className: (0, _classnames.default)('dataviews-view-table__cell-content-wrapper', {
285
- 'dataviews-view-table__primary-field': primaryField?.id === field.id
286
- })
287
- }, field.render({
288
- item
289
- })))), !!actions?.length && (0, _react.createElement)("td", {
290
- className: "dataviews-view-table__actions-column"
291
- }, (0, _react.createElement)(_itemActions.default, {
292
- item: item,
293
- actions: actions
294
- })))))), (0, _react.createElement)("div", {
356
+ onSelectionChange: onSelectionChange,
357
+ data: data
358
+ })))), (0, _react.createElement)("div", {
295
359
  className: (0, _classnames.default)({
296
360
  'dataviews-loading': isLoading,
297
361
  'dataviews-no-results': !hasData && !isLoading
298
362
  }),
299
363
  id: tableNoticeId
300
- }, !hasData && (0, _react.createElement)("p", null, isLoading ? (0, _i18n.__)('Loading…') : (0, _i18n.__)('No results'))));
364
+ }, !hasData && (0, _react.createElement)("p", null, isLoading ? (0, _react.createElement)(_components.Spinner, null) : (0, _i18n.__)('No results'))));
301
365
  }
302
366
  var _default = exports.default = ViewTable;
303
367
  //# sourceMappingURL=view-table.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_compose","_icons","_components","_element","_singleSelectionCheckbox","_lockUnlock","_itemActions","_utils","_constants","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","unlock","componentsPrivateApis","WithSeparators","children","Children","toArray","filter","Boolean","map","child","i","_react","createElement","Fragment","key","sortArrows","asc","desc","HeaderMenu","forwardRef","field","view","onChangeView","onHide","setOpenedFilter","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","operators","sanitizeOperators","canAddFilter","filters","some","_filter","type","ENUMERATION_TYPE","length","filterBy","isPrimary","header","align","trigger","Button","size","className","variant","direction","style","minWidth","Object","entries","SORTING_DIRECTIONS","info","isChecked","value","name","checked","onChange","label","prefix","Icon","icon","funnel","onClick","page","undefined","operator","__","unseen","hiddenFields","concat","BulkSelectionCheckbox","selection","onSelectionChange","data","areAllSelected","CheckboxControl","__nextHasNoMarginBottom","indeterminate","ViewTable","fields","actions","getItemId","isLoading","deferredRendering","hasBulkActions","action","supportsBulk","headerMenuRefs","useRef","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","useState","useEffect","current","focus","asyncData","useAsyncList","tableNoticeId","useId","hidden","get","fallback","node","visibleFields","includes","layout","mediaField","usedData","hasData","sortValues","primaryField","find","width","scope","index","maxWidth","set","delete","item","classnames","default","render","_default","exports"],"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":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAMA,IAAAK,QAAA,GAAAL,OAAA;AAaA,IAAAM,wBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AAlCA;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;;AAOA,MAAM;EACLW,cAAc,EAAEC,YAAY;EAC5BC,mBAAmB,EAAEC,iBAAiB;EACtCC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC,qBAAqB;EAC9CC,uBAAuB,EAAEC,qBAAqB;EAC9CC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEnC,SAASC,cAAcA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACvC,OAAOC,iBAAQ,CAACC,OAAO,CAAEF,QAAS,CAAC,CACjCG,MAAM,CAAEC,OAAQ,CAAC,CACjBC,GAAG,CAAE,CAAEC,KAAK,EAAEC,CAAC,KACf,IAAAC,MAAA,CAAAC,aAAA,EAAC9B,QAAA,CAAA+B,QAAQ;IAACC,GAAG,EAAGJ;EAAG,GAChBA,CAAC,GAAG,CAAC,IAAI,IAAAC,MAAA,CAAAC,aAAA,EAACb,qBAAqB,MAAE,CAAC,EAClCU,KACO,CACT,CAAC;AACL;AAEA,MAAMM,UAAU,GAAG;EAAEC,GAAG,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAI,CAAC;AAE1C,MAAMC,UAAU,GAAG,IAAAC,mBAAU,EAAE,SAASD,UAAUA,CACjD;EAAEE,KAAK;EAAEC,IAAI;EAAEC,YAAY;EAAEC,MAAM;EAAEC;AAAgB,CAAC,EACtDC,GAAG,EACF;EACD,MAAMC,SAAS,GAAGN,KAAK,CAACO,YAAY,KAAK,KAAK;EAC9C,MAAMC,UAAU,GAAGR,KAAK,CAACS,aAAa,KAAK,KAAK;EAChD,MAAMC,QAAQ,GAAGT,IAAI,CAACU,IAAI,EAAEX,KAAK,KAAKA,KAAK,CAACY,EAAE;EAC9C,MAAMC,SAAS,GAAG,IAAAC,wBAAiB,EAAEd,KAAM,CAAC;EAC5C;EACA;EACA;EACA;EACA,MAAMe,YAAY,GACjB,CAAEd,IAAI,CAACe,OAAO,EAAEC,IAAI,CAAIC,OAAO,IAAMlB,KAAK,CAACY,EAAE,KAAKM,OAAO,CAAClB,KAAM,CAAC,IACjEA,KAAK,CAACmB,IAAI,KAAKC,2BAAgB,IAC/B,CAAC,CAAEP,SAAS,CAACQ,MAAM,IACnB,CAAErB,KAAK,CAACsB,QAAQ,EAAEC,SAAS;EAC5B,IAAK,CAAEf,UAAU,IAAI,CAAEF,SAAS,IAAI,CAAES,YAAY,EAAG;IACpD,OAAOf,KAAK,CAACwB,MAAM;EACpB;EACA,OACC,IAAAjC,MAAA,CAAAC,aAAA,EAACvB,YAAY;IACZwD,KAAK,EAAC,OAAO;IACbC,OAAO,EACN,IAAAnC,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAAkE,MAAM;MACNC,IAAI,EAAC,SAAS;MACdC,SAAS,EAAC,oCAAoC;MAC9CxB,GAAG,EAAGA,GAAK;MACXyB,OAAO,EAAC;IAAU,GAEhB9B,KAAK,CAACwB,MAAM,EACZd,QAAQ,IACT,IAAAnB,MAAA,CAAAC,aAAA;MAAM,eAAY;IAAM,GACrBkB,QAAQ,IAAIf,UAAU,CAAEM,IAAI,CAACU,IAAI,CAACoB,SAAS,CACxC,CAEA,CACR;IACDC,KAAK,EAAG;MAAEC,QAAQ,EAAE;IAAQ;EAAG,GAE/B,IAAA1C,MAAA,CAAAC,aAAA,EAACV,cAAc,QACZ0B,UAAU,IACX,IAAAjB,MAAA,CAAAC,aAAA,EAACrB,iBAAiB,QACf+D,MAAM,CAACC,OAAO,CAAEC,6BAAmB,CAAC,CAAChD,GAAG,CACzC,CAAE,CAAE2C,SAAS,EAAEM,IAAI,CAAE,KAAM;IAC1B,MAAMC,SAAS,GACd5B,QAAQ,IACRT,IAAI,CAACU,IAAI,CAACoB,SAAS,KAAKA,SAAS;IAElC,MAAMQ,KAAK,GAAI,GAAGvC,KAAK,CAACY,EAAI,IAAImB,SAAW,EAAC;IAE5C,OACC,IAAAxC,MAAA,CAAAC,aAAA,EAACjB,qBAAqB;MACrBmB,GAAG,EAAG6C;MACN;MACA;MACA;MACA;MACA;MAAA;MACAC,IAAI,EAAC,oBAAoB;MACzBD,KAAK,EAAGA,KAAO;MACfE,OAAO,EAAGH,SAAW;MACrBI,QAAQ,EAAGA,CAAA,KAAM;QAChBxC,YAAY,CAAE;UACb,GAAGD,IAAI;UACPU,IAAI,EAAE;YACLX,KAAK,EAAEA,KAAK,CAACY,EAAE;YACfmB;UACD;QACD,CAAE,CAAC;MACJ;IAAG,GAEH,IAAAxC,MAAA,CAAAC,aAAA,EAACf,qBAAqB,QACnB4D,IAAI,CAACM,KACe,CACD,CAAC;EAE1B,CACD,CACkB,CACnB,EACC5B,YAAY,IACb,IAAAxB,MAAA,CAAAC,aAAA,EAACrB,iBAAiB,QACjB,IAAAoB,MAAA,CAAAC,aAAA,EAACnB,gBAAgB;IAChBuE,MAAM,EAAG,IAAArD,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAAoF,IAAI;MAACC,IAAI,EAAGC;IAAQ,CAAE,CAAG;IACnCC,OAAO,EAAGA,CAAA,KAAM;MACf5C,eAAe,CAAEJ,KAAK,CAACY,EAAG,CAAC;MAC3BV,YAAY,CAAE;QACb,GAAGD,IAAI;QACPgD,IAAI,EAAE,CAAC;QACPjC,OAAO,EAAE,CACR,IAAKf,IAAI,CAACe,OAAO,IAAI,EAAE,CAAE,EACzB;UACChB,KAAK,EAAEA,KAAK,CAACY,EAAE;UACf2B,KAAK,EAAEW,SAAS;UAChBC,QAAQ,EAAEtC,SAAS,CAAE,CAAC;QACvB,CAAC;MAEH,CAAE,CAAC;IACJ;EAAG,GAEH,IAAAtB,MAAA,CAAAC,aAAA,EAACf,qBAAqB,QACnB,IAAA2E,QAAE,EAAE,YAAa,CACG,CACN,CACA,CACnB,EACC9C,SAAS,IACV,IAAAf,MAAA,CAAAC,aAAA,EAACnB,gBAAgB;IAChBuE,MAAM,EAAG,IAAArD,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAAoF,IAAI;MAACC,IAAI,EAAGO;IAAQ,CAAE,CAAG;IACnCL,OAAO,EAAGA,CAAA,KAAM;MACf7C,MAAM,CAAEH,KAAM,CAAC;MACfE,YAAY,CAAE;QACb,GAAGD,IAAI;QACPqD,YAAY,EAAErD,IAAI,CAACqD,YAAY,CAACC,MAAM,CACrCvD,KAAK,CAACY,EACP;MACD,CAAE,CAAC;IACJ;EAAG,GAEH,IAAArB,MAAA,CAAAC,aAAA,EAACf,qBAAqB,QACnB,IAAA2E,QAAE,EAAE,MAAO,CACS,CACN,CAEJ,CACH,CAAC;AAEjB,CAAE,CAAC;AAEH,SAASI,qBAAqBA,CAAE;EAAEC,SAAS;EAAEC,iBAAiB;EAAEC;AAAK,CAAC,EAAG;EACxE,MAAMC,cAAc,GAAGH,SAAS,CAACpC,MAAM,KAAKsC,IAAI,CAACtC,MAAM;EACvD,OACC,IAAA9B,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAAoG,eAAe;IACfhC,SAAS,EAAC,yCAAyC;IACnDiC,uBAAuB;IACvBrB,OAAO,EAAGmB,cAAgB;IAC1BG,aAAa,EAAG,CAAEH,cAAc,IAAIH,SAAS,CAACpC,MAAQ;IACtDqB,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAKkB,cAAc,EAAG;QACrBF,iBAAiB,CAAE,EAAG,CAAC;MACxB,CAAC,MAAM;QACNA,iBAAiB,CAAEC,IAAK,CAAC;MAC1B;IACD,CAAG;IACHhB,KAAK,EAAGiB,cAAc,GAAG,IAAAR,QAAE,EAAE,cAAe,CAAC,GAAG,IAAAA,QAAE,EAAE,YAAa;EAAG,CACpE,CAAC;AAEJ;AAEA,SAASY,SAASA,CAAE;EACnB/D,IAAI;EACJC,YAAY;EACZ+D,MAAM;EACNC,OAAO;EACPP,IAAI;EACJQ,SAAS;EACTC,SAAS,GAAG,KAAK;EACjBC,iBAAiB;EACjBZ,SAAS;EACTC,iBAAiB;EACjBtD;AACD,CAAC,EAAG;EACH,MAAMkE,cAAc,GAAGJ,OAAO,EAAEjD,IAAI,CAAIsD,MAAM,IAAMA,MAAM,CAACC,YAAa,CAAC;EACzE,MAAMC,cAAc,GAAG,IAAAC,eAAM,EAAE,IAAIC,GAAG,CAAC,CAAE,CAAC;EAC1C,MAAMC,oBAAoB,GAAG,IAAAF,eAAM,EAAC,CAAC;EACrC,MAAM,CAAEG,qBAAqB,EAAEC,wBAAwB,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAEtE,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKJ,oBAAoB,CAACK,OAAO,EAAG;MACnCL,oBAAoB,CAACK,OAAO,CAACC,KAAK,CAAC,CAAC;MACpCN,oBAAoB,CAACK,OAAO,GAAG/B,SAAS;IACzC;EACD,CAAE,CAAC;EAEH,MAAMiC,SAAS,GAAG,IAAAC,qBAAY,EAAEzB,IAAK,CAAC;EACtC,MAAM0B,aAAa,GAAG,IAAAC,cAAK,EAAC,CAAC;EAE7B,IAAKT,qBAAqB,EAAG;IAC5B;IACA;IACA;IACA;IACAD,oBAAoB,CAACK,OAAO,GAAGJ,qBAAqB;IACpDC,wBAAwB,CAAC,CAAC;IAC1B;EACD;EAEA,MAAM3E,MAAM,GAAKH,KAAK,IAAM;IAC3B,MAAMuF,MAAM,GAAGd,cAAc,CAACQ,OAAO,CAACO,GAAG,CAAExF,KAAK,CAACY,EAAG,CAAC;IACrD,MAAM6E,QAAQ,GAAGhB,cAAc,CAACQ,OAAO,CAACO,GAAG,CAAED,MAAM,CAACE,QAAS,CAAC;IAC9DX,wBAAwB,CAAEW,QAAQ,EAAEC,IAAK,CAAC;EAC3C,CAAC;EACD,MAAMC,aAAa,GAAG1B,MAAM,CAAC/E,MAAM,CAChCc,KAAK,IACN,CAAEC,IAAI,CAACqD,YAAY,CAACsC,QAAQ,CAAE5F,KAAK,CAACY,EAAG,CAAC,IACxC,CAAE,CAAEX,IAAI,CAAC4F,MAAM,CAACC,UAAU,CAAE,CAACF,QAAQ,CAAE5F,KAAK,CAACY,EAAG,CAClD,CAAC;EACD,MAAMmF,QAAQ,GAAG1B,iBAAiB,GAAGc,SAAS,GAAGxB,IAAI;EACrD,MAAMqC,OAAO,GAAG,CAAC,CAAED,QAAQ,EAAE1E,MAAM;EACnC,MAAM4E,UAAU,GAAG;IAAErG,GAAG,EAAE,WAAW;IAAEC,IAAI,EAAE;EAAa,CAAC;EAE3D,MAAMqG,YAAY,GAAGjC,MAAM,CAACkC,IAAI,CAC7BnG,KAAK,IAAMA,KAAK,CAACY,EAAE,KAAKX,IAAI,CAAC4F,MAAM,CAACK,YACvC,CAAC;EAED,OACC,IAAA3G,MAAA,CAAAC,aAAA;IAAKqC,SAAS,EAAC;EAA8B,GAC5C,IAAAtC,MAAA,CAAAC,aAAA;IACCqC,SAAS,EAAC,sBAAsB;IAChC,aAAYuC,SAAW;IACvB,oBAAmBiB;EAAe,GAElC,IAAA9F,MAAA,CAAAC,aAAA,iBACC,IAAAD,MAAA,CAAAC,aAAA;IAAIqC,SAAS,EAAC;EAA2B,GACtCyC,cAAc,IACf,IAAA/E,MAAA,CAAAC,aAAA;IACCqC,SAAS,EAAC,uCAAuC;IACjDG,KAAK,EAAG;MACPoE,KAAK,EAAE,EAAE;MACTnE,QAAQ,EAAE;IACX,CAAG;IACH,iBAAc,WAAW;IACzBoE,KAAK,EAAC;EAAK,GAEX,IAAA9G,MAAA,CAAAC,aAAA,EAACgE,qBAAqB;IACrBC,SAAS,EAAGA,SAAW;IACvBC,iBAAiB,EAAGA,iBAAmB;IACvCC,IAAI,EAAGA;EAAM,CACb,CACE,CACJ,EACCgC,aAAa,CAACvG,GAAG,CAAE,CAAEY,KAAK,EAAEsG,KAAK,KAClC,IAAA/G,MAAA,CAAAC,aAAA;IACCE,GAAG,EAAGM,KAAK,CAACY,EAAI;IAChBoB,KAAK,EAAG;MACPoE,KAAK,EAAEpG,KAAK,CAACoG,KAAK,IAAIlD,SAAS;MAC/BjB,QAAQ,EAAEjC,KAAK,CAACiC,QAAQ,IAAIiB,SAAS;MACrCqD,QAAQ,EAAEvG,KAAK,CAACuG,QAAQ,IAAIrD;IAC7B,CAAG;IACH,iBAAgBlD,KAAK,CAACY,EAAI;IAC1B,aACCX,IAAI,CAACU,IAAI,EAAEX,KAAK,KAAKA,KAAK,CAACY,EAAE,IAC7BqF,UAAU,CAAEhG,IAAI,CAACU,IAAI,CAACoB,SAAS,CAC/B;IACDsE,KAAK,EAAC;EAAK,GAEX,IAAA9G,MAAA,CAAAC,aAAA,EAACM,UAAU;IACVO,GAAG,EAAKqF,IAAI,IAAM;MACjB,IAAKA,IAAI,EAAG;QACXjB,cAAc,CAACQ,OAAO,CAACuB,GAAG,CACzBxG,KAAK,CAACY,EAAE,EACR;UACC8E,IAAI;UACJD,QAAQ,EACPE,aAAa,CACZW,KAAK,GAAG,CAAC,GACNA,KAAK,GAAG,CAAC,GACT,CAAC,CACJ,EAAE1F;QACL,CACD,CAAC;MACF,CAAC,MAAM;QACN6D,cAAc,CAACQ,OAAO,CAACwB,MAAM,CAC5BzG,KAAK,CAACY,EACP,CAAC;MACF;IACD,CAAG;IACHZ,KAAK,EAAGA,KAAO;IACfC,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA,YAAc;IAC7BC,MAAM,EAAGA,MAAQ;IACjBC,eAAe,EAAGA;EAAiB,CACnC,CACE,CACH,CAAC,EACD,CAAC,CAAE8D,OAAO,EAAE7C,MAAM,IACnB,IAAA9B,MAAA,CAAAC,aAAA;IACC,iBAAc,SAAS;IACvBqC,SAAS,EAAC;EAAsC,GAEhD,IAAAtC,MAAA,CAAAC,aAAA;IAAMqC,SAAS,EAAC;EAA6B,GAC1C,IAAAuB,QAAE,EAAE,SAAU,CACX,CACH,CAEF,CACE,CAAC,EACR,IAAA7D,MAAA,CAAAC,aAAA,iBACGwG,OAAO,IACRD,QAAQ,CAAC3G,GAAG,CAAE,CAAEsH,IAAI,EAAEJ,KAAK,KAC1B,IAAA/G,MAAA,CAAAC,aAAA;IACCE,GAAG,EAAGyE,SAAS,CAAEuC,IAAK,CAAG;IACzB7E,SAAS,EAAG,IAAA8E,mBAAU,EACrB,2BAA2B,EAC3B;MACC,aAAa,EAAElD,SAAS,CAACmC,QAAQ,CAChCzB,SAAS,CAAEuC,IAAK,CAAC,IAAIJ,KACtB;IACD,CACD;EAAG,GAEDhC,cAAc,IACf,IAAA/E,MAAA,CAAAC,aAAA;IACCqC,SAAS,EAAC,uCAAuC;IACjDG,KAAK,EAAG;MACPoE,KAAK,EAAE,EAAE;MACTnE,QAAQ,EAAE;IACX;EAAG,GAEH,IAAA1C,MAAA,CAAAC,aAAA;IAAKqC,SAAS,EAAC;EAA4C,GAC1D,IAAAtC,MAAA,CAAAC,aAAA,EAAC7B,wBAAA,CAAAiJ,OAAuB;IACvBhG,EAAE,EACDuD,SAAS,CAAEuC,IAAK,CAAC,IAAIJ,KACrB;IACDI,IAAI,EAAGA,IAAM;IACbjD,SAAS,EAAGA,SAAW;IACvBC,iBAAiB,EAChBA,iBACA;IACDS,SAAS,EAAGA,SAAW;IACvBR,IAAI,EAAGA,IAAM;IACbuC,YAAY,EAAGA;EAAc,CAC7B,CACG,CACF,CACJ,EACCP,aAAa,CAACvG,GAAG,CAAIY,KAAK,IAC3B,IAAAT,MAAA,CAAAC,aAAA;IACCE,GAAG,EAAGM,KAAK,CAACY,EAAI;IAChBoB,KAAK,EAAG;MACPoE,KAAK,EAAEpG,KAAK,CAACoG,KAAK,IAAIlD,SAAS;MAC/BjB,QAAQ,EACPjC,KAAK,CAACiC,QAAQ,IAAIiB,SAAS;MAC5BqD,QAAQ,EACPvG,KAAK,CAACuG,QAAQ,IAAIrD;IACpB;EAAG,GAEH,IAAA3D,MAAA,CAAAC,aAAA;IACCqC,SAAS,EAAG,IAAA8E,mBAAU,EACrB,4CAA4C,EAC5C;MACC,qCAAqC,EACpCT,YAAY,EAAEtF,EAAE,KAChBZ,KAAK,CAACY;IACR,CACD;EAAG,GAEDZ,KAAK,CAAC6G,MAAM,CAAE;IACfH;EACD,CAAE,CACE,CACF,CACH,CAAC,EACD,CAAC,CAAExC,OAAO,EAAE7C,MAAM,IACnB,IAAA9B,MAAA,CAAAC,aAAA;IAAIqC,SAAS,EAAC;EAAsC,GACnD,IAAAtC,MAAA,CAAAC,aAAA,EAAC3B,YAAA,CAAA+I,OAAW;IACXF,IAAI,EAAGA,IAAM;IACbxC,OAAO,EAAGA;EAAS,CACnB,CACE,CAEF,CACH,CACG,CACD,CAAC,EACR,IAAA3E,MAAA,CAAAC,aAAA;IACCqC,SAAS,EAAG,IAAA8E,mBAAU,EAAE;MACvB,mBAAmB,EAAEvC,SAAS;MAC9B,sBAAsB,EAAE,CAAE4B,OAAO,IAAI,CAAE5B;IACxC,CAAE,CAAG;IACLxD,EAAE,EAAGyE;EAAe,GAElB,CAAEW,OAAO,IACV,IAAAzG,MAAA,CAAAC,aAAA,aAAK4E,SAAS,GAAG,IAAAhB,QAAE,EAAE,UAAW,CAAC,GAAG,IAAAA,QAAE,EAAE,YAAa,CAAM,CAExD,CACD,CAAC;AAER;AAAC,IAAA0D,QAAA,GAAAC,OAAA,CAAAH,OAAA,GAEc5C,SAAS"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_compose","_icons","_components","_element","_singleSelectionCheckbox","_lockUnlock","_itemActions","_utils","_constants","_bulkActions","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","unlock","componentsPrivateApis","WithDropDownMenuSeparators","children","Children","toArray","filter","Boolean","map","child","i","_react","createElement","Fragment","key","sortArrows","asc","desc","HeaderMenu","forwardRef","field","view","onChangeView","onHide","setOpenedFilter","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","operators","sanitizeOperators","canAddFilter","filters","some","_filter","type","ENUMERATION_TYPE","length","filterBy","isPrimary","header","align","trigger","Button","size","className","variant","direction","style","minWidth","Object","entries","SORTING_DIRECTIONS","info","isChecked","value","name","checked","onChange","label","prefix","Icon","icon","funnel","onClick","page","undefined","operator","__","unseen","hiddenFields","concat","BulkSelectionCheckbox","selection","onSelectionChange","data","actions","selectableItems","useMemo","item","action","supportsBulk","isEligible","areAllSelected","CheckboxControl","__nextHasNoMarginBottom","indeterminate","TableRow","hasBulkActions","visibleFields","primaryField","getItemId","hasPossibleBulkAction","useHasAPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","useState","handleMouseEnter","handleMouseLeave","classnames","onMouseEnter","onMouseLeave","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","_item","itemId","width","default","disabled","maxWidth","render","ViewTable","fields","isLoading","deferredRendering","headerMenuRefs","useRef","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","useSomeItemHasAPossibleBulkAction","useEffect","current","focus","asyncData","useAsyncList","tableNoticeId","useId","hidden","get","fallback","node","layout","mediaField","usedData","hasData","sortValues","find","scope","index","set","delete","Spinner","_default","exports"],"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\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 { 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 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\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<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\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\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\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\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\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: 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<>\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 ? <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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"}
@@ -3,7 +3,6 @@ import { createElement } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { privateApis as componentsPrivateApis, Button } from '@wordpress/components';
6
- import { plus } from '@wordpress/icons';
7
6
  import { __ } from '@wordpress/i18n';
8
7
  import { forwardRef } from '@wordpress/element';
9
8
 
@@ -32,7 +31,6 @@ function AddFilter({
32
31
  trigger: createElement(Button, {
33
32
  __experimentalIsFocusable: true,
34
33
  size: "compact",
35
- icon: plus,
36
34
  className: "dataviews-filters-button",
37
35
  variant: "tertiary",
38
36
  disabled: !inactiveFilters.length,
@@ -1 +1 @@
1
- {"version":3,"names":["privateApis","componentsPrivateApis","Button","plus","__","forwardRef","unlock","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","AddFilter","filters","view","onChangeView","setOpenedFilter","ref","length","every","isPrimary","inactiveFilters","filter","isVisible","createElement","trigger","__experimentalIsFocusable","size","icon","className","variant","disabled","map","key","field","onClick","page","value","undefined","operator","operators","name"],"sources":["@wordpress/dataviews/src/add-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\nfunction AddFilter( { filters, view, onChangeView, setOpenedFilter }, ref ) {\n\tif ( ! filters.length || filters.every( ( { isPrimary } ) => isPrimary ) ) {\n\t\treturn null;\n\t}\n\tconst inactiveFilters = filters.filter( ( filter ) => ! filter.isVisible );\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tclassName=\"dataviews-filters-button\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdisabled={ ! inactiveFilters.length }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t{ inactiveFilters.map( ( filter ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetOpenedFilter( filter.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\tpage: 1,\n\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\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>\n\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ filter.name }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nexport default forwardRef( AddFilter );\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,WAAW,IAAIC,qBAAqB,EACpCC,MAAM,QACA,uBAAuB;AAC9B,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,eAAe;AAEtC,MAAM;EACLC,cAAc,EAAEC,YAAY;EAC5BC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGN,MAAM,CAAEL,qBAAsB,CAAC;AAEnC,SAASY,SAASA,CAAE;EAAEC,OAAO;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAgB,CAAC,EAAEC,GAAG,EAAG;EAC3E,IAAK,CAAEJ,OAAO,CAACK,MAAM,IAAIL,OAAO,CAACM,KAAK,CAAE,CAAE;IAAEC;EAAU,CAAC,KAAMA,SAAU,CAAC,EAAG;IAC1E,OAAO,IAAI;EACZ;EACA,MAAMC,eAAe,GAAGR,OAAO,CAACS,MAAM,CAAIA,MAAM,IAAM,CAAEA,MAAM,CAACC,SAAU,CAAC;EAC1E,OACCC,aAAA,CAACjB,YAAY;IACZkB,OAAO,EACND,aAAA,CAACvB,MAAM;MACNyB,yBAAyB;MACzBC,IAAI,EAAC,SAAS;MACdC,IAAI,EAAG1B,IAAM;MACb2B,SAAS,EAAC,0BAA0B;MACpCC,OAAO,EAAC,UAAU;MAClBC,QAAQ,EAAG,CAAEV,eAAe,CAACH,MAAQ;MACrCD,GAAG,EAAGA;IAAK,GAETd,EAAE,CAAE,YAAa,CACZ;EACR,GAECkB,eAAe,CAACW,GAAG,CAAIV,MAAM,IAAM;IACpC,OACCE,aAAA,CAACf,gBAAgB;MAChBwB,GAAG,EAAGX,MAAM,CAACY,KAAO;MACpBC,OAAO,EAAGA,CAAA,KAAM;QACfnB,eAAe,CAAEM,MAAM,CAACY,KAAM,CAAC;QAC/BnB,YAAY,CAAE;UACb,GAAGD,IAAI;UACPsB,IAAI,EAAE,CAAC;UACPvB,OAAO,EAAE,CACR,IAAKC,IAAI,CAACD,OAAO,IAAI,EAAE,CAAE,EACzB;YACCqB,KAAK,EAAEZ,MAAM,CAACY,KAAK;YACnBG,KAAK,EAAEC,SAAS;YAChBC,QAAQ,EAAEjB,MAAM,CAACkB,SAAS,CAAE,CAAC;UAC9B,CAAC;QAEH,CAAE,CAAC;MACJ;IAAG,GAEHhB,aAAA,CAACb,qBAAqB,QACnBW,MAAM,CAACmB,IACa,CACN,CAAC;EAErB,CAAE,CACW,CAAC;AAEjB;AAEA,eAAerC,UAAU,CAAEQ,SAAU,CAAC"}
1
+ {"version":3,"names":["privateApis","componentsPrivateApis","Button","__","forwardRef","unlock","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","AddFilter","filters","view","onChangeView","setOpenedFilter","ref","length","every","isPrimary","inactiveFilters","filter","isVisible","createElement","trigger","__experimentalIsFocusable","size","className","variant","disabled","map","key","field","onClick","page","value","undefined","operator","operators","name"],"sources":["@wordpress/dataviews/src/add-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\nfunction AddFilter( { filters, view, onChangeView, setOpenedFilter }, ref ) {\n\tif ( ! filters.length || filters.every( ( { isPrimary } ) => isPrimary ) ) {\n\t\treturn null;\n\t}\n\tconst inactiveFilters = filters.filter( ( filter ) => ! filter.isVisible );\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-filters-button\"\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tdisabled={ ! inactiveFilters.length }\n\t\t\t\t\tref={ ref }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t{ inactiveFilters.map( ( filter ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetOpenedFilter( filter.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\tpage: 1,\n\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\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>\n\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ filter.name }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nexport default forwardRef( AddFilter );\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,WAAW,IAAIC,qBAAqB,EACpCC,MAAM,QACA,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,eAAe;AAEtC,MAAM;EACLC,cAAc,EAAEC,YAAY;EAC5BC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGN,MAAM,CAAEJ,qBAAsB,CAAC;AAEnC,SAASW,SAASA,CAAE;EAAEC,OAAO;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAgB,CAAC,EAAEC,GAAG,EAAG;EAC3E,IAAK,CAAEJ,OAAO,CAACK,MAAM,IAAIL,OAAO,CAACM,KAAK,CAAE,CAAE;IAAEC;EAAU,CAAC,KAAMA,SAAU,CAAC,EAAG;IAC1E,OAAO,IAAI;EACZ;EACA,MAAMC,eAAe,GAAGR,OAAO,CAACS,MAAM,CAAIA,MAAM,IAAM,CAAEA,MAAM,CAACC,SAAU,CAAC;EAC1E,OACCC,aAAA,CAACjB,YAAY;IACZkB,OAAO,EACND,aAAA,CAACtB,MAAM;MACNwB,yBAAyB;MACzBC,IAAI,EAAC,SAAS;MACdC,SAAS,EAAC,0BAA0B;MACpCC,OAAO,EAAC,UAAU;MAClBC,QAAQ,EAAG,CAAET,eAAe,CAACH,MAAQ;MACrCD,GAAG,EAAGA;IAAK,GAETd,EAAE,CAAE,YAAa,CACZ;EACR,GAECkB,eAAe,CAACU,GAAG,CAAIT,MAAM,IAAM;IACpC,OACCE,aAAA,CAACf,gBAAgB;MAChBuB,GAAG,EAAGV,MAAM,CAACW,KAAO;MACpBC,OAAO,EAAGA,CAAA,KAAM;QACflB,eAAe,CAAEM,MAAM,CAACW,KAAM,CAAC;QAC/BlB,YAAY,CAAE;UACb,GAAGD,IAAI;UACPqB,IAAI,EAAE,CAAC;UACPtB,OAAO,EAAE,CACR,IAAKC,IAAI,CAACD,OAAO,IAAI,EAAE,CAAE,EACzB;YACCoB,KAAK,EAAEX,MAAM,CAACW,KAAK;YACnBG,KAAK,EAAEC,SAAS;YAChBC,QAAQ,EAAEhB,MAAM,CAACiB,SAAS,CAAE,CAAC;UAC9B,CAAC;QAEH,CAAE,CAAC;MACJ;IAAG,GAEHf,aAAA,CAACb,qBAAqB,QACnBW,MAAM,CAACkB,IACa,CACN,CAAC;EAErB,CAAE,CACW,CAAC;AAEjB;AAEA,eAAepC,UAAU,CAAEQ,SAAU,CAAC"}
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "react";
4
4
  */
5
5
  import { privateApis as componentsPrivateApis, Button, Modal } from '@wordpress/components';
6
6
  import { __, sprintf, _n } from '@wordpress/i18n';
7
- import { useMemo, useState, useCallback } from '@wordpress/element';
7
+ import { useMemo, useState, useCallback, useEffect } from '@wordpress/element';
8
8
 
9
9
  /**
10
10
  * Internal dependencies
@@ -16,6 +16,22 @@ const {
16
16
  DropdownMenuItemV2: DropdownMenuItem,
17
17
  DropdownMenuSeparatorV2: DropdownMenuSeparator
18
18
  } = unlock(componentsPrivateApis);
19
+ export function useHasAPossibleBulkAction(actions, item) {
20
+ return useMemo(() => {
21
+ return actions.some(action => {
22
+ return action.supportsBulk && action.isEligible(item);
23
+ });
24
+ }, [actions, item]);
25
+ }
26
+ export function useSomeItemHasAPossibleBulkAction(actions, data) {
27
+ return useMemo(() => {
28
+ return data.some(item => {
29
+ return actions.some(action => {
30
+ return action.supportsBulk && action.isEligible(item);
31
+ });
32
+ });
33
+ }, [actions, data]);
34
+ }
19
35
  function ActionWithModal({
20
36
  action,
21
37
  selectedItems,
@@ -86,12 +102,32 @@ export default function BulkActions({
86
102
  getItemId
87
103
  }) {
88
104
  const bulkActions = useMemo(() => actions.filter(action => action.supportsBulk), [actions]);
89
- const areAllSelected = selection && selection.length === data.length;
90
105
  const [isMenuOpen, onMenuOpenChange] = useState(false);
91
106
  const [actionWithModal, setActionWithModal] = useState();
107
+ const selectableItems = useMemo(() => {
108
+ return data.filter(item => {
109
+ return bulkActions.some(action => action.isEligible(item));
110
+ });
111
+ }, [data, bulkActions]);
112
+ const numberSelectableItems = selectableItems.length;
113
+ const areAllSelected = selection && selection.length === numberSelectableItems;
92
114
  const selectedItems = useMemo(() => {
93
115
  return data.filter(item => selection.includes(getItemId(item)));
94
116
  }, [selection, data, getItemId]);
117
+ const hasNonSelectableItemSelected = useMemo(() => {
118
+ return selectedItems.some(item => {
119
+ return !selectableItems.includes(item);
120
+ });
121
+ }, [selectedItems, selectableItems]);
122
+ useEffect(() => {
123
+ if (hasNonSelectableItemSelected) {
124
+ onSelectionChange(selectedItems.filter(selectedItem => {
125
+ return selectableItems.some(item => {
126
+ return getItemId(selectedItem) === getItemId(item);
127
+ });
128
+ }));
129
+ }
130
+ }, [hasNonSelectableItemSelected, selectedItems, selectableItems, getItemId, onSelectionChange]);
95
131
  if (bulkActions.length === 0) {
96
132
  return null;
97
133
  }
@@ -117,9 +153,9 @@ export default function BulkActions({
117
153
  disabled: areAllSelected,
118
154
  hideOnClick: false,
119
155
  onClick: () => {
120
- onSelectionChange(data);
156
+ onSelectionChange(selectableItems);
121
157
  },
122
- suffix: data.length
158
+ suffix: numberSelectableItems
123
159
  }, __('Select all')), createElement(DropdownMenuItem, {
124
160
  disabled: selection.length === 0,
125
161
  hideOnClick: false,
@@ -1 +1 @@
1
- {"version":3,"names":["privateApis","componentsPrivateApis","Button","Modal","__","sprintf","_n","useMemo","useState","useCallback","unlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","ActionWithModal","action","selectedItems","setActionWithModal","onMenuOpenChange","eligibleItems","filter","item","isEligible","RenderModal","hideModalHeader","onCloseModal","undefined","createElement","title","label","__experimentalHideHeader","onRequestClose","overlayClassName","items","closeModal","onPerform","BulkActionItem","shouldShowModal","key","id","disabled","length","hideOnClick","onClick","callback","suffix","ActionsMenuGroup","actions","Fragment","map","BulkActions","data","selection","onSelectionChange","getItemId","bulkActions","supportsBulk","areAllSelected","isMenuOpen","actionWithModal","includes","open","onOpenChange","style","minWidth","trigger","className","__next40pxDefaultSize","variant","size"],"sources":["@wordpress/dataviews/src/bulk-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useMemo, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\nfunction ActionWithModal( {\n\taction,\n\tselectedItems,\n\tsetActionWithModal,\n\tonMenuOpenChange,\n} ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter( ( item ) => action.isEligible( item ) );\n\t}, [ action, selectedItems ] );\n\tconst { RenderModal, hideModalHeader } = action;\n\tconst onCloseModal = useCallback( () => {\n\t\tsetActionWithModal( undefined );\n\t}, [ setActionWithModal ] );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ ! hideModalHeader && action.label }\n\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\tonRequestClose={ onCloseModal }\n\t\t\toverlayClassName=\"dataviews-action-modal\"\n\t\t>\n\t\t\t<RenderModal\n\t\t\t\titems={ eligibleItems }\n\t\t\t\tcloseModal={ onCloseModal }\n\t\t\t\tonPerform={ () => onMenuOpenChange( false ) }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nfunction BulkActionItem( { action, selectedItems, setActionWithModal } ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter( ( item ) => action.isEligible( item ) );\n\t}, [ action, selectedItems ] );\n\n\tconst shouldShowModal = !! action.RenderModal;\n\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tkey={ action.id }\n\t\t\tdisabled={ eligibleItems.length === 0 }\n\t\t\thideOnClick={ ! shouldShowModal }\n\t\t\tonClick={ async () => {\n\t\t\t\tif ( shouldShowModal ) {\n\t\t\t\t\tsetActionWithModal( action );\n\t\t\t\t} else {\n\t\t\t\t\tawait action.callback( eligibleItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tsuffix={\n\t\t\t\teligibleItems.length > 0 ? eligibleItems.length : undefined\n\t\t\t}\n\t\t>\n\t\t\t{ action.label }\n\t\t</DropdownMenuItem>\n\t);\n}\n\nfunction ActionsMenuGroup( { actions, selectedItems, setActionWithModal } ) {\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t\t<BulkActionItem\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</DropdownMenuGroup>\n\t\t\t<DropdownMenuSeparator />\n\t\t</>\n\t);\n}\n\nexport default function BulkActions( {\n\tdata,\n\tactions,\n\tselection,\n\tonSelectionChange,\n\tgetItemId,\n} ) {\n\tconst bulkActions = useMemo(\n\t\t() => actions.filter( ( action ) => action.supportsBulk ),\n\t\t[ actions ]\n\t);\n\tconst areAllSelected = selection && selection.length === data.length;\n\tconst [ isMenuOpen, onMenuOpenChange ] = useState( false );\n\tconst [ actionWithModal, setActionWithModal ] = useState();\n\tconst selectedItems = useMemo( () => {\n\t\treturn data.filter( ( item ) =>\n\t\t\tselection.includes( getItemId( item ) )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\n\tif ( bulkActions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\topen={ isMenuOpen }\n\t\t\t\tonOpenChange={ onMenuOpenChange }\n\t\t\t\tlabel={ __( 'Bulk actions' ) }\n\t\t\t\tstyle={ { minWidth: '240px' } }\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-bulk-edit-button\"\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ selection.length\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Number of items. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'Edit %d item',\n\t\t\t\t\t\t\t\t\t\t'Edit %d items',\n\t\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Bulk edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\tactions={ bulkActions }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t/>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ areAllSelected }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( data );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={ data.length }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Select all' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ selection.length === 0 }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Deselect' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</DropdownMenu>\n\t\t\t{ actionWithModal && (\n\t\t\t\t<ActionWithModal\n\t\t\t\t\taction={ actionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tonMenuOpenChange={ onMenuOpenChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["privateApis","componentsPrivateApis","Button","Modal","__","sprintf","_n","useMemo","useState","useCallback","useEffect","unlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","useHasAPossibleBulkAction","actions","item","some","action","supportsBulk","isEligible","useSomeItemHasAPossibleBulkAction","data","ActionWithModal","selectedItems","setActionWithModal","onMenuOpenChange","eligibleItems","filter","RenderModal","hideModalHeader","onCloseModal","undefined","createElement","title","label","__experimentalHideHeader","onRequestClose","overlayClassName","items","closeModal","onPerform","BulkActionItem","shouldShowModal","key","id","disabled","length","hideOnClick","onClick","callback","suffix","ActionsMenuGroup","Fragment","map","BulkActions","selection","onSelectionChange","getItemId","bulkActions","isMenuOpen","actionWithModal","selectableItems","numberSelectableItems","areAllSelected","includes","hasNonSelectableItemSelected","selectedItem","open","onOpenChange","style","minWidth","trigger","className","__next40pxDefaultSize","variant","size"],"sources":["@wordpress/dataviews/src/bulk-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\nexport function useHasAPossibleBulkAction( actions, item ) {\n\treturn useMemo( () => {\n\t\treturn actions.some( ( action ) => {\n\t\t\treturn action.supportsBulk && action.isEligible( item );\n\t\t} );\n\t}, [ actions, item ] );\n}\n\nexport function useSomeItemHasAPossibleBulkAction( actions, data ) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn action.supportsBulk && action.isEligible( item );\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nfunction ActionWithModal( {\n\taction,\n\tselectedItems,\n\tsetActionWithModal,\n\tonMenuOpenChange,\n} ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter( ( item ) => action.isEligible( item ) );\n\t}, [ action, selectedItems ] );\n\tconst { RenderModal, hideModalHeader } = action;\n\tconst onCloseModal = useCallback( () => {\n\t\tsetActionWithModal( undefined );\n\t}, [ setActionWithModal ] );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ ! hideModalHeader && action.label }\n\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\tonRequestClose={ onCloseModal }\n\t\t\toverlayClassName=\"dataviews-action-modal\"\n\t\t>\n\t\t\t<RenderModal\n\t\t\t\titems={ eligibleItems }\n\t\t\t\tcloseModal={ onCloseModal }\n\t\t\t\tonPerform={ () => onMenuOpenChange( false ) }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nfunction BulkActionItem( { action, selectedItems, setActionWithModal } ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter( ( item ) => action.isEligible( item ) );\n\t}, [ action, selectedItems ] );\n\n\tconst shouldShowModal = !! action.RenderModal;\n\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tkey={ action.id }\n\t\t\tdisabled={ eligibleItems.length === 0 }\n\t\t\thideOnClick={ ! shouldShowModal }\n\t\t\tonClick={ async () => {\n\t\t\t\tif ( shouldShowModal ) {\n\t\t\t\t\tsetActionWithModal( action );\n\t\t\t\t} else {\n\t\t\t\t\tawait action.callback( eligibleItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tsuffix={\n\t\t\t\teligibleItems.length > 0 ? eligibleItems.length : undefined\n\t\t\t}\n\t\t>\n\t\t\t{ action.label }\n\t\t</DropdownMenuItem>\n\t);\n}\n\nfunction ActionsMenuGroup( { actions, selectedItems, setActionWithModal } ) {\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t\t<BulkActionItem\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</DropdownMenuGroup>\n\t\t\t<DropdownMenuSeparator />\n\t\t</>\n\t);\n}\n\nexport default function BulkActions( {\n\tdata,\n\tactions,\n\tselection,\n\tonSelectionChange,\n\tgetItemId,\n} ) {\n\tconst bulkActions = useMemo(\n\t\t() => actions.filter( ( action ) => action.supportsBulk ),\n\t\t[ actions ]\n\t);\n\tconst [ isMenuOpen, onMenuOpenChange ] = useState( false );\n\tconst [ actionWithModal, setActionWithModal ] = useState();\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn bulkActions.some( ( action ) => action.isEligible( item ) );\n\t\t} );\n\t}, [ data, bulkActions ] );\n\n\tconst numberSelectableItems = selectableItems.length;\n\tconst areAllSelected =\n\t\tselection && selection.length === numberSelectableItems;\n\n\tconst selectedItems = useMemo( () => {\n\t\treturn data.filter( ( item ) =>\n\t\t\tselection.includes( getItemId( item ) )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\n\tconst hasNonSelectableItemSelected = useMemo( () => {\n\t\treturn selectedItems.some( ( item ) => {\n\t\t\treturn ! selectableItems.includes( item );\n\t\t} );\n\t}, [ selectedItems, selectableItems ] );\n\tuseEffect( () => {\n\t\tif ( hasNonSelectableItemSelected ) {\n\t\t\tonSelectionChange(\n\t\t\t\tselectedItems.filter( ( selectedItem ) => {\n\t\t\t\t\treturn selectableItems.some( ( item ) => {\n\t\t\t\t\t\treturn getItemId( selectedItem ) === getItemId( item );\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [\n\t\thasNonSelectableItemSelected,\n\t\tselectedItems,\n\t\tselectableItems,\n\t\tgetItemId,\n\t\tonSelectionChange,\n\t] );\n\n\tif ( bulkActions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\topen={ isMenuOpen }\n\t\t\t\tonOpenChange={ onMenuOpenChange }\n\t\t\t\tlabel={ __( 'Bulk actions' ) }\n\t\t\t\tstyle={ { minWidth: '240px' } }\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-bulk-edit-button\"\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ selection.length\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Number of items. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'Edit %d item',\n\t\t\t\t\t\t\t\t\t\t'Edit %d items',\n\t\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Bulk edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\tactions={ bulkActions }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t/>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ areAllSelected }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={ numberSelectableItems }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Select all' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ selection.length === 0 }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Deselect' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</DropdownMenu>\n\t\t\t{ actionWithModal && (\n\t\t\t\t<ActionWithModal\n\t\t\t\t\taction={ actionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tonMenuOpenChange={ onMenuOpenChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}