@wordpress/dataviews 4.6.0 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +596 -89
  3. package/build/components/dataform-combined-edit/index.js +12 -6
  4. package/build/components/dataform-combined-edit/index.js.map +1 -1
  5. package/build/components/dataviews/index.js +8 -1
  6. package/build/components/dataviews/index.js.map +1 -1
  7. package/build/components/dataviews-bulk-actions/index.js +6 -6
  8. package/build/components/dataviews-bulk-actions/index.js.map +1 -1
  9. package/build/components/dataviews-context/index.js +2 -0
  10. package/build/components/dataviews-context/index.js.map +1 -1
  11. package/build/components/dataviews-filters/add-filter.js +7 -7
  12. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  13. package/build/components/dataviews-filters/index.js +2 -2
  14. package/build/components/dataviews-filters/index.js.map +1 -1
  15. package/build/components/dataviews-item-actions/index.js +11 -11
  16. package/build/components/dataviews-item-actions/index.js.map +1 -1
  17. package/build/components/dataviews-layout/index.js +5 -1
  18. package/build/components/dataviews-layout/index.js.map +1 -1
  19. package/build/components/dataviews-selection-checkbox/index.js +1 -2
  20. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  21. package/build/components/dataviews-view-config/index.js +6 -6
  22. package/build/components/dataviews-view-config/index.js.map +1 -1
  23. package/build/components/form-field-visibility/index.js +32 -0
  24. package/build/components/form-field-visibility/index.js.map +1 -0
  25. package/build/dataforms-layouts/panel/index.js +9 -3
  26. package/build/dataforms-layouts/panel/index.js.map +1 -1
  27. package/build/dataforms-layouts/regular/index.js +8 -2
  28. package/build/dataforms-layouts/regular/index.js.map +1 -1
  29. package/build/dataviews-layouts/grid/index.js +14 -3
  30. package/build/dataviews-layouts/grid/index.js.map +1 -1
  31. package/build/dataviews-layouts/list/index.js +10 -12
  32. package/build/dataviews-layouts/list/index.js.map +1 -1
  33. package/build/dataviews-layouts/table/column-header-menu.js +18 -18
  34. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  35. package/build/dataviews-layouts/table/index.js +22 -5
  36. package/build/dataviews-layouts/table/index.js.map +1 -1
  37. package/build/dataviews-layouts/utils/get-clickable-item-props.js +25 -0
  38. package/build/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -0
  39. package/build/normalize-fields.js +16 -3
  40. package/build/normalize-fields.js.map +1 -1
  41. package/build/types.js.map +1 -1
  42. package/build/validation.js +9 -0
  43. package/build/validation.js.map +1 -1
  44. package/build-module/components/dataform-combined-edit/index.js +12 -6
  45. package/build-module/components/dataform-combined-edit/index.js.map +1 -1
  46. package/build-module/components/dataviews/index.js +8 -1
  47. package/build-module/components/dataviews/index.js.map +1 -1
  48. package/build-module/components/dataviews-bulk-actions/index.js +6 -6
  49. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
  50. package/build-module/components/dataviews-context/index.js +2 -0
  51. package/build-module/components/dataviews-context/index.js.map +1 -1
  52. package/build-module/components/dataviews-filters/add-filter.js +6 -6
  53. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  54. package/build-module/components/dataviews-filters/index.js +4 -4
  55. package/build-module/components/dataviews-filters/index.js.map +1 -1
  56. package/build-module/components/dataviews-item-actions/index.js +10 -10
  57. package/build-module/components/dataviews-item-actions/index.js.map +1 -1
  58. package/build-module/components/dataviews-layout/index.js +5 -1
  59. package/build-module/components/dataviews-layout/index.js.map +1 -1
  60. package/build-module/components/dataviews-selection-checkbox/index.js +1 -2
  61. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  62. package/build-module/components/dataviews-view-config/index.js +6 -6
  63. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  64. package/build-module/components/form-field-visibility/index.js +26 -0
  65. package/build-module/components/form-field-visibility/index.js.map +1 -0
  66. package/build-module/dataforms-layouts/panel/index.js +9 -4
  67. package/build-module/dataforms-layouts/panel/index.js.map +1 -1
  68. package/build-module/dataforms-layouts/regular/index.js +7 -2
  69. package/build-module/dataforms-layouts/regular/index.js.map +1 -1
  70. package/build-module/dataviews-layouts/grid/index.js +14 -3
  71. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  72. package/build-module/dataviews-layouts/list/index.js +11 -13
  73. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  74. package/build-module/dataviews-layouts/table/column-header-menu.js +18 -18
  75. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  76. package/build-module/dataviews-layouts/table/index.js +22 -5
  77. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  78. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js +19 -0
  79. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -0
  80. package/build-module/normalize-fields.js +15 -3
  81. package/build-module/normalize-fields.js.map +1 -1
  82. package/build-module/types.js.map +1 -1
  83. package/build-module/validation.js +9 -0
  84. package/build-module/validation.js.map +1 -1
  85. package/build-style/style-rtl.css +15 -6
  86. package/build-style/style.css +15 -6
  87. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  88. package/build-types/components/dataform-combined-edit/index.d.ts.map +1 -1
  89. package/build-types/components/dataviews/index.d.ts +3 -1
  90. package/build-types/components/dataviews/index.d.ts.map +1 -1
  91. package/build-types/components/dataviews-context/index.d.ts +2 -0
  92. package/build-types/components/dataviews-context/index.d.ts.map +1 -1
  93. package/build-types/components/dataviews-filters/add-filter.d.ts +1 -1
  94. package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -1
  95. package/build-types/components/dataviews-item-actions/index.d.ts +2 -2
  96. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  97. package/build-types/components/dataviews-layout/index.d.ts.map +1 -1
  98. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
  99. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  100. package/build-types/components/form-field-visibility/index.d.ts +11 -0
  101. package/build-types/components/form-field-visibility/index.d.ts.map +1 -0
  102. package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -1
  103. package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -1
  104. package/build-types/dataviews-layouts/grid/index.d.ts +1 -1
  105. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  106. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  107. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  108. package/build-types/dataviews-layouts/table/index.d.ts +1 -1
  109. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  110. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts +14 -0
  111. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts.map +1 -0
  112. package/build-types/lock-unlock.d.ts +1 -1
  113. package/build-types/lock-unlock.d.ts.map +1 -1
  114. package/build-types/normalize-fields.d.ts.map +1 -1
  115. package/build-types/types.d.ts +11 -6
  116. package/build-types/types.d.ts.map +1 -1
  117. package/build-types/validation.d.ts +9 -0
  118. package/build-types/validation.d.ts.map +1 -1
  119. package/package.json +12 -11
  120. package/src/components/dataform/stories/index.story.tsx +19 -3
  121. package/src/components/dataform-combined-edit/index.tsx +10 -7
  122. package/src/components/dataform-combined-edit/style.scss +4 -0
  123. package/src/components/dataviews/index.tsx +10 -1
  124. package/src/components/dataviews/style.scss +9 -3
  125. package/src/components/dataviews-bulk-actions/index.tsx +6 -6
  126. package/src/components/dataviews-context/index.ts +4 -0
  127. package/src/components/dataviews-filters/add-filter.tsx +8 -10
  128. package/src/components/dataviews-filters/index.tsx +4 -4
  129. package/src/components/dataviews-item-actions/index.tsx +15 -15
  130. package/src/components/dataviews-layout/index.tsx +4 -0
  131. package/src/components/dataviews-selection-checkbox/index.tsx +3 -2
  132. package/src/components/dataviews-view-config/index.tsx +8 -10
  133. package/src/components/form-field-visibility/index.tsx +32 -0
  134. package/src/dataforms-layouts/panel/index.tsx +11 -5
  135. package/src/dataforms-layouts/regular/index.tsx +9 -3
  136. package/src/dataviews-layouts/grid/index.tsx +29 -5
  137. package/src/dataviews-layouts/grid/style.scss +5 -0
  138. package/src/dataviews-layouts/list/index.tsx +10 -12
  139. package/src/dataviews-layouts/list/style.scss +1 -7
  140. package/src/dataviews-layouts/table/column-header-menu.tsx +31 -35
  141. package/src/dataviews-layouts/table/index.tsx +34 -3
  142. package/src/dataviews-layouts/utils/get-clickable-item-props.ts +22 -0
  143. package/src/normalize-fields.ts +17 -2
  144. package/src/test/normalize-fields.ts +45 -0
  145. package/src/types.ts +13 -2
  146. package/src/validation.ts +9 -0
  147. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_dataviewsItemActions","_dataviewsSelectionCheckbox","_dataviewsBulkActions","_jsxRuntime","GridItem","selection","onChangeSelection","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","useHasAPossibleBulkAction","id","isSelected","includes","renderedMediaField","render","jsx","renderedPrimaryField","jsxs","__experimentalVStack","spacing","className","clsx","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","default","disabled","__experimentalHStack","justify","isCompact","length","wrap","alignment","map","field","FlexItem","Flex","gap","expanded","style","height","direction","Fragment","header","maxHeight","ViewGrid","data","fields","isLoading","view","density","find","layout","viewFields","reduce","accumulator","key","push","hasData","gridStyle","gridTemplateColumns","__experimentalGrid","columns","Spinner","__"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.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 '../../components/dataviews-item-actions';\nimport SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';\nimport type { Action, NormalizedField, ViewGridProps } from '../../types';\nimport type { SetSelection } from '../../private-types';\n\ninterface GridItemProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\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\nfunction GridItem< Item >( {\n\tselection,\n\tonChangeSelection,\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\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\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\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\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{ renderedMediaField }\n\t\t\t</div>\n\t\t\t<SingleSelectionCheckbox\n\t\t\t\titem={ item }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tprimaryField={ primaryField }\n\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t/>\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<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ renderedPrimaryField }\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\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<field.render item={ item } />\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={ 1 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\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<field.render item={ item } />\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 >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tselection,\n\tview,\n\tdensity,\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 viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst { visibleFields, badgeFields } = fields.reduce(\n\t\t( accumulator: Record< string, NormalizedField< Item >[] >, field ) => {\n\t\t\tif (\n\t\t\t\t! viewFields.includes( field.id ) ||\n\t\t\t\t[\n\t\t\t\t\tview.layout?.mediaField,\n\t\t\t\t\tview?.layout?.primaryField,\n\t\t\t\t].includes( field.id )\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\tconst gridStyle = density\n\t\t? { gridTemplateColumns: `repeat(${ density }, minmax(0, 1fr))` }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\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\tstyle={ gridStyle }\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\tonChangeSelection={ onChangeSelection }\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":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_dataviewsItemActions","_dataviewsSelectionCheckbox","_dataviewsBulkActions","_getClickableItemProps","_jsxRuntime","GridItem","selection","onChangeSelection","onClickItem","isItemClickable","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","useHasAPossibleBulkAction","id","isSelected","includes","renderedMediaField","render","jsx","renderedPrimaryField","clickableMediaItemProps","getClickableItemProps","clickablePrimaryItemProps","jsxs","__experimentalVStack","spacing","className","clsx","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","default","disabled","__experimentalHStack","justify","isCompact","length","wrap","alignment","map","field","FlexItem","Flex","gap","expanded","style","height","direction","Fragment","header","maxHeight","ViewGrid","data","fields","isLoading","view","density","find","layout","viewFields","reduce","accumulator","key","push","hasData","gridStyle","gridTemplateColumns","__experimentalGrid","columns","Spinner","__"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.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 '../../components/dataviews-item-actions';\nimport SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';\nimport type { Action, NormalizedField, ViewGridProps } from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport getClickableItemProps from '../utils/get-clickable-item-props';\n\ninterface GridItemProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\tonClickItem: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\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\nfunction GridItem< Item >( {\n\tselection,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\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\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\tconst clickableMediaItemProps = getClickableItemProps(\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\t'dataviews-view-grid__media'\n\t);\n\n\tconst clickablePrimaryItemProps = getClickableItemProps(\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\t'dataviews-view-grid__primary-field'\n\t);\n\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\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<div { ...clickableMediaItemProps }>{ renderedMediaField }</div>\n\t\t\t<SingleSelectionCheckbox\n\t\t\t\titem={ item }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tprimaryField={ primaryField }\n\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t/>\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<HStack>\n\t\t\t\t\t<div { ...clickablePrimaryItemProps }>\n\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t</div>\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\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<field.render item={ item } />\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={ 1 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\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<field.render item={ item } />\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 >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tselection,\n\tview,\n\tdensity,\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 viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst { visibleFields, badgeFields } = fields.reduce(\n\t\t( accumulator: Record< string, NormalizedField< Item >[] >, field ) => {\n\t\t\tif (\n\t\t\t\t! viewFields.includes( field.id ) ||\n\t\t\t\t[\n\t\t\t\t\tview.layout?.mediaField,\n\t\t\t\t\tview?.layout?.primaryField,\n\t\t\t\t].includes( field.id )\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\tconst gridStyle = density\n\t\t? { gridTemplateColumns: `repeat(${ density }, minmax(0, 1fr))` }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\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\tstyle={ gridStyle }\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\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\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":[]}
