@wordpress/dataviews 1.1.0 → 1.2.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 (124) hide show
  1. package/CHANGELOG.md +11 -5
  2. package/build/bulk-actions-toolbar.js +182 -0
  3. package/build/bulk-actions-toolbar.js.map +1 -0
  4. package/build/bulk-actions.js +8 -8
  5. package/build/bulk-actions.js.map +1 -1
  6. package/build/dataviews.js +11 -4
  7. package/build/dataviews.js.map +1 -1
  8. package/build/filter-and-sort-data-view.js +2 -2
  9. package/build/filter-and-sort-data-view.js.map +1 -1
  10. package/build/filter-summary.js +3 -3
  11. package/build/filter-summary.js.map +1 -1
  12. package/build/item-actions.js +41 -22
  13. package/build/item-actions.js.map +1 -1
  14. package/build/lock-unlock.js.map +1 -1
  15. package/build/normalize-fields.js.map +1 -1
  16. package/build/pagination.js +13 -7
  17. package/build/pagination.js.map +1 -1
  18. package/build/single-selection-checkbox.js +4 -0
  19. package/build/single-selection-checkbox.js.map +1 -1
  20. package/build/types.js.map +1 -1
  21. package/build/view-grid.js +9 -10
  22. package/build/view-grid.js.map +1 -1
  23. package/build/view-list.js +134 -21
  24. package/build/view-list.js.map +1 -1
  25. package/build/view-table.js +9 -9
  26. package/build/view-table.js.map +1 -1
  27. package/build-module/bulk-actions-toolbar.js +175 -0
  28. package/build-module/bulk-actions-toolbar.js.map +1 -0
  29. package/build-module/bulk-actions.js +8 -8
  30. package/build-module/bulk-actions.js.map +1 -1
  31. package/build-module/dataviews.js +11 -4
  32. package/build-module/dataviews.js.map +1 -1
  33. package/build-module/filter-and-sort-data-view.js +2 -2
  34. package/build-module/filter-and-sort-data-view.js.map +1 -1
  35. package/build-module/filter-summary.js +3 -3
  36. package/build-module/filter-summary.js.map +1 -1
  37. package/build-module/item-actions.js +40 -24
  38. package/build-module/item-actions.js.map +1 -1
  39. package/build-module/lock-unlock.js.map +1 -1
  40. package/build-module/normalize-fields.js.map +1 -1
  41. package/build-module/pagination.js +14 -7
  42. package/build-module/pagination.js.map +1 -1
  43. package/build-module/single-selection-checkbox.js +5 -0
  44. package/build-module/single-selection-checkbox.js.map +1 -1
  45. package/build-module/types.js.map +1 -1
  46. package/build-module/view-grid.js +9 -10
  47. package/build-module/view-grid.js.map +1 -1
  48. package/build-module/view-list.js +135 -23
  49. package/build-module/view-list.js.map +1 -1
  50. package/build-module/view-table.js +9 -9
  51. package/build-module/view-table.js.map +1 -1
  52. package/build-style/style-rtl.css +62 -27
  53. package/build-style/style.css +62 -27
  54. package/build-types/add-filter.d.ts +8 -0
  55. package/build-types/add-filter.d.ts.map +1 -0
  56. package/build-types/bulk-actions-toolbar.d.ts +8 -0
  57. package/build-types/bulk-actions-toolbar.d.ts.map +1 -0
  58. package/build-types/bulk-actions.d.ts +14 -0
  59. package/build-types/bulk-actions.d.ts.map +1 -0
  60. package/build-types/dataviews.d.ts +15 -0
  61. package/build-types/dataviews.d.ts.map +1 -0
  62. package/build-types/dropdown-menu-helper.d.ts +6 -0
  63. package/build-types/dropdown-menu-helper.d.ts.map +1 -0
  64. package/build-types/filter-and-sort-data-view.d.ts +3 -3
  65. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  66. package/build-types/filter-summary.d.ts +6 -0
  67. package/build-types/filter-summary.d.ts.map +1 -0
  68. package/build-types/filters.d.ts +3 -0
  69. package/build-types/filters.d.ts.map +1 -0
  70. package/build-types/index.d.ts +4 -0
  71. package/build-types/index.d.ts.map +1 -0
  72. package/build-types/item-actions.d.ts +37 -0
  73. package/build-types/item-actions.d.ts.map +1 -0
  74. package/build-types/layouts.d.ts +20 -0
  75. package/build-types/layouts.d.ts.map +1 -0
  76. package/build-types/lock-unlock.d.ts +2 -0
  77. package/build-types/lock-unlock.d.ts.map +1 -0
  78. package/build-types/normalize-fields.d.ts +2 -2
  79. package/build-types/normalize-fields.d.ts.map +1 -1
  80. package/build-types/pagination.d.ts +16 -0
  81. package/build-types/pagination.d.ts.map +1 -0
  82. package/build-types/reset-filters.d.ts +6 -0
  83. package/build-types/reset-filters.d.ts.map +1 -0
  84. package/build-types/search-widget.d.ts +2 -0
  85. package/build-types/search-widget.d.ts.map +1 -0
  86. package/build-types/search.d.ts +3 -0
  87. package/build-types/search.d.ts.map +1 -0
  88. package/build-types/single-selection-checkbox.d.ts +17 -0
  89. package/build-types/single-selection-checkbox.d.ts.map +1 -0
  90. package/build-types/stories/fixtures.d.ts +114 -0
  91. package/build-types/stories/fixtures.d.ts.map +1 -0
  92. package/build-types/stories/index.story.d.ts +15 -0
  93. package/build-types/stories/index.story.d.ts.map +1 -0
  94. package/build-types/types.d.ts +152 -20
  95. package/build-types/types.d.ts.map +1 -1
  96. package/build-types/utils.d.ts +2 -0
  97. package/build-types/utils.d.ts.map +1 -0
  98. package/build-types/view-actions.d.ts +3 -0
  99. package/build-types/view-actions.d.ts.map +1 -0
  100. package/build-types/view-grid.d.ts +15 -0
  101. package/build-types/view-grid.d.ts.map +1 -0
  102. package/build-types/view-list.d.ts +16 -0
  103. package/build-types/view-list.d.ts.map +1 -0
  104. package/build-types/view-table.d.ts +14 -0
  105. package/build-types/view-table.d.ts.map +1 -0
  106. package/package.json +12 -12
  107. package/src/bulk-actions-toolbar.js +244 -0
  108. package/src/{bulk-actions.js → bulk-actions.tsx} +73 -17
  109. package/src/dataviews.js +14 -3
  110. package/src/filter-and-sort-data-view.ts +13 -8
  111. package/src/filter-summary.js +3 -3
  112. package/src/{item-actions.js → item-actions.tsx} +112 -28
  113. package/src/normalize-fields.ts +4 -2
  114. package/src/{pagination.js → pagination.tsx} +28 -7
  115. package/src/{single-selection-checkbox.js → single-selection-checkbox.tsx} +17 -2
  116. package/src/style.scss +77 -28
  117. package/src/types.ts +190 -20
  118. package/src/{view-grid.js → view-grid.tsx} +45 -16
  119. package/src/view-list.tsx +421 -0
  120. package/src/view-table.js +8 -8
  121. package/tsconfig.json +4 -2
  122. package/tsconfig.tsbuildinfo +1 -1
  123. package/src/view-list.js +0 -207
  124. /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_element","_icons","_searchWidget","_constants","ENTER","SPACE","FilterText","activeElements","filterInView","filter","undefined","length","name","filterTextWrappers","Name","_react","createElement","className","Value","operator","OPERATOR_IS_ANY","createInterpolateElement","sprintf","__","map","element","label","join","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","OperatorSelector","view","onChangeView","operatorOptions","operators","value","OPERATORS","currentFilter","filters","find","_filter","field","__experimentalHStack","spacing","justify","FlexItem","SelectControl","options","onChange","newValue","newFilters","page","size","__nextHasNoMarginBottom","hideLabelFromVision","FilterSummary","addFilterRef","openedFilter","commonProps","toggleRef","useRef","f","elements","singleSelection","includes","isPrimary","hasValues","canResetOrRemove","Dropdown","defaultOpen","contentClassName","popoverProps","placement","role","onClose","current","focus","renderToggle","isOpen","onToggle","Tooltip","text","toLowerCase","classnames","tabIndex","onClick","onKeyDown","event","key","preventDefault","ref","Icon","icon","closeSmall","renderContent","__experimentalVStack","default"],"sources":["@wordpress/dataviews/src/filter-summary.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tSelectControl,\n\tTooltip,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport {\n\tOPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n} from './constants';\n\nconst FilterText = ( { activeElements, filterInView, filter } ) => {\n\tif ( activeElements === undefined || activeElements.length === 0 ) {\n\t\treturn filter.name;\n\t}\n\n\tconst filterTextWrappers = {\n\t\tName: <span className=\"dataviews-filter-summary__filter-text-name\" />,\n\t\tValue: <span className=\"dataviews-filter-summary__filter-text-value\" />,\n\t};\n\n\tif ( filterInView?.operator === OPERATOR_IS_ANY ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is any: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NONE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is none: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is not all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is: Admin\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not: Admin\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\treturn sprintf(\n\t\t/* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n\t\t__( 'Unknown status for %1$s' ),\n\t\tfilter.name\n\t);\n};\n\nfunction OperatorSelector( { filter, view, onChangeView } ) {\n\tconst operatorOptions = filter.operators?.map( ( operator ) => ( {\n\t\tvalue: operator,\n\t\tlabel: OPERATORS[ operator ]?.label,\n\t} ) );\n\tconst currentFilter = view.filters.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst value = currentFilter?.operator || filter.operators[ 0 ];\n\treturn (\n\t\toperatorOptions.length > 1 && (\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"dataviews-filter-summary__operators-container\"\n\t\t\t>\n\t\t\t\t<FlexItem className=\"dataviews-filter-summary__operators-filter-name\">\n\t\t\t\t\t{ filter.name }\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Conditions' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\toptions={ operatorOptions }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...view.filters.map( ( _filter ) => {\n\t\t\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: newValue,\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\treturn _filter;\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\t: [\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\toperator: newValue,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ];\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default function FilterSummary( {\n\taddFilterRef,\n\topenedFilter,\n\t...commonProps\n} ) {\n\tconst toggleRef = useRef();\n\tconst { filter, view, onChangeView } = commonProps;\n\tconst filterInView = view.filters.find( ( f ) => f.field === filter.field );\n\tconst activeElements = filter.elements.filter( ( element ) => {\n\t\tif ( filter.singleSelection ) {\n\t\t\treturn element.value === filterInView?.value;\n\t\t}\n\t\treturn filterInView?.value?.includes( element.value );\n\t} );\n\tconst isPrimary = filter.isPrimary;\n\tconst hasValues = filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! isPrimary || hasValues;\n\treturn (\n\t\t<Dropdown\n\t\t\tdefaultOpen={ openedFilter === filter.field }\n\t\t\tcontentClassName=\"dataviews-filter-summary__popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start', role: 'dialog' } }\n\t\t\tonClose={ () => {\n\t\t\t\ttoggleRef.current?.focus();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<div className=\"dataviews-filter-summary__chip-container\">\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Filter name. */\n\t\t\t\t\t\t\t__( 'Filter by: %1$s' ),\n\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-reset': canResetOrRemove,\n\t\t\t\t\t\t\t\t\t'has-values': hasValues,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( [ ENTER, SPACE ].includes( event.key ) ) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-pressed={ isOpen }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FilterText\n\t\t\t\t\t\t\t\tactiveElements={ activeElements }\n\t\t\t\t\t\t\t\tfilterInView={ filterInView }\n\t\t\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t{ canResetOrRemove && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ isPrimary ? __( 'Reset' ) : __( 'Remove' ) }\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip-remove',\n\t\t\t\t\t\t\t\t\t{ 'has-values': hasValues }\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: view.filters.filter(\n\t\t\t\t\t\t\t\t\t\t\t( _filter ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field !== filter.field\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// If the filter is not primary and can be removed, it will be added\n\t\t\t\t\t\t\t\t\t// back to the available filters from `Add filter` component.\n\t\t\t\t\t\t\t\t\tif ( ! isPrimary ) {\n\t\t\t\t\t\t\t\t\t\taddFilterRef.current?.focus();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// If is primary, focus the toggle button.\n\t\t\t\t\t\t\t\t\t\ttoggleRef.current?.focus();\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<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 0 } justify=\"flex-start\">\n\t\t\t\t\t\t<OperatorSelector { ...commonProps } />\n\t\t\t\t\t\t<SearchWidget { ...commonProps } />\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AASA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAQA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AA5BA;AACA;AACA;;AAGA;AACA;AACA;;AAcA,MAAMO,KAAK,GAAG,OAAO;AACrB,MAAMC,KAAK,GAAG,GAAG;;AAEjB;AACA;AACA;;AAYA,MAAMC,UAAU,GAAGA,CAAE;EAAEC,cAAc;EAAEC,YAAY;EAAEC;AAAO,CAAC,KAAM;EAClE,IAAKF,cAAc,KAAKG,SAAS,IAAIH,cAAc,CAACI,MAAM,KAAK,CAAC,EAAG;IAClE,OAAOF,MAAM,CAACG,IAAI;EACnB;EAEA,MAAMC,kBAAkB,GAAG;IAC1BC,IAAI,EAAE,IAAAC,MAAA,CAAAC,aAAA;MAAMC,SAAS,EAAC;IAA4C,CAAE,CAAC;IACrEC,KAAK,EAAE,IAAAH,MAAA,CAAAC,aAAA;MAAMC,SAAS,EAAC;IAA6C,CAAE;EACvE,CAAC;EAED,IAAKT,YAAY,EAAEW,QAAQ,KAAKC,0BAAe,EAAG;IACjD,OAAO,IAAAC,iCAAwB,EAC9B,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EAAE,+CAAgD,CAAC,EACrDd,MAAM,CAACG,IAAI,EACXL,cAAc,CAACiB,GAAG,CAAIC,OAAO,IAAMA,OAAO,CAACC,KAAM,CAAC,CAACC,IAAI,CAAE,IAAK,CAC/D,CAAC,EACDd,kBACD,CAAC;EACF;EAEA,IAAKL,YAAY,EAAEW,QAAQ,KAAKS,2BAAgB,EAAG;IAClD,OAAO,IAAAP,iCAAwB,EAC9B,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EAAE,gDAAiD,CAAC,EACtDd,MAAM,CAACG,IAAI,EACXL,cAAc,CAACiB,GAAG,CAAIC,OAAO,IAAMA,OAAO,CAACC,KAAM,CAAC,CAACC,IAAI,CAAE,IAAK,CAC/D,CAAC,EACDd,kBACD,CAAC;EACF;EAEA,IAAKL,YAAY,EAAEW,QAAQ,KAAKU,0BAAe,EAAG;IACjD,OAAO,IAAAR,iCAAwB,EAC9B,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EAAE,+CAAgD,CAAC,EACrDd,MAAM,CAACG,IAAI,EACXL,cAAc,CAACiB,GAAG,CAAIC,OAAO,IAAMA,OAAO,CAACC,KAAM,CAAC,CAACC,IAAI,CAAE,IAAK,CAC/D,CAAC,EACDd,kBACD,CAAC;EACF;EAEA,IAAKL,YAAY,EAAEW,QAAQ,KAAKW,8BAAmB,EAAG;IACrD,OAAO,IAAAT,iCAAwB,EAC9B,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EAAE,mDAAoD,CAAC,EACzDd,MAAM,CAACG,IAAI,EACXL,cAAc,CAACiB,GAAG,CAAIC,OAAO,IAAMA,OAAO,CAACC,KAAM,CAAC,CAACC,IAAI,CAAE,IAAK,CAC/D,CAAC,EACDd,kBACD,CAAC;EACF;EAEA,IAAKL,YAAY,EAAEW,QAAQ,KAAKY,sBAAW,EAAG;IAC7C,OAAO,IAAAV,iCAAwB,EAC9B,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EAAE,2CAA4C,CAAC,EACjDd,MAAM,CAACG,IAAI,EACXL,cAAc,CAAE,CAAC,CAAE,CAACmB,KACrB,CAAC,EACDb,kBACD,CAAC;EACF;EAEA,IAAKL,YAAY,EAAEW,QAAQ,KAAKa,0BAAe,EAAG;IACjD,OAAO,IAAAX,iCAAwB,EAC9B,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EAAE,+CAAgD,CAAC,EACrDd,MAAM,CAACG,IAAI,EACXL,cAAc,CAAE,CAAC,CAAE,CAACmB,KACrB,CAAC,EACDb,kBACD,CAAC;EACF;EAEA,OAAO,IAAAS,aAAO,GACb;EACA,IAAAC,QAAE,EAAE,yBAA0B,CAAC,EAC/Bd,MAAM,CAACG,IACR,CAAC;AACF,CAAC;AAED,SAASqB,gBAAgBA,CAAE;EAAExB,MAAM;EAAEyB,IAAI;EAAEC;AAAa,CAAC,EAAG;EAC3D,MAAMC,eAAe,GAAG3B,MAAM,CAAC4B,SAAS,EAAEb,GAAG,CAAIL,QAAQ,KAAQ;IAChEmB,KAAK,EAAEnB,QAAQ;IACfO,KAAK,EAAEa,oBAAS,CAAEpB,QAAQ,CAAE,EAAEO;EAC/B,CAAC,CAAG,CAAC;EACL,MAAMc,aAAa,GAAGN,IAAI,CAACO,OAAO,CAACC,IAAI,CACpCC,OAAO,IAAMA,OAAO,CAACC,KAAK,KAAKnC,MAAM,CAACmC,KACzC,CAAC;EACD,MAAMN,KAAK,GAAGE,aAAa,EAAErB,QAAQ,IAAIV,MAAM,CAAC4B,SAAS,CAAE,CAAC,CAAE;EAC9D,OACCD,eAAe,CAACzB,MAAM,GAAG,CAAC,IACzB,IAAAI,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAA+C,oBAAM;IACNC,OAAO,EAAG,CAAG;IACbC,OAAO,EAAC,YAAY;IACpB9B,SAAS,EAAC;EAA+C,GAEzD,IAAAF,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAkD,QAAQ;IAAC/B,SAAS,EAAC;EAAiD,GAClER,MAAM,CAACG,IACA,CAAC,EAEX,IAAAG,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAmD,aAAa;IACbvB,KAAK,EAAG,IAAAH,QAAE,EAAE,YAAa,CAAG;IAC5Be,KAAK,EAAGA,KAAO;IACfY,OAAO,EAAGd,eAAiB;IAC3Be,QAAQ,EAAKC,QAAQ,IAAM;MAC1B,MAAMC,UAAU,GAAGb,aAAa,GAC7B,CACA,GAAGN,IAAI,CAACO,OAAO,CAACjB,GAAG,CAAImB,OAAO,IAAM;QACnC,IAAKA,OAAO,CAACC,KAAK,KAAKnC,MAAM,CAACmC,KAAK,EAAG;UACrC,OAAO;YACN,GAAGD,OAAO;YACVxB,QAAQ,EAAEiC;UACX,CAAC;QACF;QACA,OAAOT,OAAO;MACf,CAAE,CAAC,CACF,GACD,CACA,GAAGT,IAAI,CAACO,OAAO,EACf;QACCG,KAAK,EAAEnC,MAAM,CAACmC,KAAK;QACnBzB,QAAQ,EAAEiC;MACX,CAAC,CACA;MACJjB,YAAY,CAAE;QACb,GAAGD,IAAI;QACPoB,IAAI,EAAE,CAAC;QACPb,OAAO,EAAEY;MACV,CAAE,CAAC;IACJ,CAAG;IACHE,IAAI,EAAC,OAAO;IACZC,uBAAuB;IACvBC,mBAAmB;EAAA,CACnB,CACM,CACR;AAEH;AAEe,SAASC,aAAaA,CAAE;EACtCC,YAAY;EACZC,YAAY;EACZ,GAAGC;AACJ,CAAC,EAAG;EACH,MAAMC,SAAS,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC1B,MAAM;IAAEtD,MAAM;IAAEyB,IAAI;IAAEC;EAAa,CAAC,GAAG0B,WAAW;EAClD,MAAMrD,YAAY,GAAG0B,IAAI,CAACO,OAAO,CAACC,IAAI,CAAIsB,CAAC,IAAMA,CAAC,CAACpB,KAAK,KAAKnC,MAAM,CAACmC,KAAM,CAAC;EAC3E,MAAMrC,cAAc,GAAGE,MAAM,CAACwD,QAAQ,CAACxD,MAAM,CAAIgB,OAAO,IAAM;IAC7D,IAAKhB,MAAM,CAACyD,eAAe,EAAG;MAC7B,OAAOzC,OAAO,CAACa,KAAK,KAAK9B,YAAY,EAAE8B,KAAK;IAC7C;IACA,OAAO9B,YAAY,EAAE8B,KAAK,EAAE6B,QAAQ,CAAE1C,OAAO,CAACa,KAAM,CAAC;EACtD,CAAE,CAAC;EACH,MAAM8B,SAAS,GAAG3D,MAAM,CAAC2D,SAAS;EAClC,MAAMC,SAAS,GAAG7D,YAAY,EAAE8B,KAAK,KAAK5B,SAAS;EACnD,MAAM4D,gBAAgB,GAAG,CAAEF,SAAS,IAAIC,SAAS;EACjD,OACC,IAAAtD,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAyE,QAAQ;IACRC,WAAW,EAAGZ,YAAY,KAAKnD,MAAM,CAACmC,KAAO;IAC7C6B,gBAAgB,EAAC,mCAAmC;IACpDC,YAAY,EAAG;MAAEC,SAAS,EAAE,cAAc;MAAEC,IAAI,EAAE;IAAS,CAAG;IAC9DC,OAAO,EAAGA,CAAA,KAAM;MACff,SAAS,CAACgB,OAAO,EAAEC,KAAK,CAAC,CAAC;IAC3B,CAAG;IACHC,YAAY,EAAGA,CAAE;MAAEC,MAAM;MAAEC;IAAS,CAAC,KACpC,IAAAnE,MAAA,CAAAC,aAAA;MAAKC,SAAS,EAAC;IAA0C,GACxD,IAAAF,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAqF,OAAO;MACPC,IAAI,EAAG,IAAA9D,aAAO,GACb;MACA,IAAAC,QAAE,EAAE,iBAAkB,CAAC,EACvBd,MAAM,CAACG,IAAI,CAACyE,WAAW,CAAC,CACzB,CAAG;MACHV,SAAS,EAAC;IAAK,GAEf,IAAA5D,MAAA,CAAAC,aAAA;MACCC,SAAS,EAAG,IAAAqE,mBAAU,EACrB,gCAAgC,EAChC;QACC,WAAW,EAAEhB,gBAAgB;QAC7B,YAAY,EAAED;MACf,CACD,CAAG;MACHO,IAAI,EAAC,QAAQ;MACbW,QAAQ,EAAG,CAAG;MACdC,OAAO,EAAGN,QAAU;MACpBO,SAAS,EAAKC,KAAK,IAAM;QACxB,IAAK,CAAEtF,KAAK,EAAEC,KAAK,CAAE,CAAC8D,QAAQ,CAAEuB,KAAK,CAACC,GAAI,CAAC,EAAG;UAC7CT,QAAQ,CAAC,CAAC;UACVQ,KAAK,CAACE,cAAc,CAAC,CAAC;QACvB;MACD,CAAG;MACH,gBAAeX,MAAQ;MACvB,iBAAgBA,MAAQ;MACxBY,GAAG,EAAG/B;IAAW,GAEjB,IAAA/C,MAAA,CAAAC,aAAA,EAACV,UAAU;MACVC,cAAc,EAAGA,cAAgB;MACjCC,YAAY,EAAGA,YAAc;MAC7BC,MAAM,EAAGA;IAAQ,CACjB,CACG,CACG,CAAC,EACR6D,gBAAgB,IACjB,IAAAvD,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAqF,OAAO;MACPC,IAAI,EAAGhB,SAAS,GAAG,IAAA7C,QAAE,EAAE,OAAQ,CAAC,GAAG,IAAAA,QAAE,EAAE,QAAS,CAAG;MACnDoD,SAAS,EAAC;IAAK,GAEf,IAAA5D,MAAA,CAAAC,aAAA;MACCC,SAAS,EAAG,IAAAqE,mBAAU,EACrB,uCAAuC,EACvC;QAAE,YAAY,EAAEjB;MAAU,CAC3B,CAAG;MACHmB,OAAO,EAAGA,CAAA,KAAM;QACfrD,YAAY,CAAE;UACb,GAAGD,IAAI;UACPoB,IAAI,EAAE,CAAC;UACPb,OAAO,EAAEP,IAAI,CAACO,OAAO,CAAChC,MAAM,CACzBkC,OAAO,IACRA,OAAO,CAACC,KAAK,KAAKnC,MAAM,CAACmC,KAC3B;QACD,CAAE,CAAC;QACH;QACA;QACA,IAAK,CAAEwB,SAAS,EAAG;UAClBT,YAAY,CAACmB,OAAO,EAAEC,KAAK,CAAC,CAAC;QAC9B,CAAC,MAAM;UACN;UACAjB,SAAS,CAACgB,OAAO,EAAEC,KAAK,CAAC,CAAC;QAC3B;MACD;IAAG,GAEH,IAAAhE,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAgG,IAAI;MAACC,IAAI,EAAGC;IAAY,CAAE,CACpB,CACA,CAEN,CACH;IACHC,aAAa,EAAGA,CAAA,KAAM;MACrB,OACC,IAAAlF,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoG,oBAAM;QAACpD,OAAO,EAAG,CAAG;QAACC,OAAO,EAAC;MAAY,GACzC,IAAAhC,MAAA,CAAAC,aAAA,EAACiB,gBAAgB;QAAA,GAAM4B;MAAW,CAAI,CAAC,EACvC,IAAA9C,MAAA,CAAAC,aAAA,EAACd,aAAA,CAAAiG,OAAY;QAAA,GAAMtC;MAAW,CAAI,CAC3B,CAAC;IAEX;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_icons","_searchWidget","_constants","ENTER","SPACE","FilterText","activeElements","filterInView","filter","undefined","length","name","filterTextWrappers","Name","_react","createElement","className","Value","operator","OPERATOR_IS_ANY","createInterpolateElement","sprintf","__","map","element","label","join","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","OperatorSelector","view","onChangeView","operatorOptions","operators","value","OPERATORS","currentFilter","filters","find","_filter","field","__experimentalHStack","spacing","justify","FlexItem","SelectControl","options","onChange","newValue","newFilters","page","size","__nextHasNoMarginBottom","hideLabelFromVision","FilterSummary","addFilterRef","openedFilter","commonProps","toggleRef","useRef","f","elements","singleSelection","includes","isPrimary","hasValues","canResetOrRemove","Dropdown","defaultOpen","contentClassName","popoverProps","placement","role","onClose","current","focus","renderToggle","isOpen","onToggle","Tooltip","text","toLowerCase","clsx","tabIndex","onClick","onKeyDown","event","key","preventDefault","ref","Icon","icon","closeSmall","renderContent","__experimentalVStack","default"],"sources":["@wordpress/dataviews/src/filter-summary.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tSelectControl,\n\tTooltip,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport {\n\tOPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n} from './constants';\n\nconst FilterText = ( { activeElements, filterInView, filter } ) => {\n\tif ( activeElements === undefined || activeElements.length === 0 ) {\n\t\treturn filter.name;\n\t}\n\n\tconst filterTextWrappers = {\n\t\tName: <span className=\"dataviews-filter-summary__filter-text-name\" />,\n\t\tValue: <span className=\"dataviews-filter-summary__filter-text-value\" />,\n\t};\n\n\tif ( filterInView?.operator === OPERATOR_IS_ANY ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is any: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NONE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is none: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is not all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is: Admin\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not: Admin\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\treturn sprintf(\n\t\t/* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n\t\t__( 'Unknown status for %1$s' ),\n\t\tfilter.name\n\t);\n};\n\nfunction OperatorSelector( { filter, view, onChangeView } ) {\n\tconst operatorOptions = filter.operators?.map( ( operator ) => ( {\n\t\tvalue: operator,\n\t\tlabel: OPERATORS[ operator ]?.label,\n\t} ) );\n\tconst currentFilter = view.filters.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst value = currentFilter?.operator || filter.operators[ 0 ];\n\treturn (\n\t\toperatorOptions.length > 1 && (\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"dataviews-filter-summary__operators-container\"\n\t\t\t>\n\t\t\t\t<FlexItem className=\"dataviews-filter-summary__operators-filter-name\">\n\t\t\t\t\t{ filter.name }\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Conditions' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\toptions={ operatorOptions }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...view.filters.map( ( _filter ) => {\n\t\t\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: newValue,\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\treturn _filter;\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\t: [\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\toperator: newValue,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ];\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default function FilterSummary( {\n\taddFilterRef,\n\topenedFilter,\n\t...commonProps\n} ) {\n\tconst toggleRef = useRef();\n\tconst { filter, view, onChangeView } = commonProps;\n\tconst filterInView = view.filters.find( ( f ) => f.field === filter.field );\n\tconst activeElements = filter.elements.filter( ( element ) => {\n\t\tif ( filter.singleSelection ) {\n\t\t\treturn element.value === filterInView?.value;\n\t\t}\n\t\treturn filterInView?.value?.includes( element.value );\n\t} );\n\tconst isPrimary = filter.isPrimary;\n\tconst hasValues = filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! isPrimary || hasValues;\n\treturn (\n\t\t<Dropdown\n\t\t\tdefaultOpen={ openedFilter === filter.field }\n\t\t\tcontentClassName=\"dataviews-filter-summary__popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start', role: 'dialog' } }\n\t\t\tonClose={ () => {\n\t\t\t\ttoggleRef.current?.focus();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<div className=\"dataviews-filter-summary__chip-container\">\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Filter name. */\n\t\t\t\t\t\t\t__( 'Filter by: %1$s' ),\n\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-reset': canResetOrRemove,\n\t\t\t\t\t\t\t\t\t'has-values': hasValues,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( [ ENTER, SPACE ].includes( event.key ) ) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-pressed={ isOpen }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FilterText\n\t\t\t\t\t\t\t\tactiveElements={ activeElements }\n\t\t\t\t\t\t\t\tfilterInView={ filterInView }\n\t\t\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t{ canResetOrRemove && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ isPrimary ? __( 'Reset' ) : __( 'Remove' ) }\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip-remove',\n\t\t\t\t\t\t\t\t\t{ 'has-values': hasValues }\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: view.filters.filter(\n\t\t\t\t\t\t\t\t\t\t\t( _filter ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field !== filter.field\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// If the filter is not primary and can be removed, it will be added\n\t\t\t\t\t\t\t\t\t// back to the available filters from `Add filter` component.\n\t\t\t\t\t\t\t\t\tif ( ! isPrimary ) {\n\t\t\t\t\t\t\t\t\t\taddFilterRef.current?.focus();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// If is primary, focus the toggle button.\n\t\t\t\t\t\t\t\t\t\ttoggleRef.current?.focus();\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<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 0 } justify=\"flex-start\">\n\t\t\t\t\t\t<OperatorSelector { ...commonProps } />\n\t\t\t\t\t\t<SearchWidget { ...commonProps } />\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.ActionModal = ActionModal;
7
+ exports.ActionWithModal = ActionWithModal;
8
+ exports.ActionsDropdownMenuGroup = ActionsDropdownMenuGroup;
6
9
  exports.default = ItemActions;
7
10
  var _react = require("react");
8
11
  var _components = require("@wordpress/components");
@@ -10,6 +13,10 @@ var _i18n = require("@wordpress/i18n");
10
13
  var _element = require("@wordpress/element");
11
14
  var _icons = require("@wordpress/icons");
12
15
  var _lockUnlock = require("./lock-unlock");
16
+ /**
17
+ * External dependencies
18
+ */
19
+
13
20
  /**
14
21
  * WordPress dependencies
15
22
  */
@@ -43,47 +50,59 @@ function DropdownMenuItemTrigger({
43
50
  }) {
44
51
  return (0, _react.createElement)(DropdownMenuItem, {
45
52
  onClick: onClick,
46
- hideOnClick: !action.RenderModal
53
+ hideOnClick: !('RenderModal' in action)
47
54
  }, (0, _react.createElement)(DropdownMenuItemLabel, null, action.label));
48
55
  }
56
+ function ActionModal({
57
+ action,
58
+ items,
59
+ closeModal
60
+ }) {
61
+ return (0, _react.createElement)(_components.Modal, {
62
+ title: action.modalHeader || action.label,
63
+ __experimentalHideHeader: !!action.hideModalHeader,
64
+ onRequestClose: closeModal !== null && closeModal !== void 0 ? closeModal : () => {},
65
+ overlayClassName: `dataviews-action-modal dataviews-action-modal__${kebabCase(action.id)}`
66
+ }, (0, _react.createElement)(action.RenderModal, {
67
+ items: items,
68
+ closeModal: closeModal,
69
+ onActionStart: action.onActionStart,
70
+ onActionPerformed: action.onActionPerformed
71
+ }));
72
+ }
49
73
  function ActionWithModal({
50
74
  action,
51
- item,
52
- ActionTrigger
75
+ items,
76
+ ActionTrigger,
77
+ isBusy
53
78
  }) {
54
79
  const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
55
80
  const actionTriggerProps = {
56
81
  action,
57
- onClick: () => setIsModalOpen(true)
82
+ onClick: () => {
83
+ setIsModalOpen(true);
84
+ },
85
+ items,
86
+ isBusy
58
87
  };
59
- const {
60
- RenderModal,
61
- hideModalHeader
62
- } = action;
63
88
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(ActionTrigger, {
64
89
  ...actionTriggerProps
65
- }), isModalOpen && (0, _react.createElement)(_components.Modal, {
66
- title: action.modalHeader || action.label,
67
- __experimentalHideHeader: !!hideModalHeader,
68
- onRequestClose: () => {
69
- setIsModalOpen(false);
70
- },
71
- overlayClassName: `dataviews-action-modal dataviews-action-modal__${kebabCase(action.id)}`
72
- }, (0, _react.createElement)(RenderModal, {
73
- items: [item],
90
+ }), isModalOpen && (0, _react.createElement)(ActionModal, {
91
+ action: action,
92
+ items: items,
74
93
  closeModal: () => setIsModalOpen(false)
75
- })));
94
+ }));
76
95
  }
