@wordpress/dataviews 0.2.0 → 0.3.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 (87) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +30 -6
  4. package/build/add-filter.js +109 -49
  5. package/build/add-filter.js.map +1 -1
  6. package/build/constants.js +24 -2
  7. package/build/constants.js.map +1 -1
  8. package/build/dataviews.js +12 -9
  9. package/build/dataviews.js.map +1 -1
  10. package/build/dropdown-menu-helper.js +72 -0
  11. package/build/dropdown-menu-helper.js.map +1 -0
  12. package/build/filter-summary.js +43 -54
  13. package/build/filter-summary.js.map +1 -1
  14. package/build/filters.js +27 -17
  15. package/build/filters.js.map +1 -1
  16. package/build/index.js +13 -0
  17. package/build/index.js.map +1 -1
  18. package/build/item-actions.js +12 -12
  19. package/build/item-actions.js.map +1 -1
  20. package/build/pagination.js +31 -65
  21. package/build/pagination.js.map +1 -1
  22. package/build/reset-filters.js +8 -8
  23. package/build/reset-filters.js.map +1 -1
  24. package/build/search.js +8 -6
  25. package/build/search.js.map +1 -1
  26. package/build/utils.js +71 -0
  27. package/build/utils.js.map +1 -0
  28. package/build/view-actions.js +72 -95
  29. package/build/view-actions.js.map +1 -1
  30. package/build/view-grid.js +4 -6
  31. package/build/view-grid.js.map +1 -1
  32. package/build/view-list.js +26 -13
  33. package/build/view-list.js.map +1 -1
  34. package/build/view-table.js +153 -154
  35. package/build/view-table.js.map +1 -1
  36. package/build-module/add-filter.js +113 -53
  37. package/build-module/add-filter.js.map +1 -1
  38. package/build-module/constants.js +20 -0
  39. package/build-module/constants.js.map +1 -1
  40. package/build-module/dataviews.js +13 -10
  41. package/build-module/dataviews.js.map +1 -1
  42. package/build-module/dropdown-menu-helper.js +64 -0
  43. package/build-module/dropdown-menu-helper.js.map +1 -0
  44. package/build-module/filter-summary.js +45 -56
  45. package/build-module/filter-summary.js.map +1 -1
  46. package/build-module/filters.js +26 -17
  47. package/build-module/filters.js.map +1 -1
  48. package/build-module/index.js +1 -0
  49. package/build-module/index.js.map +1 -1
  50. package/build-module/item-actions.js +12 -12
  51. package/build-module/item-actions.js.map +1 -1
  52. package/build-module/pagination.js +35 -69
  53. package/build-module/pagination.js.map +1 -1
  54. package/build-module/reset-filters.js +6 -6
  55. package/build-module/reset-filters.js.map +1 -1
  56. package/build-module/search.js +7 -6
  57. package/build-module/search.js.map +1 -1
  58. package/build-module/utils.js +63 -0
  59. package/build-module/utils.js.map +1 -0
  60. package/build-module/view-actions.js +73 -97
  61. package/build-module/view-actions.js.map +1 -1
  62. package/build-module/view-grid.js +4 -6
  63. package/build-module/view-grid.js.map +1 -1
  64. package/build-module/view-list.js +27 -14
  65. package/build-module/view-list.js.map +1 -1
  66. package/build-module/view-table.js +156 -157
  67. package/build-module/view-table.js.map +1 -1
  68. package/build-style/style-rtl.css +180 -70
  69. package/build-style/style.css +180 -70
  70. package/package.json +11 -10
  71. package/src/add-filter.js +227 -68
  72. package/src/constants.js +16 -0
  73. package/src/dataviews.js +19 -12
  74. package/src/dropdown-menu-helper.js +61 -0
  75. package/src/filter-summary.js +70 -103
  76. package/src/filters.js +41 -24
  77. package/src/index.js +1 -0
  78. package/src/item-actions.js +30 -25
  79. package/src/pagination.js +75 -123
  80. package/src/reset-filters.js +5 -5
  81. package/src/search.js +8 -6
  82. package/src/style.scss +182 -48
  83. package/src/utils.js +51 -0
  84. package/src/view-actions.js +113 -114
  85. package/src/view-grid.js +4 -4
  86. package/src/view-list.js +42 -28
  87. package/src/view-table.js +280 -238
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_icons","Pagination","view","onChangeView","paginationInfo","totalItems","totalPages","_react","createElement","__experimentalHStack","expanded","spacing","justify","className","__experimentalText","variant","sprintf","_n","Button","onClick","page","disabled","__experimentalIsFocusable","label","__","icon","previous","showTooltip","size","chevronLeft","createInterpolateElement","_x","CurrenPageControl","__experimentalNumberControl","min","max","onChange","value","_value","step","isDragEnabled","spinControls","chevronRight","next","_default","exports","default"],"sources":["@wordpress/dataviews/src/pagination.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { sprintf, __, _x, _n } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft, previous, next } from '@wordpress/icons';\n\nfunction Pagination( {\n\tview,\n\tonChangeView,\n\tpaginationInfo: { totalItems = 0, totalPages },\n} ) {\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<HStack\n\t\t\texpanded={ false }\n\t\t\tspacing={ 3 }\n\t\t\tjustify=\"space-between\"\n\t\t\tclassName=\"dataviews-pagination\"\n\t\t>\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{\n\t\t\t\t\t// translators: %s: Total number of entries.\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of entries.\n\t\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\t\ttotalItems\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Text>\n\t\t\t{ !! totalItems && totalPages !== 1 && (\n\t\t\t\t<HStack expanded={ false } spacing={ 3 }>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tlabel={ __( 'First page' ) }\n\t\t\t\t\t\t\ticon={ previous }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page - 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t\t\t\t_x( '<CurrenPageControl /> of %2$s', 'paging' ),\n\t\t\t\t\t\t\t\tview.page,\n\t\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tCurrenPageControl: (\n\t\t\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\t\tmax={ totalPages }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst _value = +value;\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t! _value ||\n\t\t\t\t\t\t\t\t\t\t\t\t_value < 1 ||\n\t\t\t\t\t\t\t\t\t\t\t\t_value > totalPages\n\t\t\t\t\t\t\t\t\t\t\t) {\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}\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\tpage: _value,\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\tstep=\"1\"\n\t\t\t\t\t\t\t\t\t\tvalue={ view.page }\n\t\t\t\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\t\t\t\tspinControls=\"none\"\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</HStack>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page + 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: totalPages } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tlabel={ __( 'Last page' ) }\n\t\t\t\t\t\t\ticon={ next }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport default Pagination;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_icons","Pagination","memo","view","onChangeView","paginationInfo","totalItems","totalPages","_react","createElement","__experimentalHStack","expanded","spacing","justify","className","createInterpolateElement","sprintf","_x","page","CurrenPageControl","SelectControl","__","value","options","Array","from","map","_","i","label","onChange","newValue","size","__nextHasNoMarginBottom","Button","onClick","disabled","__experimentalIsFocusable","icon","chevronLeft","showTooltip","tooltipPosition","chevronRight","_default","exports","default"],"sources":["@wordpress/dataviews/src/pagination.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tSelectControl,\n} from '@wordpress/components';\nimport { createInterpolateElement, memo } from '@wordpress/element';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\n\nconst Pagination = memo( function Pagination( {\n\tview,\n\tonChangeView,\n\tpaginationInfo: { totalItems = 0, totalPages },\n} ) {\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t!! totalItems &&\n\t\ttotalPages !== 1 && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tspacing={ 6 }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-pagination\"\n\t\t\t>\n\t\t\t\t<HStack justify=\"flex-start\" expanded={ false } spacing={ 2 }>\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t'Page <CurrenPageControl /> of %2$s',\n\t\t\t\t\t\t\t\t'paging'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tview.page,\n\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tCurrenPageControl: (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\tvalue={ view.page }\n\t\t\t\t\t\t\t\t\toptions={ Array.from(\n\t\t\t\t\t\t\t\t\t\tArray( totalPages )\n\t\t\t\t\t\t\t\t\t).map( ( _, i ) => {\n\t\t\t\t\t\t\t\t\t\tconst page = i + 1;\n\t\t\t\t\t\t\t\t\t\treturn { value: page, label: page };\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tpage: +newValue,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tsize={ 'compact' }\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page - 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page + 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t)\n\t);\n} );\n\nexport default Pagination;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAUA,MAAMI,UAAU,GAAG,IAAAC,aAAI,EAAE,SAASD,UAAUA,CAAE;EAC7CE,IAAI;EACJC,YAAY;EACZC,cAAc,EAAE;IAAEC,UAAU,GAAG,CAAC;IAAEC;EAAW;AAC9C,CAAC,EAAG;EACH,IAAK,CAAED,UAAU,IAAI,CAAEC,UAAU,EAAG;IACnC,OAAO,IAAI;EACZ;EACA,OACC,CAAC,CAAED,UAAU,IACbC,UAAU,KAAK,CAAC,IACf,IAAAC,MAAA,CAAAC,aAAA,EAACb,WAAA,CAAAc,oBAAM;IACNC,QAAQ,EAAG,KAAO;IAClBC,OAAO,EAAG,CAAG;IACbC,OAAO,EAAC,KAAK;IACbC,SAAS,EAAC;EAAsB,GAEhC,IAAAN,MAAA,CAAAC,aAAA,EAACb,WAAA,CAAAc,oBAAM;IAACG,OAAO,EAAC,YAAY;IAACF,QAAQ,EAAG,KAAO;IAACC,OAAO,EAAG;EAAG,GAC1D,IAAAG,iCAAwB,EACzB,IAAAC,aAAO;EACN;EACA,IAAAC,QAAE,EACD,oCAAoC,EACpC,QACD,CAAC,EACDd,IAAI,CAACe,IAAI,EACTX,UACD,CAAC,EACD;IACCY,iBAAiB,EAChB,IAAAX,MAAA,CAAAC,aAAA,EAACb,WAAA,CAAAwB,aAAa;MACb,cAAa,IAAAC,QAAE,EAAE,cAAe,CAAG;MACnCC,KAAK,EAAGnB,IAAI,CAACe,IAAM;MACnBK,OAAO,EAAGC,KAAK,CAACC,IAAI,CACnBD,KAAK,CAAEjB,UAAW,CACnB,CAAC,CAACmB,GAAG,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAM;QAClB,MAAMV,IAAI,GAAGU,CAAC,GAAG,CAAC;QAClB,OAAO;UAAEN,KAAK,EAAEJ,IAAI;UAAEW,KAAK,EAAEX;QAAK,CAAC;MACpC,CAAE,CAAG;MACLY,QAAQ,EAAKC,QAAQ,IAAM;QAC1B3B,YAAY,CAAE;UACb,GAAGD,IAAI;UACPe,IAAI,EAAE,CAACa;QACR,CAAE,CAAC;MACJ,CAAG;MACHC,IAAI,EAAG,SAAW;MAClBC,uBAAuB;IAAA,CACvB;EAEH,CACD,CACO,CAAC,EACT,IAAAzB,MAAA,CAAAC,aAAA,EAACb,WAAA,CAAAc,oBAAM;IAACC,QAAQ,EAAG,KAAO;IAACC,OAAO,EAAG;EAAG,GACvC,IAAAJ,MAAA,CAAAC,aAAA,EAACb,WAAA,CAAAsC,MAAM;IACNC,OAAO,EAAGA,CAAA,KACT/B,YAAY,CAAE;MAAE,GAAGD,IAAI;MAAEe,IAAI,EAAEf,IAAI,CAACe,IAAI,GAAG;IAAE,CAAE,CAC/C;IACDkB,QAAQ,EAAGjC,IAAI,CAACe,IAAI,KAAK,CAAG;IAC5BmB,yBAAyB;IACzBR,KAAK,EAAG,IAAAR,QAAE,EAAE,eAAgB,CAAG;IAC/BiB,IAAI,EAAGC,kBAAa;IACpBC,WAAW;IACXR,IAAI,EAAC,SAAS;IACdS,eAAe,EAAC;EAAK,CACrB,CAAC,EACF,IAAAjC,MAAA,CAAAC,aAAA,EAACb,WAAA,CAAAsC,MAAM;IACNC,OAAO,EAAGA,CAAA,KACT/B,YAAY,CAAE;MAAE,GAAGD,IAAI;MAAEe,IAAI,EAAEf,IAAI,CAACe,IAAI,GAAG;IAAE,CAAE,CAC/C;IACDkB,QAAQ,EAAGjC,IAAI,CAACe,IAAI,IAAIX,UAAY;IACpC8B,yBAAyB;IACzBR,KAAK,EAAG,IAAAR,QAAE,EAAE,WAAY,CAAG;IAC3BiB,IAAI,EAAGI,mBAAc;IACrBF,WAAW;IACXR,IAAI,EAAC,SAAS;IACdS,eAAe,EAAC;EAAK,CACrB,CACM,CACD,CACR;AAEH,CAAE,CAAC;AAAC,IAAAE,QAAA,GAEW1C,UAAU;AAAA2C,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -3,31 +3,31 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = ResetFilter;
7
7
  var _react = require("react");
8
8
  var _components = require("@wordpress/components");
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  /**
11
11
  * WordPress dependencies
12
12
  */
13
- var _default = ({
13
+
14
+ function ResetFilter({
14
15
  view,
15
16
  onChangeView
16
- }) => {
17
+ }) {
17
18
  return (0, _react.createElement)(_components.Button, {
18
19
  disabled: view.search === '' && view.filters?.length === 0,
19
20
  __experimentalIsFocusable: true,
20
21
  size: "compact",
21
22
  variant: "tertiary",
22
23
  onClick: () => {
23
- onChangeView(currentView => ({
24
- ...currentView,
24
+ onChangeView({
25
+ ...view,
25
26
  page: 1,
26
27
  search: '',
27
28
  filters: []
28
- }));
29
+ });
29
30
  }
30
31
  }, (0, _i18n.__)('Reset filters'));
31
- };
32
- exports.default = _default;
32
+ }
33
33
  //# sourceMappingURL=reset-filters.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_default","view","onChangeView","_react","createElement","Button","disabled","search","filters","length","__experimentalIsFocusable","size","variant","onClick","currentView","page","__","exports","default"],"sources":["@wordpress/dataviews/src/reset-filters.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default ( { view, onChangeView } ) => {\n\treturn (\n\t\t<Button\n\t\t\tdisabled={ view.search === '' && view.filters?.length === 0 }\n\t\t\t__experimentalIsFocusable\n\t\t\tsize=\"compact\"\n\t\t\tvariant=\"tertiary\"\n\t\t\tonClick={ () => {\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tsearch: '',\n\t\t\t\t\tfilters: [],\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Reset filters' ) }\n\t\t</Button>\n\t);\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;AAFA,IAAAE,QAAA,GAMeA,CAAE;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EAC5C,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAAQ,MAAM;IACNC,QAAQ,EAAGL,IAAI,CAACM,MAAM,KAAK,EAAE,IAAIN,IAAI,CAACO,OAAO,EAAEC,MAAM,KAAK,CAAG;IAC7DC,yBAAyB;IACzBC,IAAI,EAAC,SAAS;IACdC,OAAO,EAAC,UAAU;IAClBC,OAAO,EAAGA,CAAA,KAAM;MACfX,YAAY,CAAIY,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdC,IAAI,EAAE,CAAC;QACPR,MAAM,EAAE,EAAE;QACVC,OAAO,EAAE;MACV,CAAC,CAAG,CAAC;IACN;EAAG,GAED,IAAAQ,QAAE,EAAE,eAAgB,CACf,CAAC;AAEX,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAlB,QAAA"}
1
+ {"version":3,"names":["_components","require","_i18n","ResetFilter","view","onChangeView","_react","createElement","Button","disabled","search","filters","length","__experimentalIsFocusable","size","variant","onClick","page","__"],"sources":["@wordpress/dataviews/src/reset-filters.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ResetFilter( { view, onChangeView } ) {\n\treturn (\n\t\t<Button\n\t\t\tdisabled={ view.search === '' && view.filters?.length === 0 }\n\t\t\t__experimentalIsFocusable\n\t\t\tsize=\"compact\"\n\t\t\tvariant=\"tertiary\"\n\t\t\tonClick={ () => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tsearch: '',\n\t\t\t\t\tfilters: [],\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Reset filters' ) }\n\t\t</Button>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIe,SAASE,WAAWA,CAAE;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EAC7D,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAAQ,MAAM;IACNC,QAAQ,EAAGL,IAAI,CAACM,MAAM,KAAK,EAAE,IAAIN,IAAI,CAACO,OAAO,EAAEC,MAAM,KAAK,CAAG;IAC7DC,yBAAyB;IACzBC,IAAI,EAAC,SAAS;IACdC,OAAO,EAAC,UAAU;IAClBC,OAAO,EAAGA,CAAA,KAAM;MACfX,YAAY,CAAE;QACb,GAAGD,IAAI;QACPa,IAAI,EAAE,CAAC;QACPP,MAAM,EAAE,EAAE;QACVC,OAAO,EAAE;MACV,CAAE,CAAC;IACJ;EAAG,GAED,IAAAO,QAAE,EAAE,eAAgB,CACf,CAAC;AAEX"}
package/build/search.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = Search;
6
+ exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _element = require("@wordpress/element");
@@ -13,7 +13,7 @@ var _compose = require("@wordpress/compose");
13
13
  * WordPress dependencies
14
14
  */
15
15
 
16
- function Search({
16
+ const Search = (0, _element.memo)(function Search({
17
17
  label,
18
18
  view,
19
19
  onChangeView
@@ -27,11 +27,11 @@ function Search({
27
27
  onChangeViewRef.current = onChangeView;
28
28
  }, [onChangeView]);
29
29
  (0, _element.useEffect)(() => {
30
- onChangeViewRef.current(currentView => ({
31
- ...currentView,
30
+ onChangeViewRef.current({
31
+ ...view,
32
32
  page: 1,
33
33
  search: debouncedSearch
34
- }));
34
+ });
35
35
  }, [debouncedSearch]);
36
36
  const searchLabel = label || (0, _i18n.__)('Filter list');
37
37
  return (0, _react.createElement)(_components.SearchControl, {
@@ -42,5 +42,7 @@ function Search({
42
42
  placeholder: searchLabel,
43
43
  size: "compact"
44
44
  });
45
- }
45
+ });
46
+ var _default = Search;
47
+ exports.default = _default;
46
48
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_components","_compose","Search","label","view","onChangeView","search","setSearch","debouncedSearch","useDebouncedInput","useEffect","onChangeViewRef","useRef","current","currentView","page","searchLabel","__","_react","createElement","SearchControl","__nextHasNoMarginBottom","onChange","value","placeholder","size"],"sources":["@wordpress/dataviews/src/search.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\nimport { useDebouncedInput } from '@wordpress/compose';\n\nexport default function Search( { label, view, onChangeView } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search );\n\t}, [ view ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t}, [ onChangeView ] );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tpage: 1,\n\t\t\tsearch: debouncedSearch,\n\t\t} ) );\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Filter list' );\n\treturn (\n\t\t<SearchControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AANA;AACA;AACA;;AAMe,SAASI,MAAMA,CAAE;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EAC/D,MAAM,CAAEC,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAG,IAAAC,0BAAiB,EAC/DL,IAAI,CAACE,MACN,CAAC;EACD,IAAAI,kBAAS,EAAE,MAAM;IAChBH,SAAS,CAAEH,IAAI,CAACE,MAAO,CAAC;EACzB,CAAC,EAAE,CAAEF,IAAI,CAAG,CAAC;EACb,MAAMO,eAAe,GAAG,IAAAC,eAAM,EAAEP,YAAa,CAAC;EAC9C,IAAAK,kBAAS,EAAE,MAAM;IAChBC,eAAe,CAACE,OAAO,GAAGR,YAAY;EACvC,CAAC,EAAE,CAAEA,YAAY,CAAG,CAAC;EACrB,IAAAK,kBAAS,EAAE,MAAM;IAChBC,eAAe,CAACE,OAAO,CAAIC,WAAW,KAAQ;MAC7C,GAAGA,WAAW;MACdC,IAAI,EAAE,CAAC;MACPT,MAAM,EAAEE;IACT,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EACxB,MAAMQ,WAAW,GAAGb,KAAK,IAAI,IAAAc,QAAE,EAAE,aAAc,CAAC;EAChD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,aAAa;IACbC,uBAAuB;IACvBC,QAAQ,EAAGf,SAAW;IACtBgB,KAAK,EAAGjB,MAAQ;IAChBH,KAAK,EAAGa,WAAa;IACrBQ,WAAW,EAAGR,WAAa;IAC3BS,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ"}
1
+ {"version":3,"names":["_i18n","require","_element","_components","_compose","Search","memo","label","view","onChangeView","search","setSearch","debouncedSearch","useDebouncedInput","useEffect","onChangeViewRef","useRef","current","page","searchLabel","__","_react","createElement","SearchControl","__nextHasNoMarginBottom","onChange","value","placeholder","size","_default","exports","default"],"sources":["@wordpress/dataviews/src/search.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, memo } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\nimport { useDebouncedInput } from '@wordpress/compose';\n\nconst Search = memo( function Search( { label, view, onChangeView } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search );\n\t}, [ view ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t}, [ onChangeView ] );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current( {\n\t\t\t...view,\n\t\t\tpage: 1,\n\t\t\tsearch: debouncedSearch,\n\t\t} );\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Filter list' );\n\treturn (\n\t\t<SearchControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n} );\n\nexport default Search;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AANA;AACA;AACA;;AAMA,MAAMI,MAAM,GAAG,IAAAC,aAAI,EAAE,SAASD,MAAMA,CAAE;EAAEE,KAAK;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EACrE,MAAM,CAAEC,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAG,IAAAC,0BAAiB,EAC/DL,IAAI,CAACE,MACN,CAAC;EACD,IAAAI,kBAAS,EAAE,MAAM;IAChBH,SAAS,CAAEH,IAAI,CAACE,MAAO,CAAC;EACzB,CAAC,EAAE,CAAEF,IAAI,CAAG,CAAC;EACb,MAAMO,eAAe,GAAG,IAAAC,eAAM,EAAEP,YAAa,CAAC;EAC9C,IAAAK,kBAAS,EAAE,MAAM;IAChBC,eAAe,CAACE,OAAO,GAAGR,YAAY;EACvC,CAAC,EAAE,CAAEA,YAAY,CAAG,CAAC;EACrB,IAAAK,kBAAS,EAAE,MAAM;IAChBC,eAAe,CAACE,OAAO,CAAE;MACxB,GAAGT,IAAI;MACPU,IAAI,EAAE,CAAC;MACPR,MAAM,EAAEE;IACT,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EACxB,MAAMO,WAAW,GAAGZ,KAAK,IAAI,IAAAa,QAAE,EAAE,aAAc,CAAC;EAChD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,aAAa;IACbC,uBAAuB;IACvBC,QAAQ,EAAGd,SAAW;IACtBe,KAAK,EAAGhB,MAAQ;IAChBH,KAAK,EAAGY,WAAa;IACrBQ,WAAW,EAAGR,WAAa;IAC3BS,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ,CAAE,CAAC;AAAC,IAAAC,QAAA,GAEWxB,MAAM;AAAAyB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
package/build/utils.js ADDED
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPaginationResults = getPaginationResults;
7
+ exports.sortByTextFields = void 0;
8
+ /**
9
+ * Helper util to sort data by text fields, when sorting is done client side.
10
+ *
11
+ * @param {Object} params Function params.
12
+ * @param {Object[]} params.data Data to sort.
13
+ * @param {Object} params.view Current view object.
14
+ * @param {Object[]} params.fields Array of available fields.
15
+ * @param {string[]} params.textFields Array of the field ids to sort.
16
+ *
17
+ * @return {Object[]} Sorted data.
18
+ */
19
+ const sortByTextFields = ({
20
+ data,
21
+ view,
22
+ fields,
23
+ textFields
24
+ }) => {
25
+ const sortedData = [...data];
26
+ const fieldId = view.sort.field;
27
+ if (textFields.includes(fieldId)) {
28
+ const fieldToSort = fields.find(field => {
29
+ return field.id === fieldId;
30
+ });
31
+ sortedData.sort((a, b) => {
32
+ var _fieldToSort$getValue, _fieldToSort$getValue2;
33
+ const valueA = (_fieldToSort$getValue = fieldToSort.getValue({
34
+ item: a
35
+ })) !== null && _fieldToSort$getValue !== void 0 ? _fieldToSort$getValue : '';
36
+ const valueB = (_fieldToSort$getValue2 = fieldToSort.getValue({
37
+ item: b
38
+ })) !== null && _fieldToSort$getValue2 !== void 0 ? _fieldToSort$getValue2 : '';
39
+ return view.sort.direction === 'asc' ? valueA.localeCompare(valueB) : valueB.localeCompare(valueA);
40
+ });
41
+ }
42
+ return sortedData;
43
+ };
44
+
45
+ /**
46
+ * Helper util to get the paginated data and the paginateInfo needed,
47
+ * when pagination is done client side.
48
+ *
49
+ * @param {Object} params Function params.
50
+ * @param {Object[]} params.data Available data.
51
+ * @param {Object} params.view Current view object.
52
+ *
53
+ * @return {Object} Paginated data and paginationInfo.
54
+ */
55
+ exports.sortByTextFields = sortByTextFields;
56
+ function getPaginationResults({
57
+ data,
58
+ view
59
+ }) {
60
+ const start = (view.page - 1) * view.perPage;
61
+ const totalItems = data?.length || 0;
62
+ data = data?.slice(start, start + view.perPage);
63
+ return {
64
+ data,
65
+ paginationInfo: {
66
+ totalItems,
67
+ totalPages: Math.ceil(totalItems / view.perPage)
68
+ }
69
+ };
70
+ }
71
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sortByTextFields","data","view","fields","textFields","sortedData","fieldId","sort","field","includes","fieldToSort","find","id","a","b","_fieldToSort$getValue","_fieldToSort$getValue2","valueA","getValue","item","valueB","direction","localeCompare","exports","getPaginationResults","start","page","perPage","totalItems","length","slice","paginationInfo","totalPages","Math","ceil"],"sources":["@wordpress/dataviews/src/utils.js"],"sourcesContent":["/**\n * Helper util to sort data by text fields, when sorting is done client side.\n *\n * @param {Object} params Function params.\n * @param {Object[]} params.data Data to sort.\n * @param {Object} params.view Current view object.\n * @param {Object[]} params.fields Array of available fields.\n * @param {string[]} params.textFields Array of the field ids to sort.\n *\n * @return {Object[]} Sorted data.\n */\nexport const sortByTextFields = ( { data, view, fields, textFields } ) => {\n\tconst sortedData = [ ...data ];\n\tconst fieldId = view.sort.field;\n\tif ( textFields.includes( fieldId ) ) {\n\t\tconst fieldToSort = fields.find( ( field ) => {\n\t\t\treturn field.id === fieldId;\n\t\t} );\n\t\tsortedData.sort( ( a, b ) => {\n\t\t\tconst valueA = fieldToSort.getValue( { item: a } ) ?? '';\n\t\t\tconst valueB = fieldToSort.getValue( { item: b } ) ?? '';\n\t\t\treturn view.sort.direction === 'asc'\n\t\t\t\t? valueA.localeCompare( valueB )\n\t\t\t\t: valueB.localeCompare( valueA );\n\t\t} );\n\t}\n\treturn sortedData;\n};\n\n/**\n * Helper util to get the paginated data and the paginateInfo needed,\n * when pagination is done client side.\n *\n * @param {Object} params Function params.\n * @param {Object[]} params.data Available data.\n * @param {Object} params.view Current view object.\n *\n * @return {Object} Paginated data and paginationInfo.\n */\nexport function getPaginationResults( { data, view } ) {\n\tconst start = ( view.page - 1 ) * view.perPage;\n\tconst totalItems = data?.length || 0;\n\tdata = data?.slice( start, start + view.perPage );\n\treturn {\n\t\tdata,\n\t\tpaginationInfo: {\n\t\t\ttotalItems,\n\t\t\ttotalPages: Math.ceil( totalItems / view.perPage ),\n\t\t},\n\t};\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,gBAAgB,GAAGA,CAAE;EAAEC,IAAI;EAAEC,IAAI;EAAEC,MAAM;EAAEC;AAAW,CAAC,KAAM;EACzE,MAAMC,UAAU,GAAG,CAAE,GAAGJ,IAAI,CAAE;EAC9B,MAAMK,OAAO,GAAGJ,IAAI,CAACK,IAAI,CAACC,KAAK;EAC/B,IAAKJ,UAAU,CAACK,QAAQ,CAAEH,OAAQ,CAAC,EAAG;IACrC,MAAMI,WAAW,GAAGP,MAAM,CAACQ,IAAI,CAAIH,KAAK,IAAM;MAC7C,OAAOA,KAAK,CAACI,EAAE,KAAKN,OAAO;IAC5B,CAAE,CAAC;IACHD,UAAU,CAACE,IAAI,CAAE,CAAEM,CAAC,EAAEC,CAAC,KAAM;MAAA,IAAAC,qBAAA,EAAAC,sBAAA;MAC5B,MAAMC,MAAM,IAAAF,qBAAA,GAAGL,WAAW,CAACQ,QAAQ,CAAE;QAAEC,IAAI,EAAEN;MAAE,CAAE,CAAC,cAAAE,qBAAA,cAAAA,qBAAA,GAAI,EAAE;MACxD,MAAMK,MAAM,IAAAJ,sBAAA,GAAGN,WAAW,CAACQ,QAAQ,CAAE;QAAEC,IAAI,EAAEL;MAAE,CAAE,CAAC,cAAAE,sBAAA,cAAAA,sBAAA,GAAI,EAAE;MACxD,OAAOd,IAAI,CAACK,IAAI,CAACc,SAAS,KAAK,KAAK,GACjCJ,MAAM,CAACK,aAAa,CAAEF,MAAO,CAAC,GAC9BA,MAAM,CAACE,aAAa,CAAEL,MAAO,CAAC;IAClC,CAAE,CAAC;EACJ;EACA,OAAOZ,UAAU;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATAkB,OAAA,CAAAvB,gBAAA,GAAAA,gBAAA;AAUO,SAASwB,oBAAoBA,CAAE;EAAEvB,IAAI;EAAEC;AAAK,CAAC,EAAG;EACtD,MAAMuB,KAAK,GAAG,CAAEvB,IAAI,CAACwB,IAAI,GAAG,CAAC,IAAKxB,IAAI,CAACyB,OAAO;EAC9C,MAAMC,UAAU,GAAG3B,IAAI,EAAE4B,MAAM,IAAI,CAAC;EACpC5B,IAAI,GAAGA,IAAI,EAAE6B,KAAK,CAAEL,KAAK,EAAEA,KAAK,GAAGvB,IAAI,CAACyB,OAAQ,CAAC;EACjD,OAAO;IACN1B,IAAI;IACJ8B,cAAc,EAAE;MACfH,UAAU;MACVI,UAAU,EAAEC,IAAI,CAACC,IAAI,CAAEN,UAAU,GAAG1B,IAAI,CAACyB,OAAQ;IAClD;EACD,CAAC;AACF"}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = ViewActions;
6
+ exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _components = require("@wordpress/components");
9
- var _icons = require("@wordpress/icons");
10
9
  var _i18n = require("@wordpress/i18n");
10
+ var _element = require("@wordpress/element");
11
11
  var _lockUnlock = require("./lock-unlock");
12
12
  var _constants = require("./constants");
13
13
  /**
@@ -22,8 +22,9 @@ const {
22
22
  DropdownMenuV2: DropdownMenu,
23
23
  DropdownMenuGroupV2: DropdownMenuGroup,
24
24
  DropdownMenuItemV2: DropdownMenuItem,
25
- DropdownSubMenuV2: DropdownSubMenu,
26
- DropdownSubMenuTriggerV2: DropdownSubMenuTrigger
25
+ DropdownMenuRadioItemV2: DropdownMenuRadioItem,
26
+ DropdownMenuCheckboxItemV2: DropdownMenuCheckboxItem,
27
+ DropdownMenuItemLabelV2: DropdownMenuItemLabel
27
28
  } = (0, _lockUnlock.unlock)(_components.privateApis);
28
29
  function ViewTypeMenu({
29
30
  view,
@@ -38,29 +39,26 @@ function ViewTypeMenu({
38
39
  return null;
39
40
  }
40
41
  const activeView = _availableViews.find(v => view.type === v.type);
41
- return (0, _react.createElement)(DropdownSubMenu, {
42
- trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
43
- suffix: (0, _react.createElement)(_react.Fragment, null, activeView.label, (0, _react.createElement)(_components.Icon, {
44
- icon: _icons.chevronRightSmall
45
- }))
46
- }, (0, _i18n.__)('Layout'))
42
+ return (0, _react.createElement)(DropdownMenu, {
43
+ trigger: (0, _react.createElement)(DropdownMenuItem, {
44
+ suffix: (0, _react.createElement)("span", {
45
+ "aria-hidden": "true"
46
+ }, activeView.label)
47
+ }, (0, _react.createElement)(DropdownMenuItemLabel, null, (0, _i18n.__)('Layout')))
47
48
  }, _availableViews.map(availableView => {
48
- return (0, _react.createElement)(DropdownMenuItem, {
49
+ return (0, _react.createElement)(DropdownMenuRadioItem, {
49
50
  key: availableView.type,
50
- role: "menuitemradio",
51
- "aria-checked": availableView.id === view.type,
52
- prefix: availableView.type === view.type && (0, _react.createElement)(_components.Icon, {
53
- icon: _icons.check
54
- }),
55
- onSelect: event => {
56
- // We need to handle this on DropDown component probably..
57
- event.preventDefault();
51
+ value: availableView.type,
52
+ name: "view-actions-available-view",
53
+ checked: availableView.type === view.type,
54
+ hideOnClick: true,
55
+ onChange: e => {
58
56
  onChangeView({
59
57
  ...view,
60
- type: availableView.type
58
+ type: e.target.value
61
59
  });
62
60
  }
63
- }, availableView.label);
61
+ }, (0, _react.createElement)(DropdownMenuItemLabel, null, availableView.label));
64
62
  }));
65
63
  }
66
64
  const PAGE_SIZE_VALUES = [10, 20, 50, 100];
@@ -68,30 +66,28 @@ function PageSizeMenu({
68
66
  view,
69
67
  onChangeView
70
68
  }) {
71
- return (0, _react.createElement)(DropdownSubMenu, {
72
- trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
73
- suffix: (0, _react.createElement)(_react.Fragment, null, view.perPage, (0, _react.createElement)(_components.Icon, {
74
- icon: _icons.chevronRightSmall
75
- }))
76
- }, (0, _i18n.__)('Rows per page'))
69
+ return (0, _react.createElement)(DropdownMenu, {
70
+ trigger: (0, _react.createElement)(DropdownMenuItem, {
71
+ suffix: (0, _react.createElement)("span", {
72
+ "aria-hidden": "true"
73
+ }, view.perPage)
74
+ }, (0, _react.createElement)(DropdownMenuItemLabel, null, (0, _i18n.__)('Rows per page')))
77
75
  }, PAGE_SIZE_VALUES.map(size => {
78
- return (0, _react.createElement)(DropdownMenuItem, {
76
+ return (0, _react.createElement)(DropdownMenuRadioItem, {
79
77
  key: size,
80
- role: "menuitemradio",
81
- "aria-checked": view.perPage === size,
82
- prefix: view.perPage === size && (0, _react.createElement)(_components.Icon, {
83
- icon: _icons.check
84
- }),
85
- onSelect: event => {
86
- // We need to handle this on DropDown component probably..
87
- event.preventDefault();
78
+ value: size,
79
+ name: "view-actions-page-size",
80
+ checked: view.perPage === size,
81
+ onChange: () => {
88
82
  onChangeView({
89
83
  ...view,
84
+ // `e.target.value` holds the same value as `size` but as a string,
85
+ // so we use `size` directly to avoid parsing to int.
90
86
  perPage: size,
91
87
  page: 1
92
88
  });
93
89
  }
94
- }, size);
90
+ }, (0, _react.createElement)(DropdownMenuItemLabel, null, size));
95
91
  }));
96
92
  }
97
93
  function FieldsVisibilityMenu({
@@ -103,41 +99,22 @@ function FieldsVisibilityMenu({
103
99
  if (!hidableFields?.length) {
104
100
  return null;
105
101
  }
106
- return (0, _react.createElement)(DropdownSubMenu, {
107
- trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
108
- suffix: (0, _react.createElement)(_components.Icon, {
109
- icon: _icons.chevronRightSmall
110
- })
111
- }, (0, _i18n.__)('Fields'))
102
+ return (0, _react.createElement)(DropdownMenu, {
103
+ trigger: (0, _react.createElement)(DropdownMenuItem, null, (0, _react.createElement)(DropdownMenuItemLabel, null, (0, _i18n.__)('Fields')))
112
104
  }, hidableFields?.map(field => {
113
- return (0, _react.createElement)(DropdownMenuItem, {
105
+ return (0, _react.createElement)(DropdownMenuCheckboxItem, {
114
106
  key: field.id,
115
- role: "menuitemcheckbox",
116
- prefix: !view.hiddenFields?.includes(field.id) && (0, _react.createElement)(_components.Icon, {
117
- icon: _icons.check
118
- }),
119
- onSelect: event => {
120
- event.preventDefault();
107
+ value: field.id,
108
+ checked: !view.hiddenFields?.includes(field.id),
109
+ onChange: () => {
121
110
  onChangeView({
122
111
  ...view,
123
112
  hiddenFields: view.hiddenFields?.includes(field.id) ? view.hiddenFields.filter(id => id !== field.id) : [...(view.hiddenFields || []), field.id]
124
113
  });
125
114
  }
126
- }, field.header);
115
+ }, (0, _react.createElement)(DropdownMenuItemLabel, null, field.header));
127
116
  }));
128
117
  }
129
-
130
- // This object is used to construct the sorting options per sortable field.
131
- const sortingItemsInfo = {
132
- asc: {
133
- icon: _icons.arrowUp,
134
- label: (0, _i18n.__)('Sort ascending')
135
- },
136
- desc: {
137
- icon: _icons.arrowDown,
138
- label: (0, _i18n.__)('Sort descending')
139
- }
140
- };
141
118
  function SortMenu({
142
119
  fields,
143
120
  view,
@@ -148,36 +125,35 @@ function SortMenu({
148
125
  return null;
149
126
  }
150
127
  const currentSortedField = fields.find(field => field.id === view.sort?.field);
151
- return (0, _react.createElement)(DropdownSubMenu, {
152
- trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
153
- suffix: (0, _react.createElement)(_react.Fragment, null, currentSortedField?.header, (0, _react.createElement)(_components.Icon, {
154
- icon: _icons.chevronRightSmall
155
- }))
156
- }, (0, _i18n.__)('Sort by'))
128
+ return (0, _react.createElement)(DropdownMenu, {
129
+ trigger: (0, _react.createElement)(DropdownMenuItem, {
130
+ suffix: (0, _react.createElement)("span", {
131
+ "aria-hidden": "true"
132
+ }, currentSortedField?.header)
133
+ }, (0, _react.createElement)(DropdownMenuItemLabel, null, (0, _i18n.__)('Sort by')))
157
134
  }, sortableFields?.map(field => {
158
135
  const sortedDirection = view.sort?.direction;
159
- return (0, _react.createElement)(DropdownSubMenu, {
136
+ return (0, _react.createElement)(DropdownMenu, {
160
137
  key: field.id,
161
- trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
162
- suffix: (0, _react.createElement)(_components.Icon, {
163
- icon: _icons.chevronRightSmall
164
- })
165
- }, field.header),
166
- side: "left"
167
- }, Object.entries(sortingItemsInfo).map(([direction, info]) => {
168
- const isActive = currentSortedField && sortedDirection === direction && field.id === currentSortedField.id;
169
- return (0, _react.createElement)(DropdownMenuItem, {
170
- key: direction,
171
- role: "menuitemradio",
172
- "aria-checked": isActive,
173
- prefix: (0, _react.createElement)(_components.Icon, {
174
- icon: info.icon
175
- }),
176
- suffix: isActive && (0, _react.createElement)(_components.Icon, {
177
- icon: _icons.check
178
- }),
179
- onSelect: event => {
180
- event.preventDefault();
138
+ trigger: (0, _react.createElement)(DropdownMenuItem, null, (0, _react.createElement)(DropdownMenuItemLabel, null, field.header)),
139
+ style: {
140
+ minWidth: '220px'
141
+ }
142
+ }, Object.entries(_constants.SORTING_DIRECTIONS).map(([direction, info]) => {
143
+ const isChecked = currentSortedField !== undefined && sortedDirection === direction && field.id === currentSortedField.id;
144
+ const value = `${field.id}-${direction}`;
145
+ return (0, _react.createElement)(DropdownMenuRadioItem, {
146
+ key: value
147
+ // All sorting radio items share the same name, so that
148
+ // selecting a sorting option automatically deselects the
149
+ // previously selected one, even if it is displayed in
150
+ // another submenu. The field and direction are passed via
151
+ // the `value` prop.
152
+ ,
153
+ name: "view-actions-sorting",
154
+ value: value,
155
+ checked: isChecked,
156
+ onChange: () => {
181
157
  onChangeView({
182
158
  ...view,
183
159
  sort: {
@@ -186,11 +162,11 @@ function SortMenu({
186
162
  }
187
163
  });
188
164
  }
189
- }, info.label);
165
+ }, (0, _react.createElement)(DropdownMenuItemLabel, null, info.label));
190
166
  }));
191
167
  }));
192
168
  }
193
- function ViewActions({
169
+ const ViewActions = (0, _element.memo)(function ViewActions({
194
170
  fields,
195
171
  view,
196
172
  onChangeView,
@@ -198,12 +174,11 @@ function ViewActions({
198
174
  }) {
199
175
  return (0, _react.createElement)(DropdownMenu, {
200
176
  trigger: (0, _react.createElement)(_components.Button, {
201
- variant: "tertiary",
202
177
  size: "compact",
203
178
  icon: _constants.VIEW_LAYOUTS.find(v => v.type === view.type)?.icon || _constants.VIEW_LAYOUTS.find(v => v.type === _constants.LAYOUT_TABLE).icon,
204
179
  label: (0, _i18n.__)('View options')
205
180
  })
206
- }, (0, _react.createElement)(DropdownMenuGroup, null, (0, _react.createElement)(ViewTypeMenu, {
181
+ }, (0, _react.createElement)(DropdownMenuGroup, null, window?.__experimentalAdminViews && (0, _react.createElement)(ViewTypeMenu, {
207
182
  view: view,
208
183
  onChangeView: onChangeView,
209
184
  supportedLayouts: supportedLayouts
@@ -219,5 +194,7 @@ function ViewActions({
219
194
  view: view,
220
195
  onChangeView: onChangeView
221
196
  })));
222
- }
197
+ });
198
+ var _default = ViewActions;
199
+ exports.default = _default;
223
200
  //# sourceMappingURL=view-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_icons","_i18n","_lockUnlock","_constants","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownSubMenuV2","DropdownSubMenu","DropdownSubMenuTriggerV2","DropdownSubMenuTrigger","unlock","componentsPrivateApis","ViewTypeMenu","view","onChangeView","supportedLayouts","_availableViews","VIEW_LAYOUTS","filter","_view","includes","type","length","activeView","find","v","_react","createElement","trigger","suffix","Fragment","label","Icon","icon","chevronRightSmall","__","map","availableView","key","role","id","prefix","check","onSelect","event","preventDefault","PAGE_SIZE_VALUES","PageSizeMenu","perPage","size","page","FieldsVisibilityMenu","fields","hidableFields","field","enableHiding","layout","mediaField","hiddenFields","header","sortingItemsInfo","asc","arrowUp","desc","arrowDown","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","side","Object","entries","info","isActive","ViewActions","Button","variant","LAYOUT_TABLE"],"sources":["@wordpress/dataviews/src/view-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { chevronRightSmall, check, arrowUp, arrowDown } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { VIEW_LAYOUTS, LAYOUT_TABLE } from './constants';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownSubMenuV2: DropdownSubMenu,\n\tDropdownSubMenuTriggerV2: DropdownSubMenuTrigger,\n} = unlock( componentsPrivateApis );\n\nfunction ViewTypeMenu( { view, onChangeView, supportedLayouts } ) {\n\tlet _availableViews = VIEW_LAYOUTS;\n\tif ( supportedLayouts ) {\n\t\t_availableViews = _availableViews.filter( ( _view ) =>\n\t\t\tsupportedLayouts.includes( _view.type )\n\t\t);\n\t}\n\tif ( _availableViews.length === 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = _availableViews.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<DropdownSubMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ activeView.label }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Layout' ) }\n\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t}\n\t\t>\n\t\t\t{ _availableViews.map( ( availableView ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ availableView.type }\n\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\taria-checked={ availableView.id === view.type }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tavailableView.type === view.type && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t// We need to handle this on DropDown component probably..\n\t\t\t\t\t\t\tevent.preventDefault();\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\ttype: availableView.type,\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{ availableView.label }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenu>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction PageSizeMenu( { view, onChangeView } ) {\n\treturn (\n\t\t<DropdownSubMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ view.perPage }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ /* TODO: probably label per view type. */ }\n\t\t\t\t\t{ __( 'Rows per page' ) }\n\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t}\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( size ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ size }\n\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\taria-checked={ view.perPage === size }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tview.perPage === size && <Icon icon={ check } />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t// We need to handle this on DropDown component probably..\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChangeView( { ...view, perPage: size, page: 1 } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ size }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenu>\n\t);\n}\n\nfunction FieldsVisibilityMenu( { view, onChangeView, fields } ) {\n\tconst hidableFields = fields.filter(\n\t\t( field ) =>\n\t\t\tfield.enableHiding !== false && field.id !== view.layout.mediaField\n\t);\n\tif ( ! hidableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownSubMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Fields' ) }\n\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t}\n\t\t>\n\t\t\t{ hidableFields?.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t! view.hiddenFields?.includes( field.id ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\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?.includes(\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\t\t? view.hiddenFields.filter(\n\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\n\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\t...( view.hiddenFields || [] ),\n\t\t\t\t\t\t\t\t\t\t\tfield.id,\n\t\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{ field.header }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenu>\n\t);\n}\n\n// This object is used to construct the sorting options per sortable field.\nconst sortingItemsInfo = {\n\tasc: { icon: arrowUp, label: __( 'Sort ascending' ) },\n\tdesc: { icon: arrowDown, label: __( 'Sort descending' ) },\n};\nfunction SortMenu( { fields, view, onChangeView } ) {\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( ! sortableFields?.length ) {\n\t\treturn null;\n\t}\n\tconst currentSortedField = fields.find(\n\t\t( field ) => field.id === view.sort?.field\n\t);\n\treturn (\n\t\t<DropdownSubMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ currentSortedField?.header }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Sort by' ) }\n\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t}\n\t\t>\n\t\t\t{ sortableFields?.map( ( field ) => {\n\t\t\t\tconst sortedDirection = view.sort?.direction;\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownSubMenu\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tside=\"left\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( sortingItemsInfo ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => {\n\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\tcurrentSortedField &&\n\t\t\t\t\t\t\t\t\tsortedDirection === direction &&\n\t\t\t\t\t\t\t\t\tfield.id === currentSortedField.id;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\taria-checked={ isActive }\n\t\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ info.icon } /> }\n\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\tisActive && <Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\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{ info.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\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</DropdownSubMenu>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenu>\n\t);\n}\n\nexport default function ViewActions( {\n\tfields,\n\tview,\n\tonChangeView,\n\tsupportedLayouts,\n} ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={\n\t\t\t\t\t\tVIEW_LAYOUTS.find( ( v ) => v.type === view.type )\n\t\t\t\t\t\t\t?.icon ||\n\t\t\t\t\t\tVIEW_LAYOUTS.find( ( v ) => v.type === LAYOUT_TABLE )\n\t\t\t\t\t\t\t.icon\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'View options' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t<ViewTypeMenu\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t/>\n\t\t\t\t<SortMenu\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t/>\n\t\t\t\t<FieldsVisibilityMenu\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t/>\n\t\t\t\t<PageSizeMenu view={ view } onChangeView={ onChangeView } />\n\t\t\t</DropdownMenuGroup>\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_lockUnlock","_constants","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuCheckboxItemV2","DropdownMenuCheckboxItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","unlock","componentsPrivateApis","ViewTypeMenu","view","onChangeView","supportedLayouts","_availableViews","VIEW_LAYOUTS","filter","_view","includes","type","length","activeView","find","v","_react","createElement","trigger","suffix","label","__","map","availableView","key","value","name","checked","hideOnClick","onChange","e","target","PAGE_SIZE_VALUES","PageSizeMenu","perPage","size","page","FieldsVisibilityMenu","fields","hidableFields","field","enableHiding","id","layout","mediaField","hiddenFields","header","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","style","minWidth","Object","entries","SORTING_DIRECTIONS","info","isChecked","undefined","ViewActions","memo","Button","icon","LAYOUT_TABLE","window","__experimentalAdminViews","_default","exports","default"],"sources":["@wordpress/dataviews/src/view-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { memo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { VIEW_LAYOUTS, LAYOUT_TABLE, SORTING_DIRECTIONS } from './constants';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuCheckboxItemV2: DropdownMenuCheckboxItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\nfunction ViewTypeMenu( { view, onChangeView, supportedLayouts } ) {\n\tlet _availableViews = VIEW_LAYOUTS;\n\tif ( supportedLayouts ) {\n\t\t_availableViews = _availableViews.filter( ( _view ) =>\n\t\t\tsupportedLayouts.includes( _view.type )\n\t\t);\n\t}\n\tif ( _availableViews.length === 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = _availableViews.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<span aria-hidden=\"true\">{ activeView.label }</span>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Layout' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ _availableViews.map( ( availableView ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\tkey={ availableView.type }\n\t\t\t\t\t\tvalue={ availableView.type }\n\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\tchecked={ availableView.type === view.type }\n\t\t\t\t\t\thideOnClick={ true }\n\t\t\t\t\t\tonChange={ ( e ) => {\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\ttype: e.target.value,\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{ availableView.label }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction PageSizeMenu( { view, onChangeView } ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tsuffix={ <span aria-hidden=\"true\">{ view.perPage }</span> }\n\t\t\t\t>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ /* TODO: probably label per view type. */ }\n\t\t\t\t\t\t{ __( 'Rows per page' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( size ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\tkey={ size }\n\t\t\t\t\t\tvalue={ size }\n\t\t\t\t\t\tname=\"view-actions-page-size\"\n\t\t\t\t\t\tchecked={ view.perPage === size }\n\t\t\t\t\t\tonChange={ () => {\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\t// `e.target.value` holds the same value as `size` but as a string,\n\t\t\t\t\t\t\t\t// so we use `size` directly to avoid parsing to int.\n\t\t\t\t\t\t\t\tperPage: size,\n\t\t\t\t\t\t\t\tpage: 1,\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>{ size }</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction FieldsVisibilityMenu( { view, onChangeView, fields } ) {\n\tconst hidableFields = fields.filter(\n\t\t( field ) =>\n\t\t\tfield.enableHiding !== false && field.id !== view.layout.mediaField\n\t);\n\tif ( ! hidableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Fields' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ hidableFields?.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuCheckboxItem\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tvalue={ field.id }\n\t\t\t\t\t\tchecked={ ! view.hiddenFields?.includes( field.id ) }\n\t\t\t\t\t\tonChange={ () => {\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?.includes(\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\t\t? view.hiddenFields.filter(\n\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\n\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\t...( view.hiddenFields || [] ),\n\t\t\t\t\t\t\t\t\t\t\tfield.id,\n\t\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{ field.header }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuCheckboxItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction SortMenu( { fields, view, onChangeView } ) {\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( ! sortableFields?.length ) {\n\t\treturn null;\n\t}\n\tconst currentSortedField = fields.find(\n\t\t( field ) => field.id === view.sort?.field\n\t);\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ currentSortedField?.header }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Sort by' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ sortableFields?.map( ( field ) => {\n\t\t\t\tconst sortedDirection = view.sort?.direction;\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminWidth: '220px',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\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\tcurrentSortedField !== undefined &&\n\t\t\t\t\t\t\t\t\tsortedDirection === direction &&\n\t\t\t\t\t\t\t\t\tfield.id === currentSortedField.id;\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-actions-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</DropdownMenu>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nconst ViewActions = memo( function ViewActions( {\n\tfields,\n\tview,\n\tonChangeView,\n\tsupportedLayouts,\n} ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={\n\t\t\t\t\t\tVIEW_LAYOUTS.find( ( v ) => v.type === view.type )\n\t\t\t\t\t\t\t?.icon ||\n\t\t\t\t\t\tVIEW_LAYOUTS.find( ( v ) => v.type === LAYOUT_TABLE )\n\t\t\t\t\t\t\t.icon\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'View options' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t{ window?.__experimentalAdminViews && (\n\t\t\t\t\t<ViewTypeMenu\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<SortMenu\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t/>\n\t\t\t\t<FieldsVisibilityMenu\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t/>\n\t\t\t\t<PageSizeMenu view={ view } onChangeView={ onChangeView } />\n\t\t\t</DropdownMenuGroup>\n\t\t</DropdownMenu>\n\t);\n} );\n\nexport default ViewActions;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAdA;AACA;AACA;;AAQA;AACA;AACA;;AAIA,MAAM;EACLK,cAAc,EAAEC,YAAY;EAC5BC,mBAAmB,EAAEC,iBAAiB;EACtCC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC,qBAAqB;EAC9CC,0BAA0B,EAAEC,wBAAwB;EACpDC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEnC,SAASC,YAAYA,CAAE;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAiB,CAAC,EAAG;EACjE,IAAIC,eAAe,GAAGC,uBAAY;EAClC,IAAKF,gBAAgB,EAAG;IACvBC,eAAe,GAAGA,eAAe,CAACE,MAAM,CAAIC,KAAK,IAChDJ,gBAAgB,CAACK,QAAQ,CAAED,KAAK,CAACE,IAAK,CACvC,CAAC;EACF;EACA,IAAKL,eAAe,CAACM,MAAM,KAAK,CAAC,EAAG;IACnC,OAAO,IAAI;EACZ;EACA,MAAMC,UAAU,GAAGP,eAAe,CAACQ,IAAI,CAAIC,CAAC,IAAMZ,IAAI,CAACQ,IAAI,KAAKI,CAAC,CAACJ,IAAK,CAAC;EACxE,OACC,IAAAK,MAAA,CAAAC,aAAA,EAAC5B,YAAY;IACZ6B,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAACxB,gBAAgB;MAChB0B,MAAM,EACL,IAAAH,MAAA,CAAAC,aAAA;QAAM,eAAY;MAAM,GAAGJ,UAAU,CAACO,KAAa;IACnD,GAED,IAAAJ,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QACnB,IAAAsB,QAAE,EAAE,QAAS,CACO,CACN;EAClB,GAECf,eAAe,CAACgB,GAAG,CAAIC,aAAa,IAAM;IAC3C,OACC,IAAAP,MAAA,CAAAC,aAAA,EAACtB,qBAAqB;MACrB6B,GAAG,EAAGD,aAAa,CAACZ,IAAM;MAC1Bc,KAAK,EAAGF,aAAa,CAACZ,IAAM;MAC5Be,IAAI,EAAC,6BAA6B;MAClCC,OAAO,EAAGJ,aAAa,CAACZ,IAAI,KAAKR,IAAI,CAACQ,IAAM;MAC5CiB,WAAW,EAAG,IAAM;MACpBC,QAAQ,EAAKC,CAAC,IAAM;QACnB1B,YAAY,CAAE;UACb,GAAGD,IAAI;UACPQ,IAAI,EAAEmB,CAAC,CAACC,MAAM,CAACN;QAChB,CAAE,CAAC;MACJ;IAAG,GAEH,IAAAT,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QACnBwB,aAAa,CAACH,KACM,CACD,CAAC;EAE1B,CAAE,CACW,CAAC;AAEjB;AAEA,MAAMY,gBAAgB,GAAG,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAE;AAC5C,SAASC,YAAYA,CAAE;EAAE9B,IAAI;EAAEC;AAAa,CAAC,EAAG;EAC/C,OACC,IAAAY,MAAA,CAAAC,aAAA,EAAC5B,YAAY;IACZ6B,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAACxB,gBAAgB;MAChB0B,MAAM,EAAG,IAAAH,MAAA,CAAAC,aAAA;QAAM,eAAY;MAAM,GAAGd,IAAI,CAAC+B,OAAe;IAAG,GAE3D,IAAAlB,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QAEnB,IAAAsB,QAAE,EAAE,eAAgB,CACA,CACN;EAClB,GAECW,gBAAgB,CAACV,GAAG,CAAIa,IAAI,IAAM;IACnC,OACC,IAAAnB,MAAA,CAAAC,aAAA,EAACtB,qBAAqB;MACrB6B,GAAG,EAAGW,IAAM;MACZV,KAAK,EAAGU,IAAM;MACdT,IAAI,EAAC,wBAAwB;MAC7BC,OAAO,EAAGxB,IAAI,CAAC+B,OAAO,KAAKC,IAAM;MACjCN,QAAQ,EAAGA,CAAA,KAAM;QAChBzB,YAAY,CAAE;UACb,GAAGD,IAAI;UACP;UACA;UACA+B,OAAO,EAAEC,IAAI;UACbC,IAAI,EAAE;QACP,CAAE,CAAC;MACJ;IAAG,GAEH,IAAApB,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QAAGoC,IAA6B,CAChC,CAAC;EAE1B,CAAE,CACW,CAAC;AAEjB;AAEA,SAASE,oBAAoBA,CAAE;EAAElC,IAAI;EAAEC,YAAY;EAAEkC;AAAO,CAAC,EAAG;EAC/D,MAAMC,aAAa,GAAGD,MAAM,CAAC9B,MAAM,CAChCgC,KAAK,IACNA,KAAK,CAACC,YAAY,KAAK,KAAK,IAAID,KAAK,CAACE,EAAE,KAAKvC,IAAI,CAACwC,MAAM,CAACC,UAC3D,CAAC;EACD,IAAK,CAAEL,aAAa,EAAE3B,MAAM,EAAG;IAC9B,OAAO,IAAI;EACZ;EACA,OACC,IAAAI,MAAA,CAAAC,aAAA,EAAC5B,YAAY;IACZ6B,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAACxB,gBAAgB,QAChB,IAAAuB,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QACnB,IAAAsB,QAAE,EAAE,QAAS,CACO,CACN;EAClB,GAECkB,aAAa,EAAEjB,GAAG,CAAIkB,KAAK,IAAM;IAClC,OACC,IAAAxB,MAAA,CAAAC,aAAA,EAACpB,wBAAwB;MACxB2B,GAAG,EAAGgB,KAAK,CAACE,EAAI;MAChBjB,KAAK,EAAGe,KAAK,CAACE,EAAI;MAClBf,OAAO,EAAG,CAAExB,IAAI,CAAC0C,YAAY,EAAEnC,QAAQ,CAAE8B,KAAK,CAACE,EAAG,CAAG;MACrDb,QAAQ,EAAGA,CAAA,KAAM;QAChBzB,YAAY,CAAE;UACb,GAAGD,IAAI;UACP0C,YAAY,EAAE1C,IAAI,CAAC0C,YAAY,EAAEnC,QAAQ,CACxC8B,KAAK,CAACE,EACP,CAAC,GACEvC,IAAI,CAAC0C,YAAY,CAACrC,MAAM,CACtBkC,EAAE,IAAMA,EAAE,KAAKF,KAAK,CAACE,EACvB,CAAC,GACD,CACA,IAAKvC,IAAI,CAAC0C,YAAY,IAAI,EAAE,CAAE,EAC9BL,KAAK,CAACE,EAAE;QAEZ,CAAE,CAAC;MACJ;IAAG,GAEH,IAAA1B,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QACnByC,KAAK,CAACM,MACc,CACE,CAAC;EAE7B,CAAE,CACW,CAAC;AAEjB;AAEA,SAASC,QAAQA,CAAE;EAAET,MAAM;EAAEnC,IAAI;EAAEC;AAAa,CAAC,EAAG;EACnD,MAAM4C,cAAc,GAAGV,MAAM,CAAC9B,MAAM,CACjCgC,KAAK,IAAMA,KAAK,CAACS,aAAa,KAAK,KACtC,CAAC;EACD,IAAK,CAAED,cAAc,EAAEpC,MAAM,EAAG;IAC/B,OAAO,IAAI;EACZ;EACA,MAAMsC,kBAAkB,GAAGZ,MAAM,CAACxB,IAAI,CACnC0B,KAAK,IAAMA,KAAK,CAACE,EAAE,KAAKvC,IAAI,CAACgD,IAAI,EAAEX,KACtC,CAAC;EACD,OACC,IAAAxB,MAAA,CAAAC,aAAA,EAAC5B,YAAY;IACZ6B,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAACxB,gBAAgB;MAChB0B,MAAM,EACL,IAAAH,MAAA,CAAAC,aAAA;QAAM,eAAY;MAAM,GACrBiC,kBAAkB,EAAEJ,MACjB;IACN,GAED,IAAA9B,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QACnB,IAAAsB,QAAE,EAAE,SAAU,CACM,CACN;EAClB,GAEC2B,cAAc,EAAE1B,GAAG,CAAIkB,KAAK,IAAM;IACnC,MAAMY,eAAe,GAAGjD,IAAI,CAACgD,IAAI,EAAEE,SAAS;IAC5C,OACC,IAAArC,MAAA,CAAAC,aAAA,EAAC5B,YAAY;MACZmC,GAAG,EAAGgB,KAAK,CAACE,EAAI;MAChBxB,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAACxB,gBAAgB,QAChB,IAAAuB,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QACnByC,KAAK,CAACM,MACc,CACN,CAClB;MACDQ,KAAK,EAAG;QACPC,QAAQ,EAAE;MACX;IAAG,GAEDC,MAAM,CAACC,OAAO,CAAEC,6BAAmB,CAAC,CAACpC,GAAG,CACzC,CAAE,CAAE+B,SAAS,EAAEM,IAAI,CAAE,KAAM;MAC1B,MAAMC,SAAS,GACdV,kBAAkB,KAAKW,SAAS,IAChCT,eAAe,KAAKC,SAAS,IAC7Bb,KAAK,CAACE,EAAE,KAAKQ,kBAAkB,CAACR,EAAE;MAEnC,MAAMjB,KAAK,GAAI,GAAGe,KAAK,CAACE,EAAI,IAAIW,SAAW,EAAC;MAE5C,OACC,IAAArC,MAAA,CAAAC,aAAA,EAACtB,qBAAqB;QACrB6B,GAAG,EAAGC;QACN;QACA;QACA;QACA;QACA;QAAA;QACAC,IAAI,EAAC,sBAAsB;QAC3BD,KAAK,EAAGA,KAAO;QACfE,OAAO,EAAGiC,SAAW;QACrB/B,QAAQ,EAAGA,CAAA,KAAM;UAChBzB,YAAY,CAAE;YACb,GAAGD,IAAI;YACPgD,IAAI,EAAE;cACLX,KAAK,EAAEA,KAAK,CAACE,EAAE;cACfW;YACD;UACD,CAAE,CAAC;QACJ;MAAG,GAEH,IAAArC,MAAA,CAAAC,aAAA,EAAClB,qBAAqB,QACnB4D,IAAI,CAACvC,KACe,CACD,CAAC;IAE1B,CACD,CACa,CAAC;EAEjB,CAAE,CACW,CAAC;AAEjB;AAEA,MAAM0C,WAAW,GAAG,IAAAC,aAAI,EAAE,SAASD,WAAWA,CAAE;EAC/CxB,MAAM;EACNnC,IAAI;EACJC,YAAY;EACZC;AACD,CAAC,EAAG;EACH,OACC,IAAAW,MAAA,CAAAC,aAAA,EAAC5B,YAAY;IACZ6B,OAAO,EACN,IAAAF,MAAA,CAAAC,aAAA,EAACnC,WAAA,CAAAkF,MAAM;MACN7B,IAAI,EAAC,SAAS;MACd8B,IAAI,EACH1D,uBAAY,CAACO,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACJ,IAAI,KAAKR,IAAI,CAACQ,IAAK,CAAC,EAC/CsD,IAAI,IACP1D,uBAAY,CAACO,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACJ,IAAI,KAAKuD,uBAAa,CAAC,CACnDD,IACF;MACD7C,KAAK,EAAG,IAAAC,QAAE,EAAE,cAAe;IAAG,CAC9B;EACD,GAED,IAAAL,MAAA,CAAAC,aAAA,EAAC1B,iBAAiB,QACf4E,MAAM,EAAEC,wBAAwB,IACjC,IAAApD,MAAA,CAAAC,aAAA,EAACf,YAAY;IACZC,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA,YAAc;IAC7BC,gBAAgB,EAAGA;EAAkB,CACrC,CACD,EACD,IAAAW,MAAA,CAAAC,aAAA,EAAC8B,QAAQ;IACRT,MAAM,EAAGA,MAAQ;IACjBnC,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CAAC,EACF,IAAAY,MAAA,CAAAC,aAAA,EAACoB,oBAAoB;IACpBC,MAAM,EAAGA,MAAQ;IACjBnC,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CAAC,EACF,IAAAY,MAAA,CAAAC,aAAA,EAACgB,YAAY;IAAC9B,IAAI,EAAGA,IAAM;IAACC,YAAY,EAAGA;EAAc,CAAE,CACzC,CACN,CAAC;AAEjB,CAAE,CAAC;AAAC,IAAAiE,QAAA,GAEWP,WAAW;AAAAQ,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -36,10 +36,10 @@ function ViewGrid({
36
36
  gap: 8,
37
37
  columns: 2,
38
38
  alignment: "top",
39
- className: "dataviews-grid-view"
40
- }, usedData.map((item, index) => (0, _react.createElement)(_components.__experimentalVStack, {
39
+ className: "dataviews-view-grid"
40
+ }, usedData.map(item => (0, _react.createElement)(_components.__experimentalVStack, {
41
41
  spacing: 3,
42
- key: getItemId?.(item) || index,
42
+ key: getItemId(item),
43
43
  className: "dataviews-view-grid__card"
44
44
  }, (0, _react.createElement)("div", {
45
45
  className: "dataviews-view-grid__media"
@@ -72,9 +72,7 @@ function ViewGrid({
72
72
  className: "dataviews-view-grid__field-header"
73
73
  }, field.header), (0, _react.createElement)("div", {
74
74
  className: "dataviews-view-grid__field-value"
75
- }, field.render({
76
- item
77
- })));
75
+ }, renderedValue));
78
76
  })))));
79
77
  }
80
78
  //# sourceMappingURL=view-grid.js.map