@@ -28,7 +28,7 @@ var _jsxRuntime = require("react/jsx-runtime");
28
28
  */
29
29
 
30
30
  const {
31
- DropdownMenuV2: DropdownMenu
31
+ Menu
32
32
  } = (0, _lockUnlock.unlock)(_components.privateApis);
33
33
  function generateItemWrapperCompositeId(idPrefix) {
34
34
  return `${idPrefix}-item-wrapper`;
@@ -126,11 +126,12 @@ function ListItem({
126
126
  eligibleActions: _eligibleActions
127
127
  };
128
128
  }, [actions, item]);
129
- const renderedMediaField = mediaField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(mediaField.render, {
130
- item: item
131
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
132
- className: "dataviews-view-list__media-placeholder"
133
- });
129
+ const renderedMediaField = mediaField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
130
+ className: "dataviews-view-list__media-wrapper",
131
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(mediaField.render, {
132
+ item: item
133
+ })
134
+ }) : null;
134
135
  const renderedPrimaryField = primaryField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(primaryField.render, {
135
136
  item: item
136
137
  }) : null;
@@ -143,7 +144,7 @@ function ListItem({
143
144
  item: item
144
145
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
145
146
  role: "gridcell",
146
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
147
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu, {
147
148
  trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
148
149
  id: generateDropdownTriggerCompositeId(idPrefix),
149
150
  render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
@@ -156,7 +157,7 @@ function ListItem({
156
157
  })
157
158
  }),
158
159
  placement: "bottom-end",
159
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsItemActions.ActionsDropdownMenuGroup, {
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsItemActions.ActionsMenuGroup, {
160
161
  actions: eligibleActions,
161
162
  item: item
162
163
  })
@@ -190,10 +191,7 @@ function ListItem({
190
191
  spacing: 3,
191
192
  justify: "start",
192
193
  alignment: "flex-start",
193
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
194
- className: "dataviews-view-list__media-wrapper",
195
- children: renderedMediaField
196
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
194
+ children: [renderedMediaField, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
197
195
  spacing: 1,
198
196
  className: "dataviews-view-list__field-wrapper",
199
197
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","DropdownMenuV2","DropdownMenu","unlock","componentsPrivateApis","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","useRegistry","isModalOpen","setIsModalOpen","useState","compositeItemId","id","label","jsx","role","children","Composite","Item","render","Button","icon","isDestructive","size","onClick","ActionModal","action","items","closeModal","callback","ListItem","actions","isSelected","mediaField","onSelect","primaryField","visibleFields","onDropdownTriggerKeyDown","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","handleHover","type","isHover","useEffect","current","scrollIntoView","behavior","block","inline","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","renderedMediaField","className","renderedPrimaryField","usedActions","length","jsxs","__experimentalHStack","spacing","trigger","moreVertical","__","accessibleWhenDisabled","disabled","onKeyDown","placement","ActionsDropdownMenuGroup","Row","ref","clsx","onMouseEnter","onMouseLeave","justify","alignment","__experimentalVStack","map","field","VisuallyHidden","as","ViewList","props","data","fields","getItemId","isLoading","onChangeSelection","selection","view","baseId","useInstanceId","selectedItem","findLast","includes","find","layout","viewFields","generateCompositeItemIdPrefix","useCallback","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","usePrevious","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","Spinner","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsDropdownMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type { Action, NormalizedField, ViewListProps } from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { DropdownMenuV2: DropdownMenu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\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) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\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</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tvisibleFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, 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\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : (\n\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t);\n\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\tonKeyDown={ onDropdownTriggerKeyDown }\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\tplacement=\"bottom-end\"\n\t\t\t\t>\n\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownMenu>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t</div>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\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 viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) &&\n\t\t\t! [ view.layout?.primaryField, view.layout?.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","Menu","unlock","componentsPrivateApis","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","useRegistry","isModalOpen","setIsModalOpen","useState","compositeItemId","id","label","jsx","role","children","Composite","Item","render","Button","icon","isDestructive","size","onClick","ActionModal","action","items","closeModal","callback","ListItem","actions","isSelected","mediaField","onSelect","primaryField","visibleFields","onDropdownTriggerKeyDown","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","handleHover","type","isHover","useEffect","current","scrollIntoView","behavior","block","inline","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","renderedMediaField","className","renderedPrimaryField","usedActions","length","jsxs","__experimentalHStack","spacing","trigger","moreVertical","__","accessibleWhenDisabled","disabled","onKeyDown","placement","ActionsMenuGroup","Row","ref","clsx","onMouseEnter","onMouseLeave","justify","alignment","__experimentalVStack","map","field","VisuallyHidden","as","ViewList","props","data","fields","getItemId","isLoading","onChangeSelection","selection","view","baseId","useInstanceId","selectedItem","findLast","includes","find","layout","viewFields","generateCompositeItemIdPrefix","useCallback","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","usePrevious","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","Spinner","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type { Action, NormalizedField, ViewListProps } from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\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) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\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</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tvisibleFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, 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\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t<mediaField.render item={ item } />\n\t\t</div>\n\t) : null;\n\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Menu\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\tonKeyDown={ onDropdownTriggerKeyDown }\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\tplacement=\"bottom-end\"\n\t\t\t\t>\n\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t/>\n\t\t\t\t</Menu>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\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 viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) &&\n\t\t\t! [ view.layout?.primaryField, view.layout?.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,13 +26,13 @@ var _jsxRuntime = require("react/jsx-runtime");
26
26
  */
27
27
 
28
28
  const {
29
- DropdownMenuV2
29
+ Menu
30
30
  } = (0, _lockUnlock.unlock)(_components.privateApis);
31
- function WithDropDownMenuSeparators({
31
+ function WithMenuSeparators({
32
32
  children
33
33
  }) {
34
34
  return _element.Children.toArray(children).filter(Boolean).map((child, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_element.Fragment, {
35
- children: [i > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.Separator, {}), child]
35
+ children: [i > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Separator, {}), child]
36
36
  }, i));
37
37
  }
38
38
  const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
@@ -70,7 +70,7 @@ const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
70
70
  } else {
71
71
  header = combinedField.header || combinedField.label;
72
72
  }
73
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2, {
73
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu, {
74
74
  align: "start",
75
75
  trigger: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Button, {
76
76
  size: "compact",
@@ -85,12 +85,12 @@ const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
85
85
  style: {
86
86
  minWidth: '240px'
87
87
  },
88
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(WithDropDownMenuSeparators, {
89
- children: [isSortable && /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.Group, {
88
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(WithMenuSeparators, {
89
+ children: [isSortable && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Group, {
90
90
  children: _constants.SORTING_DIRECTIONS.map(direction => {
91
91
  const isChecked = view.sort && isSorted && view.sort.direction === direction;
92
92
  const value = `${fieldId}-${direction}`;
93
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.RadioItem, {
93
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.RadioItem, {
94
94
  // All sorting radio items share the same name, so that
95
95
  // selecting a sorting option automatically deselects the
96
96
  // previously selected one, even if it is displayed in
@@ -108,13 +108,13 @@ const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
108
108
  }
109
109
  });
110
110
  },
111
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.ItemLabel, {
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
112
112
  children: _constants.sortLabels[direction]
113
113
  })
114
114
  }, value);
115
115
  })
116
- }), canAddFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.Group, {
117
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.Item, {
116
+ }), canAddFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Group, {
117
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
118
118
  prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
119
119
  icon: _icons.funnel
120
120
  }),
@@ -130,12 +130,12 @@ const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
130
130
  }]
131
131
  });
132
132
  },
133
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.ItemLabel, {
133
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
134
134
  children: (0, _i18n.__)('Add filter')
135
135
  })