77
96
  function ActionsDropdownMenuGroup({
78
97
  actions,
79
98
  item
80
99
  }) {
81
100
  return (0, _react.createElement)(DropdownMenuGroup, null, actions.map(action => {
82
- if (!!action.RenderModal) {
101
+ if ('RenderModal' in action) {
83
102
  return (0, _react.createElement)(ActionWithModal, {
84
103
  key: action.id,
85
104
  action: action,
86
- item: item,
105
+ items: [item],
87
106
  ActionTrigger: DropdownMenuItemTrigger
88
107
  });
89
108
  }
@@ -127,11 +146,11 @@ function ItemActions({
127
146
  width: 'auto'
128
147
  }
129
148
  }, !!primaryActions.length && primaryActions.map(action => {
130
- if (!!action.RenderModal) {
149
+ if ('RenderModal' in action) {
131
150
  return (0, _react.createElement)(ActionWithModal, {
132
151
  key: action.id,
133
152
  action: action,
134
- item: item,
153
+ items: [item],
135
154
  ActionTrigger: ButtonTrigger
136
155
  });
137
156
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_icons","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","kebabCase","unlock","componentsPrivateApis","ButtonTrigger","action","onClick","_react","createElement","Button","label","icon","isDestructive","size","DropdownMenuItemTrigger","hideOnClick","RenderModal","ActionWithModal","item","ActionTrigger","isModalOpen","setIsModalOpen","useState","actionTriggerProps","hideModalHeader","Fragment","Modal","title","modalHeader","__experimentalHideHeader","onRequestClose","overlayClassName","id","items","closeModal","ActionsDropdownMenuGroup","actions","map","key","callback","ItemActions","isCompact","primaryActions","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","CompactItemActions","__experimentalHStack","spacing","justify","className","style","flexShrink","width","length","trigger","moreVertical","__","disabled","placement"],"sources":["@wordpress/dataviews/src/item-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tkebabCase,\n} = unlock( componentsPrivateApis );\n\nfunction ButtonTrigger( { action, onClick } ) {\n\treturn (\n\t\t<Button\n\t\t\tlabel={ action.label }\n\t\t\ticon={ action.icon }\n\t\t\tisDestructive={ action.isDestructive }\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuItemTrigger( { action, onClick } ) {\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tonClick={ onClick }\n\t\t\thideOnClick={ ! action.RenderModal }\n\t\t>\n\t\t\t<DropdownMenuItemLabel>{ action.label }</DropdownMenuItemLabel>\n\t\t</DropdownMenuItem>\n\t);\n}\n\nfunction ActionWithModal( { action, item, ActionTrigger } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => setIsModalOpen( true ),\n\t};\n\tconst { RenderModal, hideModalHeader } = action;\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ action.modalHeader || action.label }\n\t\t\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\t\t\taction.id\n\t\t\t\t\t) }` }\n\t\t\t\t>\n\t\t\t\t\t<RenderModal\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ActionsDropdownMenuGroup( { actions, item } ) {\n\treturn (\n\t\t<DropdownMenuGroup>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( !! action.RenderModal ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuGroup>\n\t);\n}\n\nexport default function ItemActions( { item, actions, isCompact } ) {\n\tconst { primaryActions, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\tif ( isCompact ) {\n\t\treturn <CompactItemActions item={ item } actions={ eligibleActions } />;\n\t}\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 1 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: '0',\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => {\n\t\t\t\t\tif ( !! action.RenderModal ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tActionTrigger={ ButtonTrigger }\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\treturn (\n\t\t\t\t\t\t<ButtonTrigger\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t<CompactItemActions item={ item } actions={ eligibleActions } />\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions( { item, actions } ) {\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={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup actions={ actions } item={ item } />\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_icons","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","kebabCase","unlock","componentsPrivateApis","ButtonTrigger","action","onClick","_react","createElement","Button","label","icon","isDestructive","size","DropdownMenuItemTrigger","hideOnClick","ActionModal","items","closeModal","Modal","title","modalHeader","__experimentalHideHeader","hideModalHeader","onRequestClose","overlayClassName","id","RenderModal","onActionStart","onActionPerformed","ActionWithModal","ActionTrigger","isBusy","isModalOpen","setIsModalOpen","useState","actionTriggerProps","Fragment","ActionsDropdownMenuGroup","actions","item","map","key","callback","ItemActions","isCompact","primaryActions","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","CompactItemActions","__experimentalHStack","spacing","justify","className","style","flexShrink","width","length","trigger","moreVertical","__","disabled","placement"],"sources":["@wordpress/dataviews/src/item-actions.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEventHandler, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport type { Action, ActionModal as ActionModalType, AnyItem } from './types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tkebabCase,\n} = unlock( componentsPrivateApis );\n\ninterface ButtonTriggerProps< Item extends AnyItem > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n}\n\ninterface DropdownMenuItemTriggerProps< Item extends AnyItem > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n}\n\ninterface ActionModalProps< Item extends AnyItem > {\n\taction: ActionModalType< Item >;\n\titems: Item[];\n\tcloseModal?: () => void;\n}\n\ninterface ActionWithModalProps< Item extends AnyItem >\n\textends ActionModalProps< Item > {\n\tActionTrigger: (\n\t\tprops: ButtonTriggerProps< Item > | DropdownMenuItemTriggerProps< Item >\n\t) => ReactElement;\n\tisBusy?: boolean;\n}\n\ninterface ActionsDropdownMenuGroupProps< Item extends AnyItem > {\n\tactions: Action< Item >[];\n\titem: Item;\n}\n\ninterface ItemActionsProps< Item extends AnyItem > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisCompact: boolean;\n}\n\ninterface CompactItemActionsProps< Item extends AnyItem > {\n\titem: Item;\n\tactions: Action< Item >[];\n}\n\nfunction ButtonTrigger< Item extends AnyItem >( {\n\taction,\n\tonClick,\n}: ButtonTriggerProps< Item > ) {\n\treturn (\n\t\t<Button\n\t\t\tlabel={ action.label }\n\t\t\ticon={ action.icon }\n\t\t\tisDestructive={ action.isDestructive }\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuItemTrigger< Item extends AnyItem >( {\n\taction,\n\tonClick,\n}: DropdownMenuItemTriggerProps< Item > ) {\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tonClick={ onClick }\n\t\t\thideOnClick={ ! ( 'RenderModal' in action ) }\n\t\t>\n\t\t\t<DropdownMenuItemLabel>{ action.label }</DropdownMenuItemLabel>\n\t\t</DropdownMenuItem>\n\t);\n}\n\nexport function ActionModal< Item extends AnyItem >( {\n\taction,\n\titems,\n\tcloseModal,\n}: ActionModalProps< Item > ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ action.modalHeader || action.label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal ?? ( () => {} ) }\n\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal\n\t\t\t\titems={ items }\n\t\t\t\tcloseModal={ closeModal }\n\t\t\t\tonActionStart={ action.onActionStart }\n\t\t\t\tonActionPerformed={ action.onActionPerformed }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nexport function ActionWithModal< Item extends AnyItem >( {\n\taction,\n\titems,\n\tActionTrigger,\n\tisBusy,\n}: ActionWithModalProps< Item > ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => {\n\t\t\tsetIsModalOpen( true );\n\t\t},\n\t\titems,\n\t\tisBusy,\n\t};\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ action }\n\t\t\t\t\titems={ items }\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function ActionsDropdownMenuGroup< Item extends AnyItem >( {\n\tactions,\n\titem,\n}: ActionsDropdownMenuGroupProps< Item > ) {\n\treturn (\n\t\t<DropdownMenuGroup>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuGroup>\n\t);\n}\n\nexport default function ItemActions< Item extends AnyItem >( {\n\titem,\n\tactions,\n\tisCompact,\n}: ItemActionsProps< Item > ) {\n\tconst { primaryActions, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\tif ( isCompact ) {\n\t\treturn <CompactItemActions item={ item } actions={ eligibleActions } />;\n\t}\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 1 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: '0',\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => {\n\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\t\tActionTrigger={ ButtonTrigger }\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\treturn (\n\t\t\t\t\t\t<ButtonTrigger\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t<CompactItemActions item={ item } actions={ eligibleActions } />\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions< Item extends AnyItem >( {\n\titem,\n\tactions,\n}: CompactItemActionsProps< Item > ) {\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={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup actions={ actions } item={ item } />\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/dataviews/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/dataviews'\n\t);\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,iHAAiH,EACjH,sBACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_privateApis","require","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","exports"],"sources":["@wordpress/dataviews/src/lock-unlock.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/dataviews'\n\t);\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5B,IAAAC,6DAAgD,EAC/C,iHAAiH,EACjH,sBACD,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA;AAAAE,OAAA,CAAAH,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeFields","fields","map","field","getValue","item","id","header","render"],"sources":["@wordpress/dataviews/src/normalize-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { Field, NormalizedField } from './types';\n\n/**\n * Apply default values and normalize the fields config.\n *\n * @param fields Fields config.\n * @return Normalized fields config.\n */\nexport function normalizeFields( fields: Field[] ): NormalizedField[] {\n\treturn fields.map( ( field ) => {\n\t\tconst getValue = field.getValue || ( ( { item } ) => item[ field.id ] );\n\n\t\treturn {\n\t\t\t...field,\n\t\t\theader: field.header || field.id,\n\t\t\tgetValue,\n\t\t\trender: field.render || getValue,\n\t\t};\n\t} );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAeA,CAAEC,MAAe,EAAsB;EACrE,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,MAAMC,QAAQ,GAAGD,KAAK,CAACC,QAAQ,KAAM,CAAE;MAAEC;IAAK,CAAC,KAAMA,IAAI,CAAEF,KAAK,CAACG,EAAE,CAAE,CAAE;IAEvE,OAAO;MACN,GAAGH,KAAK;MACRI,MAAM,EAAEJ,KAAK,CAACI,MAAM,IAAIJ,KAAK,CAACG,EAAE;MAChCF,QAAQ;MACRI,MAAM,EAAEL,KAAK,CAACK,MAAM,IAAIJ;IACzB,CAAC;EACF,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["normalizeFields","fields","map","field","getValue","item","id","header","render"],"sources":["@wordpress/dataviews/src/normalize-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { Field, AnyItem, NormalizedField } from './types';\n\n/**\n * Apply default values and normalize the fields config.\n *\n * @param fields Fields config.\n * @return Normalized fields config.\n */\nexport function normalizeFields< Item extends AnyItem >(\n\tfields: Field< Item >[]\n): NormalizedField< Item >[] {\n\treturn fields.map( ( field ) => {\n\t\tconst getValue = field.getValue || ( ( { item } ) => item[ field.id ] );\n\n\t\treturn {\n\t\t\t...field,\n\t\t\theader: field.header || field.id,\n\t\t\tgetValue,\n\t\t\trender: field.render || getValue,\n\t\t};\n\t} );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAeA,CAC9BC,MAAuB,EACK;EAC5B,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,MAAMC,QAAQ,GAAGD,KAAK,CAACC,QAAQ,KAAM,CAAE;MAAEC;IAAK,CAAC,KAAMA,IAAI,CAAEF,KAAK,CAACG,EAAE,CAAE,CAAE;IAEvE,OAAO;MACN,GAAGH,KAAK;MACRI,MAAM,EAAEJ,KAAK,CAACI,MAAM,IAAIJ,KAAK,CAACG,EAAE;MAChCF,QAAQ;MACRI,MAAM,EAAEL,KAAK,CAACK,MAAM,IAAIJ;IACzB,CAAC;EACF,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -13,6 +13,10 @@ var _icons = require("@wordpress/icons");
13
13
  * WordPress dependencies
14
14
  */
15
15
 
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+
16
20
  const Pagination = (0, _element.memo)(function Pagination({
17
21
  view,
18
22
  onChangeView,
@@ -21,9 +25,11 @@ const Pagination = (0, _element.memo)(function Pagination({
21
25
  totalPages
22
26
  }
23
27
  }) {
28
+ var _view$page;
24
29
  if (!totalItems || !totalPages) {
25
30
  return null;
26
31
  }
32
+ const currentPage = (_view$page = view.page) !== null && _view$page !== void 0 ? _view$page : 1;
27
33
  return !!totalItems && totalPages !== 1 && (0, _react.createElement)(_components.__experimentalHStack, {
28
34
  expanded: false,
29
35
  spacing: 6,
@@ -39,12 +45,12 @@ const Pagination = (0, _element.memo)(function Pagination({
39
45
  (0, _i18n._x)('Page <CurrentPageControl /> of %s', 'paging'), totalPages), {
40
46
  CurrentPageControl: (0, _react.createElement)(_components.SelectControl, {
41
47
  "aria-label": (0, _i18n.__)('Current page'),
42
- value: view.page,
48
+ value: view.page?.toString(),
43
49
  options: Array.from(Array(totalPages)).map((_, i) => {
44
50
  const page = i + 1;
45
51
  return {
46
- value: page,
47
- label: page
52
+ value: page.toString(),
53
+ label: page.toString()
48
54
  };
49
55
  }),
50
56
  onChange: newValue => {
@@ -62,9 +68,9 @@ const Pagination = (0, _element.memo)(function Pagination({
62
68
  }, (0, _react.createElement)(_components.Button, {
63
69
  onClick: () => onChangeView({
64
70
  ...view,
65
- page: view.page - 1
71
+ page: currentPage - 1
66
72
  }),
67
- disabled: view.page === 1,
73
+ disabled: currentPage === 1,
68
74
  __experimentalIsFocusable: true,
69
75
  label: (0, _i18n.__)('Previous page'),
70
76
  icon: _icons.chevronLeft,
@@ -74,9 +80,9 @@ const Pagination = (0, _element.memo)(function Pagination({
74
80
  }), (0, _react.createElement)(_components.Button, {
75
81
  onClick: () => onChangeView({
76
82
  ...view,
77
- page: view.page + 1
83
+ page: currentPage + 1
78
84
  }),
79
- disabled: view.page >= totalPages,
85
+ disabled: currentPage >= totalPages,
80
86
  __experimentalIsFocusable: true,
81
87
  label: (0, _i18n.__)('Next page'),
82
88
  icon: _icons.chevronRight,
@@ -1 +1 @@
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","CurrentPageControl","SelectControl","__","value","page","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\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\tclassName=\"dataviews-pagination__page-selection\"\n\t\t\t\t>\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %s: Total number of pages.\n\t\t\t\t\t\t\t_x( 'Page <CurrentPageControl /> of %s', 'paging' ),\n\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tCurrentPageControl: (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\tvalue={ view.page }\n\t\t\t\t\t\t\t\t\toptions={ Array.from(\n\t\t\t\t\t\t\t\t\t\tArray( totalPages )\n\t\t\t\t\t\t\t\t\t).map( ( _, i ) => {\n\t\t\t\t\t\t\t\t\t\tconst page = i + 1;\n\t\t\t\t\t\t\t\t\t\treturn { value: page, label: page };\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tpage: +newValue,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tsize={ 'compact' }\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page - 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page + 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t)\n\t);\n} );\n\nexport default Pagination;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_icons","Pagination","memo","view","onChangeView","paginationInfo","totalItems","totalPages","_view$page","currentPage","page","_react","createElement","__experimentalHStack","expanded","spacing","justify","className","createInterpolateElement","sprintf","_x","CurrentPageControl","SelectControl","__","value","toString","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.tsx"],"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\n/**\n * Internal dependencies\n */\nimport type { View } from './types';\n\ninterface PaginationProps {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n}\n\nconst Pagination = memo( function Pagination( {\n\tview,\n\tonChangeView,\n\tpaginationInfo: { totalItems = 0, totalPages },\n}: PaginationProps ) {\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\tconst currentPage = view.page ?? 1;\n\treturn (\n\t\t!! totalItems &&\n\t\ttotalPages !== 1 && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tspacing={ 6 }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-pagination\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\tclassName=\"dataviews-pagination__page-selection\"\n\t\t\t\t>\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %s: Total number of pages.\n\t\t\t\t\t\t\t_x( 'Page <CurrentPageControl /> of %s', 'paging' ),\n\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tCurrentPageControl: (\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?.toString() }\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 {\n\t\t\t\t\t\t\t\t\t\t\tvalue: page.toString(),\n\t\t\t\t\t\t\t\t\t\t\tlabel: page.toString(),\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\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( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tpage: currentPage - 1,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ currentPage === 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: currentPage + 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ currentPage >= totalPages }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t)\n\t);\n} );\n\nexport default Pagination;\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,10 @@ var _components = require("@wordpress/components");
11
11
  * WordPress dependencies
12
12
  */
13
13
 
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
14
18
  function SingleSelectionCheckbox({
15
19
  selection,
16
20
  onSelectionChange,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","SingleSelectionCheckbox","selection","onSelectionChange","item","data","getItemId","primaryField","disabled","id","isSelected","includes","selectionLabel","getValue","sprintf","__","_react","createElement","CheckboxControl","className","__nextHasNoMarginBottom","checked","onChange","filter","_item","itemId"],"sources":["@wordpress/dataviews/src/single-selection-checkbox.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\n\nexport default function SingleSelectionCheckbox( {\n\tselection,\n\tonSelectionChange,\n\titem,\n\tdata,\n\tgetItemId,\n\tprimaryField,\n\tdisabled,\n} ) {\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tlet selectionLabel;\n\tif ( primaryField?.getValue && item ) {\n\t\t// eslint-disable-next-line @wordpress/valid-sprintf\n\t\tselectionLabel = sprintf(\n\t\t\t/* translators: %s: item title. */\n\t\t\tisSelected ? __( 'Deselect item: %s' ) : __( 'Select item: %s' ),\n\t\t\tprimaryField.getValue( { item } )\n\t\t);\n\t} else {\n\t\tselectionLabel = isSelected\n\t\t\t? __( 'Select a new item' )\n\t\t\t: __( 'Deselect item' );\n\t}\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\taria-label={ selectionLabel }\n\t\t\taria-disabled={ disabled }\n\t\t\tchecked={ isSelected }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId === id || selection.includes( itemId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId !== id && selection.includes( itemId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIe,SAASE,uBAAuBA,CAAE;EAChDC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,IAAI;EACJC,SAAS;EACTC,YAAY;EACZC;AACD,CAAC,EAAG;EACH,MAAMC,EAAE,GAAGH,SAAS,CAAEF,IAAK,CAAC;EAC5B,MAAMM,UAAU,GAAGR,SAAS,CAACS,QAAQ,CAAEF,EAAG,CAAC;EAC3C,IAAIG,cAAc;EAClB,IAAKL,YAAY,EAAEM,QAAQ,IAAIT,IAAI,EAAG;IACrC;IACAQ,cAAc,GAAG,IAAAE,aAAO,GACvB;IACAJ,UAAU,GAAG,IAAAK,QAAE,EAAE,mBAAoB,CAAC,GAAG,IAAAA,QAAE,EAAE,iBAAkB,CAAC,EAChER,YAAY,CAACM,QAAQ,CAAE;MAAET;IAAK,CAAE,CACjC,CAAC;EACF,CAAC,MAAM;IACNQ,cAAc,GAAGF,UAAU,GACxB,IAAAK,QAAE,EAAE,mBAAoB,CAAC,GACzB,IAAAA,QAAE,EAAE,eAAgB,CAAC;EACzB;EACA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACjB,WAAA,CAAAkB,eAAe;IACfC,SAAS,EAAC,yCAAyC;IACnDC,uBAAuB;IACvB,cAAaR,cAAgB;IAC7B,iBAAgBJ,QAAU;IAC1Ba,OAAO,EAAGX,UAAY;IACtBY,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAKd,QAAQ,EAAG;QACf;MACD;MAEA,IAAK,CAAEE,UAAU,EAAG;QACnBP,iBAAiB,CAChBE,IAAI,CAACkB,MAAM,CAAIC,KAAK,IAAM;UACzB,MAAMC,MAAM,GAAGnB,SAAS,GAAIkB,KAAM,CAAC;UACnC,OACCC,MAAM,KAAKhB,EAAE,IAAIP,SAAS,CAACS,QAAQ,CAAEc,MAAO,CAAC;QAE/C,CAAE,CACH,CAAC;MACF,CAAC,MAAM;QACNtB,iBAAiB,CAChBE,IAAI,CAACkB,MAAM,CAAIC,KAAK,IAAM;UACzB,MAAMC,MAAM,GAAGnB,SAAS,GAAIkB,KAAM,CAAC;UACnC,OACCC,MAAM,KAAKhB,EAAE,IAAIP,SAAS,CAACS,QAAQ,CAAEc,MAAO,CAAC;QAE/C,CAAE,CACH,CAAC;MACF;IACD;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","SingleSelectionCheckbox","selection","onSelectionChange","item","data","getItemId","primaryField","disabled","id","isSelected","includes","selectionLabel","getValue","sprintf","__","_react","createElement","CheckboxControl","className","__nextHasNoMarginBottom","checked","onChange","filter","_item","itemId"],"sources":["@wordpress/dataviews/src/single-selection-checkbox.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { Field, AnyItem } from './types';\n\ninterface SingleSelectionCheckboxProps< Item extends AnyItem > {\n\tselection: string[];\n\tonSelectionChange: ( selection: Item[] ) => void;\n\titem: Item;\n\tdata: Item[];\n\tgetItemId: ( item: Item ) => string;\n\tprimaryField?: Field< Item >;\n\tdisabled: boolean;\n}\n\nexport default function SingleSelectionCheckbox< Item extends AnyItem >( {\n\tselection,\n\tonSelectionChange,\n\titem,\n\tdata,\n\tgetItemId,\n\tprimaryField,\n\tdisabled,\n}: SingleSelectionCheckboxProps< Item > ) {\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tlet selectionLabel;\n\tif ( primaryField?.getValue && item ) {\n\t\t// eslint-disable-next-line @wordpress/valid-sprintf\n\t\tselectionLabel = sprintf(\n\t\t\t/* translators: %s: item title. */\n\t\t\tisSelected ? __( 'Deselect item: %s' ) : __( 'Select item: %s' ),\n\t\t\tprimaryField.getValue( { item } )\n\t\t);\n\t} else {\n\t\tselectionLabel = isSelected\n\t\t\t? __( 'Select a new item' )\n\t\t\t: __( 'Deselect item' );\n\t}\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\taria-label={ selectionLabel }\n\t\t\taria-disabled={ disabled }\n\t\t\tchecked={ isSelected }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId === id || selection.includes( itemId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\titemId !== id && selection.includes( itemId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA;AACA;AACA;;AAae,SAASE,uBAAuBA,CAA0B;EACxEC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,IAAI;EACJC,SAAS;EACTC,YAAY;EACZC;AACqC,CAAC,EAAG;EACzC,MAAMC,EAAE,GAAGH,SAAS,CAAEF,IAAK,CAAC;EAC5B,MAAMM,UAAU,GAAGR,SAAS,CAACS,QAAQ,CAAEF,EAAG,CAAC;EAC3C,IAAIG,cAAc;EAClB,IAAKL,YAAY,EAAEM,QAAQ,IAAIT,IAAI,EAAG;IACrC;IACAQ,cAAc,GAAG,IAAAE,aAAO,GACvB;IACAJ,UAAU,GAAG,IAAAK,QAAE,EAAE,mBAAoB,CAAC,GAAG,IAAAA,QAAE,EAAE,iBAAkB,CAAC,EAChER,YAAY,CAACM,QAAQ,CAAE;MAAET;IAAK,CAAE,CACjC,CAAC;EACF,CAAC,MAAM;IACNQ,cAAc,GAAGF,UAAU,GACxB,IAAAK,QAAE,EAAE,mBAAoB,CAAC,GACzB,IAAAA,QAAE,EAAE,eAAgB,CAAC;EACzB;EACA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACjB,WAAA,CAAAkB,eAAe;IACfC,SAAS,EAAC,yCAAyC;IACnDC,uBAAuB;IACvB,cAAaR,cAAgB;IAC7B,iBAAgBJ,QAAU;IAC1Ba,OAAO,EAAGX,UAAY;IACtBY,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAKd,QAAQ,EAAG;QACf;MACD;MAEA,IAAK,CAAEE,UAAU,EAAG;QACnBP,iBAAiB,CAChBE,IAAI,CAACkB,MAAM,CAAIC,KAAK,IAAM;UACzB,MAAMC,MAAM,GAAGnB,SAAS,GAAIkB,KAAM,CAAC;UACnC,OACCC,MAAM,KAAKhB,EAAE,IAAIP,SAAS,CAACS,QAAQ,CAAEc,MAAO,CAAC;QAE/C,CAAE,CACH,CAAC;MACF,CAAC,MAAM;QACNtB,iBAAiB,CAChBE,IAAI,CAACkB,MAAM,CAAIC,KAAK,IAAM;UACzB,MAAMC,MAAM,GAAGnB,SAAS,GAAIkB,KAAM,CAAC;UACnC,OACCC,MAAM,KAAKhB,EAAE,IAAIP,SAAS,CAACS,QAAQ,CAAEc,MAAO,CAAC;QAE/C,CAAE,CACH,CAAC;MACF;IACD;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/dataviews/src/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\ntype Item = Record< string, any >;\n\ninterface Option {\n\tvalue: any;\n\tlabel: string;\n}\n\ninterface filterByConfig {\n\toperators?: Operator[];\n\tisPrimary?: boolean;\n}\n\ntype Operator = 'is' | 'isNot' | 'isAny' | 'isNone' | 'isAll' | 'isNotAll';\n\nexport interface Field {\n\t/**\n\t * The unique identifier of the field.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the field. Defaults to the id.\n\t */\n\theader?: string;\n\n\t/**\n\t * Callback used to retrieve the value of the field from the item.\n\t * Defaults to `item[ field.id ]`.\n\t */\n\tgetValue?: ( { item }: { item: Item } ) => any;\n\n\t/**\n\t * Callback used to render the field. Defaults to `field.getValue`.\n\t */\n\trender?: ( { item }: { item: Item } ) => ReactNode;\n\n\t/**\n\t * The width of the field column.\n\t */\n\twidth: string | number | undefined;\n\n\t/**\n\t * The minimum width of the field column.\n\t */\n\tmaxWidth: string | number | undefined;\n\n\t/**\n\t * The maximum width of the field column.\n\t */\n\tminWidth: string | number | undefined;\n\n\t/**\n\t * Whether the field is sortable.\n\t */\n\tenableSorting: boolean | undefined;\n\n\t/**\n\t * Whether the field is searchable.\n\t */\n\tenableGlobalSearch: boolean | undefined;\n\n\t/**\n\t * Whether the field is filterable.\n\t */\n\tenableHiding: boolean | undefined;\n\n\t/**\n\t * The list of options to pick from when using the field as a filter.\n\t */\n\telements: Option[] | undefined;\n\n\t/**\n\t * Filter config for the field.\n\t */\n\tfilterBy: filterByConfig | undefined;\n}\n\nexport type NormalizedField = Required< Field >;\n\nexport type Data = Item[];\n\nexport interface Filter {\n\t/**\n\t * The field to filter by.\n\t */\n\tfield: string;\n\n\t/**\n\t * The operator to use.\n\t */\n\toperator: Operator;\n\n\t/**\n\t * The value to filter by.\n\t */\n\tvalue: any;\n}\n\nexport interface View {\n\t/**\n\t * The layout of the view.\n\t */\n\ttype: string;\n\n\t/**\n\t * The global search term.\n\t */\n\tsearch?: string;\n\n\t/**\n\t * The filters to apply.\n\t */\n\tfilters: Filter[];\n\n\t/**\n\t * The sorting configuration.\n\t */\n\tsort?: {\n\t\t/**\n\t\t * The field to sort by.\n\t\t */\n\t\tfield: string;\n\n\t\t/**\n\t\t * The direction to sort by.\n\t\t */\n\t\tdirection: string;\n\t};\n\n\t/**\n\t * The active page\n\t */\n\tpage?: number;\n\n\t/**\n\t * The number of items per page\n\t */\n\tperPage?: number;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["@wordpress/dataviews/src/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactElement, ReactNode } from 'react';\n\nexport type SortDirection = 'asc' | 'desc';\n\n/**\n * Generic option type.\n */\ninterface Option< Value extends any = any > {\n\tvalue: Value;\n\tlabel: string;\n}\n\ninterface FilterByConfig {\n\t/**\n\t * The list of operators supported by the field.\n\t */\n\toperators?: Operator[];\n\n\t/**\n\t * Whether it is a primary filter.\n\t *\n\t * A primary filter is always visible and is not listed in the \"Add filter\" component,\n\t * except for the list layout where it behaves like a secondary filter.\n\t */\n\tisPrimary?: boolean;\n}\n\ntype Operator = 'is' | 'isNot' | 'isAny' | 'isNone' | 'isAll' | 'isNotAll';\n\nexport type AnyItem = Record< string, any >;\n\n/**\n * A dataview field for a specific property of a data type.\n */\nexport interface Field< Item extends AnyItem > {\n\t/**\n\t * The unique identifier of the field.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the field. Defaults to the id.\n\t */\n\theader?: string;\n\n\t/**\n\t * Callback used to retrieve the value of the field from the item.\n\t * Defaults to `item[ field.id ]`.\n\t */\n\tgetValue?: ( args: { item: Item } ) => any;\n\n\t/**\n\t * Callback used to render the field. Defaults to `field.getValue`.\n\t */\n\trender?: ( args: { item: Item } ) => ReactNode;\n\n\t/**\n\t * The width of the field column.\n\t */\n\twidth?: string | number;\n\n\t/**\n\t * The minimum width of the field column.\n\t */\n\tmaxWidth?: string | number;\n\n\t/**\n\t * The maximum width of the field column.\n\t */\n\tminWidth?: string | number;\n\n\t/**\n\t * Whether the field is sortable.\n\t */\n\tenableSorting?: boolean;\n\n\t/**\n\t * Whether the field is searchable.\n\t */\n\tenableGlobalSearch?: boolean;\n\n\t/**\n\t * Whether the field is filterable.\n\t */\n\tenableHiding?: boolean;\n\n\t/**\n\t * The list of options to pick from when using the field as a filter.\n\t */\n\telements?: Option[];\n\n\t/**\n\t * Filter config for the field.\n\t */\n\tfilterBy?: FilterByConfig | undefined;\n}\n\nexport type NormalizedField< Item extends AnyItem > = Field< Item > &\n\tRequired< Pick< Field< Item >, 'header' | 'getValue' | 'render' > >;\n\n/**\n * A collection of dataview fields for a data type.\n */\nexport type Fields< Item extends AnyItem > = Field< Item >[];\n\nexport type Data< Item extends AnyItem > = Item[];\n\n/**\n * The filters applied to the dataset.\n */\nexport interface Filter {\n\t/**\n\t * The field to filter by.\n\t */\n\tfield: string;\n\n\t/**\n\t * The operator to use.\n\t */\n\toperator: Operator;\n\n\t/**\n\t * The value to filter by.\n\t */\n\tvalue: any;\n}\n\ninterface ViewBase {\n\t/**\n\t * The layout of the view.\n\t */\n\ttype: string;\n\n\t/**\n\t * The global search term.\n\t */\n\tsearch?: string;\n\n\t/**\n\t * The filters to apply.\n\t */\n\tfilters: Filter[];\n\n\t/**\n\t * The sorting configuration.\n\t */\n\tsort?: {\n\t\t/**\n\t\t * The field to sort by.\n\t\t */\n\t\tfield: string;\n\n\t\t/**\n\t\t * The direction to sort by.\n\t\t */\n\t\tdirection: SortDirection;\n\t};\n\n\t/**\n\t * The active page\n\t */\n\tpage?: number;\n\n\t/**\n\t * The number of items per page\n\t */\n\tperPage?: number;\n\n\t/**\n\t * The hidden fields.\n\t */\n\thiddenFields: string[];\n}\n\nexport interface ViewList extends ViewBase {\n\ttype: 'list';\n\n\tlayout: {\n\t\t/**\n\t\t * The field to use as the primary field.\n\t\t */\n\t\tprimaryField: string;\n\n\t\t/**\n\t\t * The field to use as the media field.\n\t\t */\n\t\tmediaField: string;\n\t};\n}\n\nexport interface ViewGrid extends ViewBase {\n\ttype: 'grid';\n\n\tlayout: {\n\t\t/**\n\t\t * The field to use as the primary field.\n\t\t */\n\t\tprimaryField: string;\n\n\t\t/**\n\t\t * The field to use as the media field.\n\t\t */\n\t\tmediaField: string;\n\n\t\t/**\n\t\t * The fields to use as columns.\n\t\t */\n\t\tcolumnFields: string[];\n\n\t\t/**\n\t\t * The fields to use as badge fields.\n\t\t */\n\t\tbadgeFields: string[];\n\t};\n}\n\nexport type View = ViewList | ViewGrid | ViewBase;\n\ninterface ActionBase< Item extends AnyItem > {\n\t/**\n\t * The unique identifier of the action.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the action.\n\t */\n\tlabel: string;\n\n\t/**\n\t * The icon of the action. (Either a string or an SVG element)\n\t * This should be IconType from the components package\n\t * but that import is breaking typescript build for the moment.\n\t */\n\ticon?: any;\n\n\t/**\n\t * Whether the action is disabled.\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Whether the action is destructive.\n\t */\n\tisDestructive?: boolean;\n\n\t/**\n\t * Whether the action is a primary action.\n\t */\n\tisPrimary?: boolean;\n\n\t/**\n\t * Whether the item passed as an argument supports the current action.\n\t */\n\tisEligible?: ( item: Item ) => boolean;\n\n\t/**\n\t * Whether the action can be used as a bulk action.\n\t */\n\tsupportsBulk?: boolean;\n}\n\nexport interface ActionModal< Item extends AnyItem >\n\textends ActionBase< Item > {\n\t/**\n\t * The callback to execute when the action has finished.\n\t */\n\tonActionPerformed: ( ( items: Item[] ) => void ) | undefined;\n\n\t/**\n\t * The callback to execute when the action is triggered.\n\t */\n\tonActionStart: ( ( items: Item[] ) => void ) | undefined;\n\n\t/**\n\t * Modal to render when the action is triggered.\n\t */\n\tRenderModal: ( {\n\t\titems,\n\t\tcloseModal,\n\t\tonActionStart,\n\t\tonActionPerformed,\n\t}: {\n\t\titems: Item[];\n\t\tcloseModal?: () => void;\n\t\tonActionStart?: ( items: Item[] ) => void;\n\t\tonActionPerformed?: ( items: Item[] ) => void;\n\t} ) => ReactElement;\n\n\t/**\n\t * Whether to hide the modal header.\n\t */\n\thideModalHeader?: boolean;\n\n\t/**\n\t * The header of the modal.\n\t */\n\tmodalHeader?: string;\n}\n\nexport interface ActionButton< Item extends AnyItem >\n\textends ActionBase< AnyItem > {\n\t/**\n\t * The callback to execute when the action is triggered.\n\t */\n\tcallback: ( items: Item[] ) => void;\n}\n\nexport type Action< Item extends AnyItem > =\n\t| ActionModal< Item >\n\t| ActionButton< Item >;\n"],"mappings":"","ignoreList":[]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = ViewGrid;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
10
  var _components = require("@wordpress/components");
11
11
  var _i18n = require("@wordpress/i18n");
12
12
  var _itemActions = _interopRequireDefault(require("./item-actions"));
@@ -43,7 +43,7 @@ function GridItem({
43
43
  return (0, _react.createElement)(_components.__experimentalVStack, {
44
44
  spacing: 0,
45
45
  key: id,
46
- className: (0, _classnames.default)('dataviews-view-grid__card', {
46
+ className: (0, _clsx.default)('dataviews-view-grid__card', {
47
47
  'is-selected': hasBulkAction && isSelected
48
48
  }),
49
49
  onClickCapture: event => {
@@ -74,7 +74,6 @@ function GridItem({
74
74
  justify: "space-between",
75
75
  className: "dataviews-view-grid__title-actions"
76
76
  }, (0, _react.createElement)(_singleSelectionCheckbox.default, {
77
- id: id,
78
77
  item: item,
79
78
  selection: selection,
80
79
  onSelectionChange: onSelectionChange,
@@ -94,7 +93,7 @@ function GridItem({
94
93
  className: "dataviews-view-grid__badge-fields",
95
94
  spacing: 2,
96
95
  wrap: true,
97
- align: "top",
96
+ alignment: "top",
98
97
  justify: "flex-start"
99
98
  }, badgeFields.map(field => {
100
99
  const renderedValue = field.render({
@@ -118,7 +117,7 @@ function GridItem({
118
117
  return null;
119
118
  }
120
119
  return (0, _react.createElement)(_components.Flex, {
121
- className: (0, _classnames.default)('dataviews-view-grid__field', columnFields?.includes(field.id) ? 'is-column' : 'is-row'),
120
+ className: (0, _clsx.default)('dataviews-view-grid__field', columnFields?.includes(field.id) ? 'is-column' : 'is-row'),
122
121
  key: field.id,
123
122
  gap: 1,
124
123
  justify: "flex-start",
@@ -138,14 +137,14 @@ function GridItem({
138
137
  })));
139
138
  }
140
139
  function ViewGrid({
140
+ actions,
141
141
  data,
142
142
  fields,
143
- view,
144
- actions,
145
- isLoading,
146
143
  getItemId,
144
+ isLoading,
145
+ onSelectionChange,
147
146
  selection,
148
- onSelectionChange
147
+ view
149
148
  }) {
150
149
  const mediaField = fields.find(field => field.id === view.layout.mediaField);
151
150
  const primaryField = fields.find(field => field.id === view.layout.primaryField);
@@ -188,7 +187,7 @@ function ViewGrid({
188
187
  columnFields: view.layout.columnFields
189
188
  });
190
189
  })), !hasData && (0, _react.createElement)("div", {
191
- className: (0, _classnames.default)({
190
+ className: (0, _clsx.default)({
192
191
  'dataviews-loading': isLoading,
193
192
  'dataviews-no-results': !isLoading
194
193
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_itemActions","_singleSelectionCheckbox","_bulkActions","GridItem","selection","data","onSelectionChange","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","useHasAPossibleBulkAction","id","isSelected","includes","_react","createElement","__experimentalVStack","spacing","key","className","classnames","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","_item","itemId","render","__experimentalHStack","justify","default","disabled","isCompact","length","wrap","align","map","field","renderedValue","FlexItem","Flex","gap","expanded","style","height","direction","Fragment","header","maxHeight","ViewGrid","fields","view","isLoading","find","layout","reduce","accumulator","hiddenFields","push","hasData","__experimentalGrid","columns","alignment","Spinner","__"],"sources":["@wordpress/dataviews/src/view-grid.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\nimport SingleSelectionCheckbox from './single-selection-checkbox';\n\nimport { useHasAPossibleBulkAction } from './bulk-actions';\n\nfunction GridItem( {\n\tselection,\n\tdata,\n\tonSelectionChange,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n\tbadgeFields,\n\tcolumnFields,\n} ) {\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ classnames( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\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 ( ! hasBulkAction ) {\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<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ mediaField?.render( { item } ) }\n\t\t\t</div>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\tid={ id }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\twrap\n\t\t\t\t\talign=\"top\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t>\n\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\tconst renderedValue = field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tif ( ! renderedValue ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tclassName={ 'dataviews-view-grid__field-value' }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedValue }\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 3 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\tconst renderedValue = field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tif ( ! renderedValue ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'dataviews-view-grid__field',\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'is-column'\n\t\t\t\t\t\t\t\t\t\t: 'is-row'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\tdirection={\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'column'\n\t\t\t\t\t\t\t\t\t\t: 'row'\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<>\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ renderedValue }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid( {\n\tdata,\n\tfields,\n\tview,\n\tactions,\n\tisLoading,\n\tgetItemId,\n\tselection,\n\tonSelectionChange,\n} ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\tconst { visibleFields, badgeFields } = fields.reduce(\n\t\t( accumulator, field ) => {\n\t\t\tif (\n\t\t\t\tview.hiddenFields.includes( field.id ) ||\n\t\t\t\t[ view.layout.mediaField, view.layout.primaryField ].includes(\n\t\t\t\t\tfield.id\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout.badgeFields?.includes( field.id )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'visibleFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ visibleFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 6 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\tcolumnFields={ view.layout.columnFields }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_itemActions","_singleSelectionCheckbox","_bulkActions","GridItem","selection","data","onSelectionChange","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","useHasAPossibleBulkAction","id","isSelected","includes","_react","createElement","__experimentalVStack","spacing","key","className","clsx","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","_item","itemId","render","__experimentalHStack","justify","default","disabled","isCompact","length","wrap","alignment","map","field","renderedValue","FlexItem","Flex","gap","expanded","style","height","direction","Fragment","header","maxHeight","ViewGrid","fields","isLoading","view","find","layout","reduce","accumulator","hiddenFields","push","hasData","__experimentalGrid","columns","Spinner","__"],"sources":["@wordpress/dataviews/src/view-grid.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { useHasAPossibleBulkAction } from './bulk-actions';\nimport type {\n\tAction,\n\tAnyItem,\n\tNormalizedField,\n\tViewGrid as ViewGridType,\n} from './types';\n\ninterface GridItemProps< Item extends AnyItem > {\n\tselection: string[];\n\tdata: Item[];\n\tonSelectionChange: ( items: Item[] ) => void;\n\tgetItemId: ( item: Item ) => string;\n\titem: Item;\n\tactions: Action< Item >[];\n\tmediaField?: NormalizedField< Item >;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\tcolumnFields: string[];\n}\n\ninterface ViewGridProps< Item extends AnyItem > {\n\tactions: Action< Item >[];\n\tdata: Item[];\n\tfields: NormalizedField< Item >[];\n\tgetItemId: ( item: Item ) => string;\n\tisLoading: boolean;\n\tonSelectionChange: ( items: Item[] ) => void;\n\tselection: string[];\n\tview: ViewGridType;\n}\n\nfunction GridItem< Item extends AnyItem >( {\n\tselection,\n\tdata,\n\tonSelectionChange,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n\tbadgeFields,\n\tcolumnFields,\n}: GridItemProps< Item > ) {\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\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 ( ! hasBulkAction ) {\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<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ mediaField?.render( { item } ) }\n\t\t\t</div>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\twrap\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t>\n\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\tconst renderedValue = field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tif ( ! renderedValue ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tclassName={ 'dataviews-view-grid__field-value' }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedValue }\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 3 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\tconst renderedValue = field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tif ( ! renderedValue ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-grid__field',\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'is-column'\n\t\t\t\t\t\t\t\t\t\t: 'is-row'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\tdirection={\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'column'\n\t\t\t\t\t\t\t\t\t\t: 'row'\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<>\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ renderedValue }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item extends AnyItem >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonSelectionChange,\n\tselection,\n\tview,\n}: ViewGridProps< Item > ) {\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, badgeFields } = fields.reduce(\n\t\t( accumulator: Record< string, NormalizedField< Item >[] >, field ) => {\n\t\t\tif (\n\t\t\t\tview.hiddenFields.includes( field.id ) ||\n\t\t\t\t[ view.layout.mediaField, view.layout.primaryField ].includes(\n\t\t\t\t\tfield.id\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout.badgeFields?.includes( field.id )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'visibleFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ visibleFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 6 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\tcolumnFields={ view.layout.columnFields }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}