136
136
  })
137
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(DropdownMenuV2.Group, {
138
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.Item, {
137
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Menu.Group, {
138
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
139
139
  prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
140
140
  icon: _icons.arrowLeft
141
141
  }),
@@ -147,10 +147,10 @@ const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
147
147
  fields: [...((_visibleFieldIds$slic = visibleFieldIds.slice(0, index - 1)) !== null && _visibleFieldIds$slic !== void 0 ? _visibleFieldIds$slic : []), fieldId, visibleFieldIds[index - 1], ...visibleFieldIds.slice(index + 1)]
148
148
  });
149
149
  },
150
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.ItemLabel, {
150
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
151
151
  children: (0, _i18n.__)('Move left')
152
152
  })
153
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.Item, {
153
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
154
154
  prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
155
155
  icon: _icons.arrowRight
156
156
  }),
@@ -162,10 +162,10 @@ const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
162
162
  fields: [...((_visibleFieldIds$slic2 = visibleFieldIds.slice(0, index)) !== null && _visibleFieldIds$slic2 !== void 0 ? _visibleFieldIds$slic2 : []), visibleFieldIds[index + 1], fieldId, ...visibleFieldIds.slice(index + 2)]
163
163
  });
164
164
  },
165
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.ItemLabel, {
165
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
166
166
  children: (0, _i18n.__)('Move right')
167
167
  })
168
- }), isHidable && field && /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.Item, {
168
+ }), isHidable && field && /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.Item, {
169
169
  prefix: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
170
170
  icon: _icons.unseen
171
171
  }),
@@ -176,7 +176,7 @@ const _HeaderMenu = (0, _element.forwardRef)(function HeaderMenu({
176
176
  fields: visibleFieldIds.filter(id => id !== fieldId)
177
177
  });
178
178
  },
179
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuV2.ItemLabel, {
179
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Menu.ItemLabel, {
180
180
  children: (0, _i18n.__)('Hide column')
181
181
  })
182
182
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_icons","_components","_element","_lockUnlock","_utils","_constants","_index","_jsxRuntime","DropdownMenuV2","unlock","componentsPrivateApis","WithDropDownMenuSeparators","children","Children","toArray","filter","Boolean","map","child","i","jsxs","Fragment","jsx","Separator","_HeaderMenu","forwardRef","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","ref","visibleFieldIds","getVisibleFieldIds","index","indexOf","isSorted","sort","field","isHidable","isSortable","canAddFilter","header","operators","combinedField","layout","combinedFields","find","f","id","enableHiding","enableSorting","sanitizeOperators","filters","some","_filter","elements","length","filterBy","isPrimary","label","align","trigger","Button","size","className","variant","sortArrows","direction","style","minWidth","Group","SORTING_DIRECTIONS","isChecked","value","RadioItem","name","checked","onChange","ItemLabel","sortLabels","Item","prefix","Icon","icon","funnel","onClick","page","undefined","operator","__","arrowLeft","disabled","_visibleFieldIds$slic","slice","arrowRight","_visibleFieldIds$slic2","unseen","ColumnHeaderMenu","_default","exports","default"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-header-menu.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowLeft, arrowRight, unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { sanitizeOperators } from '../../utils';\nimport { SORTING_DIRECTIONS, sortArrows, sortLabels } from '../../constants';\nimport type {\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tOperator,\n} from '../../types';\nimport { getVisibleFieldIds } from '../index';\n\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfieldId: string;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n}\n\nfunction WithDropDownMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuV2.Separator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfieldId,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst visibleFieldIds = getVisibleFieldIds( view, fields );\n\tconst index = visibleFieldIds?.indexOf( fieldId ) as number;\n\tconst isSorted = view.sort?.field === fieldId;\n\tlet isHidable = false;\n\tlet isSortable = false;\n\tlet canAddFilter = false;\n\tlet header;\n\tlet operators: Operator[] = [];\n\n\tconst combinedField = view.layout?.combinedFields?.find(\n\t\t( f ) => f.id === fieldId\n\t);\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\n\tif ( ! combinedField ) {\n\t\tif ( ! field ) {\n\t\t\t// No combined or regular field found.\n\t\t\treturn null;\n\t\t}\n\n\t\tisHidable = field.enableHiding !== false;\n\t\tisSortable = field.enableSorting !== false;\n\t\theader = field.header;\n\n\t\toperators = sanitizeOperators( field );\n\t\t// Filter can be added:\n\t\t// 1. If the field is not already part of a view's filters.\n\t\t// 2. If the field meets the type and operator requirements.\n\t\t// 3. If it's not primary. If it is, it should be already visible.\n\t\tcanAddFilter =\n\t\t\t! view.filters?.some( ( _filter ) => fieldId === _filter.field ) &&\n\t\t\t!! field.elements?.length &&\n\t\t\t!! operators.length &&\n\t\t\t! field.filterBy?.isPrimary;\n\t} else {\n\t\theader = combinedField.header || combinedField.label;\n\t}\n\n\treturn (\n\t\t<DropdownMenuV2\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ header }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithDropDownMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuV2.Group>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ fieldId }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.RadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.RadioItem>\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</DropdownMenuV2.Group>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuV2.Group>\n\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( fieldId );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t</DropdownMenuV2.Group>\n\t\t\t\t) }\n\t\t\t\t<DropdownMenuV2.Group>\n\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\tdisabled={ index < 1 }\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\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 1 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t{ __( 'Move left' ) }\n\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\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\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice( 0, index ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 2 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t{ __( 'Move right' ) }\n\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t{ isHidable && field && (\n\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonHide( field );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tfields: visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Hide column' ) }\n\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenuV2.Group>\n\t\t\t</WithDropDownMenuSeparators>\n\t\t</DropdownMenuV2>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst ColumnHeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nexport default ColumnHeaderMenu;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_icons","_components","_element","_lockUnlock","_utils","_constants","_index","_jsxRuntime","Menu","unlock","componentsPrivateApis","WithMenuSeparators","children","Children","toArray","filter","Boolean","map","child","i","jsxs","Fragment","jsx","Separator","_HeaderMenu","forwardRef","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","ref","visibleFieldIds","getVisibleFieldIds","index","indexOf","isSorted","sort","field","isHidable","isSortable","canAddFilter","header","operators","combinedField","layout","combinedFields","find","f","id","enableHiding","enableSorting","sanitizeOperators","filters","some","_filter","elements","length","filterBy","isPrimary","label","align","trigger","Button","size","className","variant","sortArrows","direction","style","minWidth","Group","SORTING_DIRECTIONS","isChecked","value","RadioItem","name","checked","onChange","ItemLabel","sortLabels","Item","prefix","Icon","icon","funnel","onClick","page","undefined","operator","__","arrowLeft","disabled","_visibleFieldIds$slic","slice","arrowRight","_visibleFieldIds$slic2","unseen","ColumnHeaderMenu","_default","exports","default"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-header-menu.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowLeft, arrowRight, unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { sanitizeOperators } from '../../utils';\nimport { SORTING_DIRECTIONS, sortArrows, sortLabels } from '../../constants';\nimport type {\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tOperator,\n} from '../../types';\nimport { getVisibleFieldIds } from '../index';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfieldId: string;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n}\n\nfunction WithMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <Menu.Separator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfieldId,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst visibleFieldIds = getVisibleFieldIds( view, fields );\n\tconst index = visibleFieldIds?.indexOf( fieldId ) as number;\n\tconst isSorted = view.sort?.field === fieldId;\n\tlet isHidable = false;\n\tlet isSortable = false;\n\tlet canAddFilter = false;\n\tlet header;\n\tlet operators: Operator[] = [];\n\n\tconst combinedField = view.layout?.combinedFields?.find(\n\t\t( f ) => f.id === fieldId\n\t);\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\n\tif ( ! combinedField ) {\n\t\tif ( ! field ) {\n\t\t\t// No combined or regular field found.\n\t\t\treturn null;\n\t\t}\n\n\t\tisHidable = field.enableHiding !== false;\n\t\tisSortable = field.enableSorting !== false;\n\t\theader = field.header;\n\n\t\toperators = sanitizeOperators( field );\n\t\t// Filter can be added:\n\t\t// 1. If the field is not already part of a view's filters.\n\t\t// 2. If the field meets the type and operator requirements.\n\t\t// 3. If it's not primary. If it is, it should be already visible.\n\t\tcanAddFilter =\n\t\t\t! view.filters?.some( ( _filter ) => fieldId === _filter.field ) &&\n\t\t\t!! field.elements?.length &&\n\t\t\t!! operators.length &&\n\t\t\t! field.filterBy?.isPrimary;\n\t} else {\n\t\theader = combinedField.header || combinedField.label;\n\t}\n\n\treturn (\n\t\t<Menu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ header }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ fieldId }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t</Menu.RadioItem>\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</Menu.Group>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( fieldId );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t</Menu.Group>\n\t\t\t\t) }\n\t\t\t\t<Menu.Group>\n\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\tdisabled={ index < 1 }\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\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 1 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Menu.ItemLabel>{ __( 'Move left' ) }</Menu.ItemLabel>\n\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\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\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice( 0, index ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 2 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Menu.ItemLabel>{ __( 'Move right' ) }</Menu.ItemLabel>\n\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t{ isHidable && field && (\n\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonHide( field );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tfields: visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Hide column' ) }\n\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t) }\n\t\t\t\t</Menu.Group>\n\t\t\t</WithMenuSeparators>\n\t\t</Menu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst ColumnHeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nexport default ColumnHeaderMenu;\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ var _constants = require("../../constants");
15
15
  var _dataviewsBulkActions = require("../../components/dataviews-bulk-actions");
16
16
  var _columnHeaderMenu = _interopRequireDefault(require("./column-header-menu"));
17
17
  var _index = require("../index");
18
+ var _getClickableItemProps = _interopRequireDefault(require("../utils/get-clickable-item-props"));
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
20
  /**
20
21
  * External dependencies
@@ -55,14 +56,22 @@ function TableColumn({
55
56
  function TableColumnField({
56
57
  primaryField,
57
58
  item,
58
- field
59
+ field,
60
+ isItemClickable,
61
+ onClickItem
59
62
  }) {
63
+ const isPrimaryField = primaryField?.id === field.id;
64
+ const isItemClickableField = i => isItemClickable(i) && isPrimaryField;
65
+ const clickableProps = (0, _getClickableItemProps.default)(item, isItemClickableField, onClickItem, 'dataviews-view-table__cell-content');
60
66
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
61
67
  className: (0, _clsx.default)('dataviews-view-table__cell-content-wrapper', {
62
- 'dataviews-view-table__primary-field': primaryField?.id === field.id
68
+ 'dataviews-view-table__primary-field': isPrimaryField
63
69
  }),
64
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(field.render, {
65
- item
70
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
71
+ ...clickableProps,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(field.render, {
73
+ item
74
+ })
66
75
  })
67
76
  });
68
77
  }
@@ -95,6 +104,8 @@ function TableRow({
95
104
  primaryField,
96
105
  selection,
97
106
  getItemId,
107
+ isItemClickable,
108
+ onClickItem,
98
109
  onChangeSelection
99
110
  }) {
100
111
  const hasPossibleBulkAction = (0, _dataviewsBulkActions.useHasAPossibleBulkAction)(actions, item);
@@ -163,6 +174,8 @@ function TableRow({
163
174
  },
164
175
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TableColumn, {
165
176
  primaryField: primaryField,
177
+ isItemClickable: isItemClickable,
178
+ onClickItem: onClickItem,
166
179
  fields: fields,
167
180
  item: item,
168
181
  column: column,
@@ -198,6 +211,8 @@ function ViewTable({
198
211
  onChangeSelection,
199
212
  selection,
200
213
  setOpenedFilter,
214
+ onClickItem,
215
+ isItemClickable,
201
216
  view
202
217
  }) {
203
218
  const headerMenuRefs = (0, _element.useRef)(new Map());
@@ -303,7 +318,9 @@ function ViewTable({
303
318
  primaryField: primaryField,
304
319
  selection: selection,
305
320
  getItemId: getItemId,
306
- onChangeSelection: onChangeSelection
321
+ onChangeSelection: onChangeSelection,
322
+ onClickItem: onClickItem,
323
+ isItemClickable: isItemClickable
307
324
  }, getItemId(item)))
308
325
  })]
309
326
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {