@wordpress/dataviews 4.9.1-next.a9f418477.0 → 4.10.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 (127) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +22 -22
  3. package/build/components/dataviews/index.js +1 -0
  4. package/build/components/dataviews/index.js.map +1 -1
  5. package/build/components/dataviews-bulk-actions/index.js +30 -2
  6. package/build/components/dataviews-bulk-actions/index.js.map +1 -1
  7. package/build/components/dataviews-filters/add-filter.js +1 -0
  8. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  9. package/build/components/dataviews-filters/filter-summary.js +1 -0
  10. package/build/components/dataviews-filters/filter-summary.js.map +1 -1
  11. package/build/components/dataviews-filters/index.js +1 -0
  12. package/build/components/dataviews-filters/index.js.map +1 -1
  13. package/build/components/dataviews-filters/reset-filters.js +1 -0
  14. package/build/components/dataviews-filters/reset-filters.js.map +1 -1
  15. package/build/components/dataviews-filters/search-widget.js +1 -0
  16. package/build/components/dataviews-filters/search-widget.js.map +1 -1
  17. package/build/components/dataviews-item-actions/index.js +59 -76
  18. package/build/components/dataviews-item-actions/index.js.map +1 -1
  19. package/build/components/dataviews-layout/index.js +1 -0
  20. package/build/components/dataviews-layout/index.js.map +1 -1
  21. package/build/components/dataviews-pagination/index.js +1 -0
  22. package/build/components/dataviews-pagination/index.js.map +1 -1
  23. package/build/components/dataviews-selection-checkbox/index.js +1 -0
  24. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  25. package/build/components/dataviews-view-config/index.js +4 -0
  26. package/build/components/dataviews-view-config/index.js.map +1 -1
  27. package/build/dataforms-layouts/data-form-layout.js +1 -0
  28. package/build/dataforms-layouts/data-form-layout.js.map +1 -1
  29. package/build/dataforms-layouts/index.js +1 -0
  30. package/build/dataforms-layouts/index.js.map +1 -1
  31. package/build/dataforms-layouts/panel/index.js +1 -0
  32. package/build/dataforms-layouts/panel/index.js.map +1 -1
  33. package/build/dataforms-layouts/regular/index.js +1 -0
  34. package/build/dataforms-layouts/regular/index.js.map +1 -1
  35. package/build/dataviews-layouts/grid/index.js +28 -6
  36. package/build/dataviews-layouts/grid/index.js.map +1 -1
  37. package/build/dataviews-layouts/list/index.js +18 -8
  38. package/build/dataviews-layouts/list/index.js.map +1 -1
  39. package/build/dataviews-layouts/table/column-header-menu.js +1 -0
  40. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  41. package/build/dataviews-layouts/table/index.js +1 -0
  42. package/build/dataviews-layouts/table/index.js.map +1 -1
  43. package/build/dataviews-layouts/utils/get-clickable-item-props.js +1 -1
  44. package/build/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -1
  45. package/build/filter-and-sort-data-view.js +1 -0
  46. package/build/filter-and-sort-data-view.js.map +1 -1
  47. package/build/normalize-fields.js +1 -0
  48. package/build/normalize-fields.js.map +1 -1
  49. package/build/normalize-form-fields.js +1 -0
  50. package/build/normalize-form-fields.js.map +1 -1
  51. package/build/utils.js +1 -0
  52. package/build/utils.js.map +1 -1
  53. package/build/validation.js +1 -0
  54. package/build/validation.js.map +1 -1
  55. package/build-module/components/dataviews/index.js +1 -0
  56. package/build-module/components/dataviews/index.js.map +1 -1
  57. package/build-module/components/dataviews-bulk-actions/index.js +31 -3
  58. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
  59. package/build-module/components/dataviews-filters/add-filter.js +1 -0
  60. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  61. package/build-module/components/dataviews-filters/filter-summary.js +1 -0
  62. package/build-module/components/dataviews-filters/filter-summary.js.map +1 -1
  63. package/build-module/components/dataviews-filters/index.js +1 -0
  64. package/build-module/components/dataviews-filters/index.js.map +1 -1
  65. package/build-module/components/dataviews-filters/reset-filters.js +1 -0
  66. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -1
  67. package/build-module/components/dataviews-filters/search-widget.js +1 -0
  68. package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
  69. package/build-module/components/dataviews-item-actions/index.js +60 -76
  70. package/build-module/components/dataviews-item-actions/index.js.map +1 -1
  71. package/build-module/components/dataviews-layout/index.js +1 -0
  72. package/build-module/components/dataviews-layout/index.js.map +1 -1
  73. package/build-module/components/dataviews-pagination/index.js +1 -0
  74. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  75. package/build-module/components/dataviews-selection-checkbox/index.js +1 -0
  76. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  77. package/build-module/components/dataviews-view-config/index.js +4 -0
  78. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  79. package/build-module/dataforms-layouts/data-form-layout.js +1 -0
  80. package/build-module/dataforms-layouts/data-form-layout.js.map +1 -1
  81. package/build-module/dataforms-layouts/index.js +1 -0
  82. package/build-module/dataforms-layouts/index.js.map +1 -1
  83. package/build-module/dataforms-layouts/panel/index.js +1 -0
  84. package/build-module/dataforms-layouts/panel/index.js.map +1 -1
  85. package/build-module/dataforms-layouts/regular/index.js +1 -0
  86. package/build-module/dataforms-layouts/regular/index.js.map +1 -1
  87. package/build-module/dataviews-layouts/grid/index.js +28 -6
  88. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  89. package/build-module/dataviews-layouts/list/index.js +18 -8
  90. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  91. package/build-module/dataviews-layouts/table/column-header-menu.js +1 -0
  92. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  93. package/build-module/dataviews-layouts/table/index.js +1 -0
  94. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  95. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js +1 -1
  96. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -1
  97. package/build-module/filter-and-sort-data-view.js +1 -0
  98. package/build-module/filter-and-sort-data-view.js.map +1 -1
  99. package/build-module/normalize-fields.js +1 -0
  100. package/build-module/normalize-fields.js.map +1 -1
  101. package/build-module/normalize-form-fields.js +1 -0
  102. package/build-module/normalize-form-fields.js.map +1 -1
  103. package/build-module/utils.js +1 -0
  104. package/build-module/utils.js.map +1 -1
  105. package/build-module/validation.js +1 -0
  106. package/build-module/validation.js.map +1 -1
  107. package/build-style/style-rtl.css +19 -10
  108. package/build-style/style.css +19 -10
  109. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
  110. package/build-types/components/dataviews-item-actions/index.d.ts +7 -9
  111. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  112. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  113. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  114. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  115. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts.map +1 -1
  116. package/build-wp/index.js +269 -215
  117. package/package.json +10 -10
  118. package/src/components/dataviews-bulk-actions/index.tsx +43 -3
  119. package/src/components/dataviews-item-actions/index.tsx +83 -103
  120. package/src/components/dataviews-view-config/index.tsx +10 -2
  121. package/src/components/dataviews-view-config/style.scss +8 -0
  122. package/src/dataviews-layouts/grid/index.tsx +33 -15
  123. package/src/dataviews-layouts/grid/style.scss +1 -1
  124. package/src/dataviews-layouts/list/index.tsx +21 -9
  125. package/src/dataviews-layouts/list/style.scss +5 -4
  126. package/src/dataviews-layouts/utils/get-clickable-item-props.ts +5 -1
  127. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__","arrowLeft","arrowRight","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","forwardRef","Children","Fragment","unlock","sanitizeOperators","SORTING_DIRECTIONS","sortArrows","sortLabels","jsx","_jsx","jsxs","_jsxs","Menu","WithMenuSeparators","children","toArray","filter","Boolean","map","child","i","Separator","_HeaderMenu","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","canMove","ref","_view$fields","visibleFieldIds","index","indexOf","isSorted","sort","field","isHidable","isSortable","canAddFilter","operators","find","f","id","enableHiding","enableSorting","header","filters","some","_filter","elements","length","filterBy","isPrimary","align","trigger","size","className","variant","direction","style","minWidth","Group","isChecked","value","RadioItem","name","checked","onChange","ItemLabel","Item","prefix","icon","onClick","page","undefined","operator","disabled","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","ColumnHeaderMenu"],"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';\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\tcanMove?: boolean;\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\tcanMove = true,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst visibleFieldIds = 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 operators: Operator[] = [];\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\n\tif ( ! field ) {\n\t\t// No combined or regular field found.\n\t\treturn null;\n\t}\n\n\tisHidable = field.enableHiding !== false;\n\tisSortable = field.enableSorting !== false;\n\tconst header = field.header;\n\n\toperators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tcanAddFilter =\n\t\t! view.filters?.some( ( _filter ) => fieldId === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\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{ ( canMove || isHidable ) && field && (\n\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\t\t\tdisabled={ index < 1 }\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\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 1\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} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Move left' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\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\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 2\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} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Move right' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isHidable && field && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonHide( field );\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\tfields: visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Hide column' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Menu.Group>\n\t\t\t\t) }\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":[]}
1
+ {"version":3,"names":["__","arrowLeft","arrowRight","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","forwardRef","Children","Fragment","unlock","sanitizeOperators","SORTING_DIRECTIONS","sortArrows","sortLabels","jsx","_jsx","jsxs","_jsxs","Menu","WithMenuSeparators","children","toArray","filter","Boolean","map","child","i","Separator","_HeaderMenu","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","canMove","ref","_view$fields","visibleFieldIds","index","indexOf","isSorted","sort","field","isHidable","isSortable","canAddFilter","operators","find","f","id","enableHiding","enableSorting","header","filters","some","_filter","elements","length","filterBy","isPrimary","align","trigger","size","className","variant","direction","style","minWidth","Group","isChecked","value","RadioItem","name","checked","onChange","ItemLabel","Item","prefix","icon","onClick","page","undefined","operator","disabled","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","ColumnHeaderMenu"],"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';\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\tcanMove?: boolean;\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\tcanMove = true,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst visibleFieldIds = 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 operators: Operator[] = [];\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\n\tif ( ! field ) {\n\t\t// No combined or regular field found.\n\t\treturn null;\n\t}\n\n\tisHidable = field.enableHiding !== false;\n\tisSortable = field.enableSorting !== false;\n\tconst header = field.header;\n\n\toperators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tcanAddFilter =\n\t\t! view.filters?.some( ( _filter ) => fieldId === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\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{ ( canMove || isHidable ) && field && (\n\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\t\t\tdisabled={ index < 1 }\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\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 1\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} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Move left' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\t\t\tdisabled={ index >= visibleFieldIds.length - 1 }\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\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\tindex + 2\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} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Move right' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isHidable && field && (\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonHide( field );\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\tfields: visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Hide column' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Menu.Group>\n\t\t\t\t) }\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":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","Spinner","useEffect","useId","useRef","useState","DataViewsSelectionCheckbox","ItemActions","sortValues","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","BulkSelectionCheckbox","ColumnHeaderMenu","ColumnPrimary","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableColumnField","item","fields","column","field","find","f","id","className","children","render","TableRow","hasBulkActions","actions","view","titleField","mediaField","descriptionField","selection","getItemId","isItemClickable","onClickItem","onChangeSelection","_view$fields","hasPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","showTitle","showMedia","showDescription","handleMouseEnter","handleMouseLeave","isTouchDeviceRef","columns","hasPrimaryColumn","onMouseEnter","onMouseLeave","onTouchStart","current","onClick","document","getSelection","type","filter","itemId","style","width","disabled","undefined","map","_view$layout$styles$c","maxWidth","minWidth","layout","styles","length","e","stopPropagation","ViewTable","data","isLoading","onChangeView","setOpenedFilter","_view$fields2","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","onHide","hidden","get","fallback","node","hasData","headerMenuRef","index","set","delete","density","scope","ref","fieldId","canMove","_view$layout$styles$c2","sort","direction","toString"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport { useEffect, useId, useRef, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n\tBulkSelectionCheckbox,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport ColumnHeaderMenu from './column-header-menu';\nimport ColumnPrimary from './column-primary';\n\ninterface TableColumnFieldProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tcolumn: string;\n\titem: Item;\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n}\n\nfunction TableColumnField< Item >( {\n\titem,\n\tfields,\n\tcolumn,\n}: TableColumnFieldProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t<field.render { ...{ item } } />\n\t\t</div>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tselection,\n\tgetItemId,\n\tisItemClickable,\n\tonClickItem,\n\tonChangeSelection,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDeviceRef = useRef( false );\n\tconst columns = view.fields ?? [];\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDeviceRef.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDeviceRef.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\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: [ id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t<td>\n\t\t\t\t\t<ColumnPrimary\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\ttitleField={ showTitle ? titleField : undefined }\n\t\t\t\t\t\tmediaField={ showMedia ? mediaField : undefined }\n\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\tshowDescription ? descriptionField : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t/>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicits picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td key={ column } style={ { width, maxWidth, minWidth } }>\n\t\t\t\t\t\t<TableColumnField\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tonClickItem,\n\tisItemClickable,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst hasData = !! data?.length;\n\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\tconst columns = view.fields ?? [];\n\tconst headerMenuRef =\n\t\t( column: string, index: number ) => ( node: HTMLButtonElement ) => {\n\t\t\tif ( node ) {\n\t\t\t\theaderMenuRefs.current.set( column, {\n\t\t\t\t\tnode,\n\t\t\t\t\tfallback: columns[ index > 0 ? index - 1 : 1 ],\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\theaderMenuRefs.current.delete( column );\n\t\t\t}\n\t\t};\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName={ clsx( 'dataviews-view-table', {\n\t\t\t\t\t[ `has-${ view.layout?.density }-density` ]:\n\t\t\t\t\t\tview.layout?.density &&\n\t\t\t\t\t\t[ 'compact', 'comfortable' ].includes(\n\t\t\t\t\t\t\tview.layout.density\n\t\t\t\t\t\t),\n\t\t\t\t} ) }\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ titleField && (\n\t\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef(\n\t\t\t\t\t\t\t\t\t\t\t\ttitleField.id,\n\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tfieldId={ titleField.id }\n\t\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\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</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicits picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ { width, maxWidth, minWidth } }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.direction &&\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef( column, index ) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\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/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ 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\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","Spinner","useEffect","useId","useRef","useState","DataViewsSelectionCheckbox","ItemActions","sortValues","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","BulkSelectionCheckbox","ColumnHeaderMenu","ColumnPrimary","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableColumnField","item","fields","column","field","find","f","id","className","children","render","TableRow","hasBulkActions","actions","view","titleField","mediaField","descriptionField","selection","getItemId","isItemClickable","onClickItem","onChangeSelection","_view$fields","hasPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","showTitle","showMedia","showDescription","handleMouseEnter","handleMouseLeave","isTouchDeviceRef","columns","hasPrimaryColumn","onMouseEnter","onMouseLeave","onTouchStart","current","onClick","document","getSelection","type","filter","itemId","style","width","disabled","undefined","map","_view$layout$styles$c","maxWidth","minWidth","layout","styles","length","e","stopPropagation","ViewTable","data","isLoading","onChangeView","setOpenedFilter","_view$fields2","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","onHide","hidden","get","fallback","node","hasData","headerMenuRef","index","set","delete","density","scope","ref","fieldId","canMove","_view$layout$styles$c2","sort","direction","toString"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport { useEffect, useId, useRef, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n\tBulkSelectionCheckbox,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport ColumnHeaderMenu from './column-header-menu';\nimport ColumnPrimary from './column-primary';\n\ninterface TableColumnFieldProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tcolumn: string;\n\titem: Item;\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n}\n\nfunction TableColumnField< Item >( {\n\titem,\n\tfields,\n\tcolumn,\n}: TableColumnFieldProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t<field.render { ...{ item } } />\n\t\t</div>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tselection,\n\tgetItemId,\n\tisItemClickable,\n\tonClickItem,\n\tonChangeSelection,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDeviceRef = useRef( false );\n\tconst columns = view.fields ?? [];\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDeviceRef.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDeviceRef.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\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: [ id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t<td>\n\t\t\t\t\t<ColumnPrimary\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\ttitleField={ showTitle ? titleField : undefined }\n\t\t\t\t\t\tmediaField={ showMedia ? mediaField : undefined }\n\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\tshowDescription ? descriptionField : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t/>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicits picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td key={ column } style={ { width, maxWidth, minWidth } }>\n\t\t\t\t\t\t<TableColumnField\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tonClickItem,\n\tisItemClickable,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst hasData = !! data?.length;\n\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\tconst columns = view.fields ?? [];\n\tconst headerMenuRef =\n\t\t( column: string, index: number ) => ( node: HTMLButtonElement ) => {\n\t\t\tif ( node ) {\n\t\t\t\theaderMenuRefs.current.set( column, {\n\t\t\t\t\tnode,\n\t\t\t\t\tfallback: columns[ index > 0 ? index - 1 : 1 ],\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\theaderMenuRefs.current.delete( column );\n\t\t\t}\n\t\t};\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName={ clsx( 'dataviews-view-table', {\n\t\t\t\t\t[ `has-${ view.layout?.density }-density` ]:\n\t\t\t\t\t\tview.layout?.density &&\n\t\t\t\t\t\t[ 'compact', 'comfortable' ].includes(\n\t\t\t\t\t\t\tview.layout.density\n\t\t\t\t\t\t),\n\t\t\t\t} ) }\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ titleField && (\n\t\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef(\n\t\t\t\t\t\t\t\t\t\t\t\ttitleField.id,\n\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tfieldId={ titleField.id }\n\t\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\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</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicits picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ { width, maxWidth, minWidth } }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.direction &&\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef( column, index ) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\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/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ 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\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,7 @@ export default function getClickableItemProps({
19
19
  onClickItem(item);
20
20
  },
21
21
  onKeyDown: event => {
22
- if (event.key === 'Enter' || event.key === '') {
22
+ if (event.key === 'Enter' || event.key === '' || event.key === ' ') {
23
23
  // Prevents onChangeSelection from triggering.
24
24
  event.stopPropagation();
25
25
  onClickItem(item);
@@ -1 +1 @@
1
- {"version":3,"names":["getClickableItemProps","item","isItemClickable","onClickItem","className","undefined","role","tabIndex","onClick","event","stopPropagation","onKeyDown","key"],"sources":["@wordpress/dataviews/src/dataviews-layouts/utils/get-clickable-item-props.ts"],"sourcesContent":["export default function getClickableItemProps< Item >( {\n\titem,\n\tisItemClickable,\n\tonClickItem,\n\tclassName,\n}: {\n\titem: Item;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\tclassName?: string;\n} ) {\n\tif ( ! isItemClickable( item ) || ! onClickItem ) {\n\t\treturn { className };\n\t}\n\n\treturn {\n\t\tclassName: className\n\t\t\t? `${ className } ${ className }--clickable`\n\t\t\t: undefined,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonClick: ( event: React.MouseEvent ) => {\n\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\tevent.stopPropagation();\n\t\t\tonClickItem( item );\n\t\t},\n\t\tonKeyDown: ( event: React.KeyboardEvent ) => {\n\t\t\tif ( event.key === 'Enter' || event.key === '' ) {\n\t\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tonClickItem( item );\n\t\t\t}\n\t\t},\n\t};\n}\n"],"mappings":"AAAA,eAAe,SAASA,qBAAqBA,CAAU;EACtDC,IAAI;EACJC,eAAe;EACfC,WAAW;EACXC;AAMD,CAAC,EAAG;EACH,IAAK,CAAEF,eAAe,CAAED,IAAK,CAAC,IAAI,CAAEE,WAAW,EAAG;IACjD,OAAO;MAAEC;IAAU,CAAC;EACrB;EAEA,OAAO;IACNA,SAAS,EAAEA,SAAS,GACjB,GAAIA,SAAS,IAAMA,SAAS,aAAc,GAC1CC,SAAS;IACZC,IAAI,EAAE,QAAQ;IACdC,QAAQ,EAAE,CAAC;IACXC,OAAO,EAAIC,KAAuB,IAAM;MACvC;MACAA,KAAK,CAACC,eAAe,CAAC,CAAC;MACvBP,WAAW,CAAEF,IAAK,CAAC;IACpB,CAAC;IACDU,SAAS,EAAIF,KAA0B,IAAM;MAC5C,IAAKA,KAAK,CAACG,GAAG,KAAK,OAAO,IAAIH,KAAK,CAACG,GAAG,KAAK,EAAE,EAAG;QAChD;QACAH,KAAK,CAACC,eAAe,CAAC,CAAC;QACvBP,WAAW,CAAEF,IAAK,CAAC;MACpB;IACD;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["getClickableItemProps","item","isItemClickable","onClickItem","className","undefined","role","tabIndex","onClick","event","stopPropagation","onKeyDown","key"],"sources":["@wordpress/dataviews/src/dataviews-layouts/utils/get-clickable-item-props.ts"],"sourcesContent":["export default function getClickableItemProps< Item >( {\n\titem,\n\tisItemClickable,\n\tonClickItem,\n\tclassName,\n}: {\n\titem: Item;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n\tclassName?: string;\n} ) {\n\tif ( ! isItemClickable( item ) || ! onClickItem ) {\n\t\treturn { className };\n\t}\n\n\treturn {\n\t\tclassName: className\n\t\t\t? `${ className } ${ className }--clickable`\n\t\t\t: undefined,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonClick: ( event: React.MouseEvent ) => {\n\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\tevent.stopPropagation();\n\t\t\tonClickItem( item );\n\t\t},\n\t\tonKeyDown: ( event: React.KeyboardEvent ) => {\n\t\t\tif (\n\t\t\t\tevent.key === 'Enter' ||\n\t\t\t\tevent.key === '' ||\n\t\t\t\tevent.key === ' '\n\t\t\t) {\n\t\t\t\t// Prevents onChangeSelection from triggering.\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tonClickItem( item );\n\t\t\t}\n\t\t},\n\t};\n}\n"],"mappings":"AAAA,eAAe,SAASA,qBAAqBA,CAAU;EACtDC,IAAI;EACJC,eAAe;EACfC,WAAW;EACXC;AAMD,CAAC,EAAG;EACH,IAAK,CAAEF,eAAe,CAAED,IAAK,CAAC,IAAI,CAAEE,WAAW,EAAG;IACjD,OAAO;MAAEC;IAAU,CAAC;EACrB;EAEA,OAAO;IACNA,SAAS,EAAEA,SAAS,GACjB,GAAIA,SAAS,IAAMA,SAAS,aAAc,GAC1CC,SAAS;IACZC,IAAI,EAAE,QAAQ;IACdC,QAAQ,EAAE,CAAC;IACXC,OAAO,EAAIC,KAAuB,IAAM;MACvC;MACAA,KAAK,CAACC,eAAe,CAAC,CAAC;MACvBP,WAAW,CAAEF,IAAK,CAAC;IACpB,CAAC;IACDU,SAAS,EAAIF,KAA0B,IAAM;MAC5C,IACCA,KAAK,CAACG,GAAG,KAAK,OAAO,IACrBH,KAAK,CAACG,GAAG,KAAK,EAAE,IAChBH,KAAK,CAACG,GAAG,KAAK,GAAG,EAChB;QACD;QACAH,KAAK,CAACC,eAAe,CAAC,CAAC;QACvBP,WAAW,CAAEF,IAAK,CAAC;MACpB;IACD;EACD,CAAC;AACF","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["removeAccents","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_NONE","OPERATOR_IS_ANY","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","normalizeFields","normalizeSearchInput","input","trim","toLowerCase","EMPTY_ARRAY","filterSortAndPaginate","data","view","fields","paginationInfo","totalItems","totalPages","_fields","filteredData","search","normalizedSearch","filter","item","field","enableGlobalSearch","map","getValue","some","includes","filters","length","forEach","find","_field","id","operator","value","fieldValue","Array","isArray","filterValue","every","sort","fieldId","fieldToSort","a","b","_view$sort$direction","direction","page","undefined","perPage","start","Math","ceil","slice"],"sources":["@wordpress/dataviews/src/filter-and-sort-data-view.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n} from './constants';\nimport { normalizeFields } from './normalize-fields';\nimport type { Field, View } from './types';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\n\n/**\n * Applies the filtering, sorting and pagination to the raw data based on the view configuration.\n *\n * @param data Raw data.\n * @param view View config.\n * @param fields Fields config.\n *\n * @return Filtered, sorted and paginated data.\n */\nexport function filterSortAndPaginate< Item >(\n\tdata: Item[],\n\tview: View,\n\tfields: Field< Item >[]\n): {\n\tdata: Item[];\n\tpaginationInfo: { totalItems: number; totalPages: number };\n} {\n\tif ( ! data ) {\n\t\treturn {\n\t\t\tdata: EMPTY_ARRAY,\n\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t};\n\t}\n\tconst _fields = normalizeFields( fields );\n\tlet filteredData = [ ...data ];\n\t// Handle global search.\n\tif ( view.search ) {\n\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\treturn _fields\n\t\t\t\t.filter( ( field ) => field.enableGlobalSearch )\n\t\t\t\t.map( ( field ) => {\n\t\t\t\t\treturn normalizeSearchInput( field.getValue( { item } ) );\n\t\t\t\t} )\n\t\t\t\t.some( ( field ) => field.includes( normalizedSearch ) );\n\t\t} );\n\t}\n\n\tif ( view.filters && view.filters?.length > 0 ) {\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tconst field = _fields.find(\n\t\t\t\t( _field ) => _field.id === filter.field\n\t\t\t);\n\t\t\tif ( field ) {\n\t\t\t\tif (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn ! filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn ! filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NOT_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn ! field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value === field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS_NOT ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value !== field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tif ( view.sort ) {\n\t\tconst fieldId = view.sort.field;\n\t\tconst fieldToSort = _fields.find( ( field ) => {\n\t\t\treturn field.id === fieldId;\n\t\t} );\n\t\tif ( fieldToSort ) {\n\t\t\tfilteredData.sort( ( a, b ) => {\n\t\t\t\treturn fieldToSort.sort( a, b, view.sort?.direction ?? 'desc' );\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Handle pagination.\n\tlet totalItems = filteredData.length;\n\tlet totalPages = 1;\n\tif ( view.page !== undefined && view.perPage !== undefined ) {\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\ttotalItems = filteredData?.length || 0;\n\t\ttotalPages = Math.ceil( totalItems / view.perPage );\n\t\tfilteredData = filteredData?.slice( start, start + view.perPage );\n\t}\n\n\treturn {\n\t\tdata: filteredData,\n\t\tpaginationInfo: {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t},\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["removeAccents","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_NONE","OPERATOR_IS_ANY","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","normalizeFields","normalizeSearchInput","input","trim","toLowerCase","EMPTY_ARRAY","filterSortAndPaginate","data","view","fields","paginationInfo","totalItems","totalPages","_fields","filteredData","search","normalizedSearch","filter","item","field","enableGlobalSearch","map","getValue","some","includes","filters","length","forEach","find","_field","id","operator","value","fieldValue","Array","isArray","filterValue","every","sort","fieldId","fieldToSort","a","b","_view$sort$direction","direction","page","undefined","perPage","start","Math","ceil","slice"],"sources":["@wordpress/dataviews/src/filter-and-sort-data-view.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n} from './constants';\nimport { normalizeFields } from './normalize-fields';\nimport type { Field, View } from './types';\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\n\n/**\n * Applies the filtering, sorting and pagination to the raw data based on the view configuration.\n *\n * @param data Raw data.\n * @param view View config.\n * @param fields Fields config.\n *\n * @return Filtered, sorted and paginated data.\n */\nexport function filterSortAndPaginate< Item >(\n\tdata: Item[],\n\tview: View,\n\tfields: Field< Item >[]\n): {\n\tdata: Item[];\n\tpaginationInfo: { totalItems: number; totalPages: number };\n} {\n\tif ( ! data ) {\n\t\treturn {\n\t\t\tdata: EMPTY_ARRAY,\n\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t};\n\t}\n\tconst _fields = normalizeFields( fields );\n\tlet filteredData = [ ...data ];\n\t// Handle global search.\n\tif ( view.search ) {\n\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\treturn _fields\n\t\t\t\t.filter( ( field ) => field.enableGlobalSearch )\n\t\t\t\t.map( ( field ) => {\n\t\t\t\t\treturn normalizeSearchInput( field.getValue( { item } ) );\n\t\t\t\t} )\n\t\t\t\t.some( ( field ) => field.includes( normalizedSearch ) );\n\t\t} );\n\t}\n\n\tif ( view.filters && view.filters?.length > 0 ) {\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tconst field = _fields.find(\n\t\t\t\t( _field ) => _field.id === filter.field\n\t\t\t);\n\t\t\tif ( field ) {\n\t\t\t\tif (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ANY &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NONE &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\tconst fieldValue = field.getValue( { item } );\n\t\t\t\t\t\tif ( Array.isArray( fieldValue ) ) {\n\t\t\t\t\t\t\treturn ! filter.value.some( ( filterValue: any ) =>\n\t\t\t\t\t\t\t\tfieldValue.includes( filterValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( typeof fieldValue === 'string' ) {\n\t\t\t\t\t\t\treturn ! filter.value.includes( fieldValue );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.operator === OPERATOR_IS_NOT_ALL &&\n\t\t\t\t\tfilter?.value?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value.every( ( value: any ) => {\n\t\t\t\t\t\t\treturn ! field\n\t\t\t\t\t\t\t\t.getValue( { item } )\n\t\t\t\t\t\t\t\t?.includes( value );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value === field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( filter.operator === OPERATOR_IS_NOT ) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn filter.value !== field.getValue( { item } );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Handle sorting.\n\tif ( view.sort ) {\n\t\tconst fieldId = view.sort.field;\n\t\tconst fieldToSort = _fields.find( ( field ) => {\n\t\t\treturn field.id === fieldId;\n\t\t} );\n\t\tif ( fieldToSort ) {\n\t\t\tfilteredData.sort( ( a, b ) => {\n\t\t\t\treturn fieldToSort.sort( a, b, view.sort?.direction ?? 'desc' );\n\t\t\t} );\n\t\t}\n\t}\n\n\t// Handle pagination.\n\tlet totalItems = filteredData.length;\n\tlet totalPages = 1;\n\tif ( view.page !== undefined && view.perPage !== undefined ) {\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\ttotalItems = filteredData?.length || 0;\n\t\ttotalPages = Math.ceil( totalItems / view.perPage );\n\t\tfilteredData = filteredData?.slice( start, start + view.perPage );\n\t}\n\n\treturn {\n\t\tdata: filteredData,\n\t\tpaginationInfo: {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t},\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * Internal dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["getFieldTypeDefinition","getControl","getValueFromId","id","item","path","split","value","segment","hasOwnProperty","undefined","normalizeFields","fields","map","field","_field$sort","_field$isValid","_field$enableHiding","_field$enableSorting","fieldTypeDefinition","type","getValue","sort","a","b","direction","isValid","context","Edit","renderFromElements","elements","find","element","label","render","header","enableHiding","enableSorting"],"sources":["@wordpress/dataviews/src/normalize-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport getFieldTypeDefinition from './field-types';\nimport type { Field, NormalizedField } from './types';\nimport { getControl } from './dataform-controls';\n\nconst getValueFromId =\n\t( id: string ) =>\n\t( { item }: { item: any } ) => {\n\t\tconst path = id.split( '.' );\n\t\tlet value = item;\n\t\tfor ( const segment of path ) {\n\t\t\tif ( value.hasOwnProperty( segment ) ) {\n\t\t\t\tvalue = value[ segment ];\n\t\t\t} else {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t};\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 >(\n\tfields: Field< Item >[]\n): NormalizedField< Item >[] {\n\treturn fields.map( ( field ) => {\n\t\tconst fieldTypeDefinition = getFieldTypeDefinition( field.type );\n\n\t\tconst getValue = field.getValue || getValueFromId( field.id );\n\n\t\tconst sort =\n\t\t\tfield.sort ??\n\t\t\tfunction sort( a, b, direction ) {\n\t\t\t\treturn fieldTypeDefinition.sort(\n\t\t\t\t\tgetValue( { item: a } ),\n\t\t\t\t\tgetValue( { item: b } ),\n\t\t\t\t\tdirection\n\t\t\t\t);\n\t\t\t};\n\n\t\tconst isValid =\n\t\t\tfield.isValid ??\n\t\t\tfunction isValid( item, context ) {\n\t\t\t\treturn fieldTypeDefinition.isValid(\n\t\t\t\t\tgetValue( { item } ),\n\t\t\t\t\tcontext\n\t\t\t\t);\n\t\t\t};\n\n\t\tconst Edit = getControl( field, fieldTypeDefinition );\n\n\t\tconst renderFromElements = ( { item }: { item: Item } ) => {\n\t\t\tconst value = getValue( { item } );\n\t\t\treturn (\n\t\t\t\tfield?.elements?.find( ( element ) => element.value === value )\n\t\t\t\t\t?.label || getValue( { item } )\n\t\t\t);\n\t\t};\n\n\t\tconst render =\n\t\t\tfield.render || ( field.elements ? renderFromElements : getValue );\n\n\t\treturn {\n\t\t\t...field,\n\t\t\tlabel: field.label || field.id,\n\t\t\theader: field.header || field.label || field.id,\n\t\t\tgetValue,\n\t\t\trender,\n\t\t\tsort,\n\t\t\tisValid,\n\t\t\tEdit,\n\t\t\tenableHiding: field.enableHiding ?? true,\n\t\t\tenableSorting: field.enableSorting ?? true,\n\t\t};\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getFieldTypeDefinition","getControl","getValueFromId","id","item","path","split","value","segment","hasOwnProperty","undefined","normalizeFields","fields","map","field","_field$sort","_field$isValid","_field$enableHiding","_field$enableSorting","fieldTypeDefinition","type","getValue","sort","a","b","direction","isValid","context","Edit","renderFromElements","elements","find","element","label","render","header","enableHiding","enableSorting"],"sources":["@wordpress/dataviews/src/normalize-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport getFieldTypeDefinition from './field-types';\nimport type { Field, NormalizedField } from './types';\nimport { getControl } from './dataform-controls';\n\nconst getValueFromId =\n\t( id: string ) =>\n\t( { item }: { item: any } ) => {\n\t\tconst path = id.split( '.' );\n\t\tlet value = item;\n\t\tfor ( const segment of path ) {\n\t\t\tif ( value.hasOwnProperty( segment ) ) {\n\t\t\t\tvalue = value[ segment ];\n\t\t\t} else {\n\t\t\t\tvalue = undefined;\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t};\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 >(\n\tfields: Field< Item >[]\n): NormalizedField< Item >[] {\n\treturn fields.map( ( field ) => {\n\t\tconst fieldTypeDefinition = getFieldTypeDefinition( field.type );\n\n\t\tconst getValue = field.getValue || getValueFromId( field.id );\n\n\t\tconst sort =\n\t\t\tfield.sort ??\n\t\t\tfunction sort( a, b, direction ) {\n\t\t\t\treturn fieldTypeDefinition.sort(\n\t\t\t\t\tgetValue( { item: a } ),\n\t\t\t\t\tgetValue( { item: b } ),\n\t\t\t\t\tdirection\n\t\t\t\t);\n\t\t\t};\n\n\t\tconst isValid =\n\t\t\tfield.isValid ??\n\t\t\tfunction isValid( item, context ) {\n\t\t\t\treturn fieldTypeDefinition.isValid(\n\t\t\t\t\tgetValue( { item } ),\n\t\t\t\t\tcontext\n\t\t\t\t);\n\t\t\t};\n\n\t\tconst Edit = getControl( field, fieldTypeDefinition );\n\n\t\tconst renderFromElements = ( { item }: { item: Item } ) => {\n\t\t\tconst value = getValue( { item } );\n\t\t\treturn (\n\t\t\t\tfield?.elements?.find( ( element ) => element.value === value )\n\t\t\t\t\t?.label || getValue( { item } )\n\t\t\t);\n\t\t};\n\n\t\tconst render =\n\t\t\tfield.render || ( field.elements ? renderFromElements : getValue );\n\n\t\treturn {\n\t\t\t...field,\n\t\t\tlabel: field.label || field.id,\n\t\t\theader: field.header || field.label || field.id,\n\t\t\tgetValue,\n\t\t\trender,\n\t\t\tsort,\n\t\t\tisValid,\n\t\t\tEdit,\n\t\t\tenableHiding: field.enableHiding ?? true,\n\t\t\tenableSorting: field.enableSorting ?? true,\n\t\t};\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * Internal dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeFormFields","form","_form$type","_form$labelPosition","_form$fields","layout","includes","type","labelPosition","fields","map","field","_field$layout","_field$labelPosition","id","fieldLayout","fieldLabelPosition"],"sources":["@wordpress/dataviews/src/normalize-form-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { Form } from './types';\n\ninterface NormalizedFormField {\n\tid: string;\n\tlayout: 'regular' | 'panel';\n\tlabelPosition: 'side' | 'top' | 'none';\n}\n\nexport default function normalizeFormFields(\n\tform: Form\n): NormalizedFormField[] {\n\tlet layout: 'regular' | 'panel' = 'regular';\n\tif ( [ 'regular', 'panel' ].includes( form.type ?? '' ) ) {\n\t\tlayout = form.type as 'regular' | 'panel';\n\t}\n\n\tconst labelPosition =\n\t\tform.labelPosition ?? ( layout === 'regular' ? 'top' : 'side' );\n\n\treturn ( form.fields ?? [] ).map( ( field ) => {\n\t\tif ( typeof field === 'string' ) {\n\t\t\treturn {\n\t\t\t\tid: field,\n\t\t\t\tlayout,\n\t\t\t\tlabelPosition,\n\t\t\t};\n\t\t}\n\n\t\tconst fieldLayout = field.layout ?? layout;\n\t\tconst fieldLabelPosition =\n\t\t\tfield.labelPosition ??\n\t\t\t( fieldLayout === 'regular' ? 'top' : 'side' );\n\t\treturn {\n\t\t\t...field,\n\t\t\tlayout: fieldLayout,\n\t\t\tlabelPosition: fieldLabelPosition,\n\t\t};\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;;AASA,eAAe,SAASA,mBAAmBA,CAC1CC,IAAU,EACc;EAAA,IAAAC,UAAA,EAAAC,mBAAA,EAAAC,YAAA;EACxB,IAAIC,MAA2B,GAAG,SAAS;EAC3C,IAAK,CAAE,SAAS,EAAE,OAAO,CAAE,CAACC,QAAQ,EAAAJ,UAAA,GAAED,IAAI,CAACM,IAAI,cAAAL,UAAA,cAAAA,UAAA,GAAI,EAAG,CAAC,EAAG;IACzDG,MAAM,GAAGJ,IAAI,CAACM,IAA2B;EAC1C;EAEA,MAAMC,aAAa,IAAAL,mBAAA,GAClBF,IAAI,CAACO,aAAa,cAAAL,mBAAA,cAAAA,mBAAA,GAAME,MAAM,KAAK,SAAS,GAAG,KAAK,GAAG,MAAQ;EAEhE,OAAO,EAAAD,YAAA,GAAEH,IAAI,CAACQ,MAAM,cAAAL,YAAA,cAAAA,YAAA,GAAI,EAAE,EAAGM,GAAG,CAAIC,KAAK,IAAM;IAAA,IAAAC,aAAA,EAAAC,oBAAA;IAC9C,IAAK,OAAOF,KAAK,KAAK,QAAQ,EAAG;MAChC,OAAO;QACNG,EAAE,EAAEH,KAAK;QACTN,MAAM;QACNG;MACD,CAAC;IACF;IAEA,MAAMO,WAAW,IAAAH,aAAA,GAAGD,KAAK,CAACN,MAAM,cAAAO,aAAA,cAAAA,aAAA,GAAIP,MAAM;IAC1C,MAAMW,kBAAkB,IAAAH,oBAAA,GACvBF,KAAK,CAACH,aAAa,cAAAK,oBAAA,cAAAA,oBAAA,GACjBE,WAAW,KAAK,SAAS,GAAG,KAAK,GAAG,MAAQ;IAC/C,OAAO;MACN,GAAGJ,KAAK;MACRN,MAAM,EAAEU,WAAW;MACnBP,aAAa,EAAEQ;IAChB,CAAC;EACF,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["normalizeFormFields","form","_form$type","_form$labelPosition","_form$fields","layout","includes","type","labelPosition","fields","map","field","_field$layout","_field$labelPosition","id","fieldLayout","fieldLabelPosition"],"sources":["@wordpress/dataviews/src/normalize-form-fields.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { Form } from './types';\n\ninterface NormalizedFormField {\n\tid: string;\n\tlayout: 'regular' | 'panel';\n\tlabelPosition: 'side' | 'top' | 'none';\n}\n\nexport default function normalizeFormFields(\n\tform: Form\n): NormalizedFormField[] {\n\tlet layout: 'regular' | 'panel' = 'regular';\n\tif ( [ 'regular', 'panel' ].includes( form.type ?? '' ) ) {\n\t\tlayout = form.type as 'regular' | 'panel';\n\t}\n\n\tconst labelPosition =\n\t\tform.labelPosition ?? ( layout === 'regular' ? 'top' : 'side' );\n\n\treturn ( form.fields ?? [] ).map( ( field ) => {\n\t\tif ( typeof field === 'string' ) {\n\t\t\treturn {\n\t\t\t\tid: field,\n\t\t\t\tlayout,\n\t\t\t\tlabelPosition,\n\t\t\t};\n\t\t}\n\n\t\tconst fieldLayout = field.layout ?? layout;\n\t\tconst fieldLabelPosition =\n\t\t\tfield.labelPosition ??\n\t\t\t( fieldLayout === 'regular' ? 'top' : 'side' );\n\t\treturn {\n\t\t\t...field,\n\t\t\tlayout: fieldLayout,\n\t\t\tlabelPosition: fieldLabelPosition,\n\t\t};\n\t} );\n}\n"],"mappings":";AAAA;AACA;AACA;;AASA,eAAe,SAASA,mBAAmBA,CAC1CC,IAAU,EACc;EAAA,IAAAC,UAAA,EAAAC,mBAAA,EAAAC,YAAA;EACxB,IAAIC,MAA2B,GAAG,SAAS;EAC3C,IAAK,CAAE,SAAS,EAAE,OAAO,CAAE,CAACC,QAAQ,EAAAJ,UAAA,GAAED,IAAI,CAACM,IAAI,cAAAL,UAAA,cAAAA,UAAA,GAAI,EAAG,CAAC,EAAG;IACzDG,MAAM,GAAGJ,IAAI,CAACM,IAA2B;EAC1C;EAEA,MAAMC,aAAa,IAAAL,mBAAA,GAClBF,IAAI,CAACO,aAAa,cAAAL,mBAAA,cAAAA,mBAAA,GAAME,MAAM,KAAK,SAAS,GAAG,KAAK,GAAG,MAAQ;EAEhE,OAAO,EAAAD,YAAA,GAAEH,IAAI,CAACQ,MAAM,cAAAL,YAAA,cAAAA,YAAA,GAAI,EAAE,EAAGM,GAAG,CAAIC,KAAK,IAAM;IAAA,IAAAC,aAAA,EAAAC,oBAAA;IAC9C,IAAK,OAAOF,KAAK,KAAK,QAAQ,EAAG;MAChC,OAAO;QACNG,EAAE,EAAEH,KAAK;QACTN,MAAM;QACNG;MACD,CAAC;IACF;IAEA,MAAMO,WAAW,IAAAH,aAAA,GAAGD,KAAK,CAACN,MAAM,cAAAO,aAAA,cAAAA,aAAA,GAAIP,MAAM;IAC1C,MAAMW,kBAAkB,IAAAH,oBAAA,GACvBF,KAAK,CAACH,aAAa,cAAAK,oBAAA,cAAAA,oBAAA,GACjBE,WAAW,KAAK,SAAS,GAAG,KAAK,GAAG,MAAQ;IAC/C,OAAO;MACN,GAAGJ,KAAK;MACRN,MAAM,EAAEU,WAAW;MACnBP,aAAa,EAAEQ;IAChB,CAAC;EACF,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * Internal dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["ALL_OPERATORS","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE","sanitizeOperators","field","operators","filterBy","Array","isArray","filter","operator","includes"],"sources":["@wordpress/dataviews/src/utils.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tALL_OPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n} from './constants';\nimport type { NormalizedField } from './types';\n\nexport function sanitizeOperators< Item >( field: NormalizedField< Item > ) {\n\tlet operators = field.filterBy?.operators;\n\n\t// Assign default values.\n\tif ( ! operators || ! Array.isArray( operators ) ) {\n\t\toperators = [ OPERATOR_IS_ANY, OPERATOR_IS_NONE ];\n\t}\n\n\t// Make sure only valid operators are used.\n\toperators = operators.filter( ( operator ) =>\n\t\tALL_OPERATORS.includes( operator )\n\t);\n\n\t// Do not allow mixing single & multiselection operators.\n\t// Remove multiselection operators if any of the single selection ones is present.\n\tif (\n\t\toperators.includes( OPERATOR_IS ) ||\n\t\toperators.includes( OPERATOR_IS_NOT )\n\t) {\n\t\toperators = operators.filter( ( operator ) =>\n\t\t\t[ OPERATOR_IS, OPERATOR_IS_NOT ].includes( operator )\n\t\t);\n\t}\n\n\treturn operators;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,eAAe,EACfC,gBAAgB,QACV,aAAa;AAGpB,OAAO,SAASC,iBAAiBA,CAAUC,KAA8B,EAAG;EAC3E,IAAIC,SAAS,GAAGD,KAAK,CAACE,QAAQ,EAAED,SAAS;;EAEzC;EACA,IAAK,CAAEA,SAAS,IAAI,CAAEE,KAAK,CAACC,OAAO,CAAEH,SAAU,CAAC,EAAG;IAClDA,SAAS,GAAG,CAAEJ,eAAe,EAAEC,gBAAgB,CAAE;EAClD;;EAEA;EACAG,SAAS,GAAGA,SAAS,CAACI,MAAM,CAAIC,QAAQ,IACvCZ,aAAa,CAACa,QAAQ,CAAED,QAAS,CAClC,CAAC;;EAED;EACA;EACA,IACCL,SAAS,CAACM,QAAQ,CAAEZ,WAAY,CAAC,IACjCM,SAAS,CAACM,QAAQ,CAAEX,eAAgB,CAAC,EACpC;IACDK,SAAS,GAAGA,SAAS,CAACI,MAAM,CAAIC,QAAQ,IACvC,CAAEX,WAAW,EAAEC,eAAe,CAAE,CAACW,QAAQ,CAAED,QAAS,CACrD,CAAC;EACF;EAEA,OAAOL,SAAS;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["ALL_OPERATORS","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE","sanitizeOperators","field","operators","filterBy","Array","isArray","filter","operator","includes"],"sources":["@wordpress/dataviews/src/utils.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tALL_OPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n} from './constants';\nimport type { NormalizedField } from './types';\n\nexport function sanitizeOperators< Item >( field: NormalizedField< Item > ) {\n\tlet operators = field.filterBy?.operators;\n\n\t// Assign default values.\n\tif ( ! operators || ! Array.isArray( operators ) ) {\n\t\toperators = [ OPERATOR_IS_ANY, OPERATOR_IS_NONE ];\n\t}\n\n\t// Make sure only valid operators are used.\n\toperators = operators.filter( ( operator ) =>\n\t\tALL_OPERATORS.includes( operator )\n\t);\n\n\t// Do not allow mixing single & multiselection operators.\n\t// Remove multiselection operators if any of the single selection ones is present.\n\tif (\n\t\toperators.includes( OPERATOR_IS ) ||\n\t\toperators.includes( OPERATOR_IS_NOT )\n\t) {\n\t\toperators = operators.filter( ( operator ) =>\n\t\t\t[ OPERATOR_IS, OPERATOR_IS_NOT ].includes( operator )\n\t\t);\n\t}\n\n\treturn operators;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,eAAe,EACfC,gBAAgB,QACV,aAAa;AAGpB,OAAO,SAASC,iBAAiBA,CAAUC,KAA8B,EAAG;EAC3E,IAAIC,SAAS,GAAGD,KAAK,CAACE,QAAQ,EAAED,SAAS;;EAEzC;EACA,IAAK,CAAEA,SAAS,IAAI,CAAEE,KAAK,CAACC,OAAO,CAAEH,SAAU,CAAC,EAAG;IAClDA,SAAS,GAAG,CAAEJ,eAAe,EAAEC,gBAAgB,CAAE;EAClD;;EAEA;EACAG,SAAS,GAAGA,SAAS,CAACI,MAAM,CAAIC,QAAQ,IACvCZ,aAAa,CAACa,QAAQ,CAAED,QAAS,CAClC,CAAC;;EAED;EACA;EACA,IACCL,SAAS,CAACM,QAAQ,CAAEZ,WAAY,CAAC,IACjCM,SAAS,CAACM,QAAQ,CAAEX,eAAgB,CAAC,EACpC;IACDK,SAAS,GAAGA,SAAS,CAACI,MAAM,CAAIC,QAAQ,IACvC,CAAEX,WAAW,EAAEC,eAAe,CAAE,CAACW,QAAQ,CAAED,QAAS,CACrD,CAAC;EACF;EAEA,OAAOL,SAAS;AACjB","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * Internal dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeFields","isItemValid","item","fields","form","_fields","filter","id","includes","every","field","isValid","elements"],"sources":["@wordpress/dataviews/src/validation.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { normalizeFields } from './normalize-fields';\nimport type { Field, Form } from './types';\n\n/**\n * Whether or not the given item's value is valid according to the fields and form config.\n *\n * @param item The item to validate.\n * @param fields Fields config.\n * @param form Form config.\n *\n * @return A boolean indicating if the item is valid (true) or not (false).\n */\nexport function isItemValid< Item >(\n\titem: Item,\n\tfields: Field< Item >[],\n\tform: Form\n): boolean {\n\tconst _fields = normalizeFields(\n\t\tfields.filter( ( { id } ) => !! form.fields?.includes( id ) )\n\t);\n\treturn _fields.every( ( field ) => {\n\t\treturn field.isValid( item, { elements: field.elements } );\n\t} );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,oBAAoB;AAGpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAC1BC,IAAU,EACVC,MAAuB,EACvBC,IAAU,EACA;EACV,MAAMC,OAAO,GAAGL,eAAe,CAC9BG,MAAM,CAACG,MAAM,CAAE,CAAE;IAAEC;EAAG,CAAC,KAAM,CAAC,CAAEH,IAAI,CAACD,MAAM,EAAEK,QAAQ,CAAED,EAAG,CAAE,CAC7D,CAAC;EACD,OAAOF,OAAO,CAACI,KAAK,CAAIC,KAAK,IAAM;IAClC,OAAOA,KAAK,CAACC,OAAO,CAAET,IAAI,EAAE;MAAEU,QAAQ,EAAEF,KAAK,CAACE;IAAS,CAAE,CAAC;EAC3D,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["normalizeFields","isItemValid","item","fields","form","_fields","filter","id","includes","every","field","isValid","elements"],"sources":["@wordpress/dataviews/src/validation.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { normalizeFields } from './normalize-fields';\nimport type { Field, Form } from './types';\n\n/**\n * Whether or not the given item's value is valid according to the fields and form config.\n *\n * @param item The item to validate.\n * @param fields Fields config.\n * @param form Form config.\n *\n * @return A boolean indicating if the item is valid (true) or not (false).\n */\nexport function isItemValid< Item >(\n\titem: Item,\n\tfields: Field< Item >[],\n\tform: Form\n): boolean {\n\tconst _fields = normalizeFields(\n\t\tfields.filter( ( { id } ) => !! form.fields?.includes( id ) )\n\t);\n\treturn _fields.every( ( field ) => {\n\t\treturn field.isValid( item, { elements: field.elements } );\n\t} );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,oBAAoB;AAGpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAC1BC,IAAU,EACVC,MAAuB,EACvBC,IAAU,EACA;EACV,MAAMC,OAAO,GAAGL,eAAe,CAC9BG,MAAM,CAACG,MAAM,CAAE,CAAE;IAAEC;EAAG,CAAC,KAAM,CAAC,CAAEH,IAAI,CAACD,MAAM,EAAEK,QAAQ,CAAED,EAAG,CAAE,CAC7D,CAAC;EACD,OAAOF,OAAO,CAACI,KAAK,CAAIC,KAAK,IAAM;IAClC,OAAOA,KAAK,CAACC,OAAO,CAAET,IAAI,EAAE;MAAEU,QAAQ,EAAEF,KAAK,CAACE;IAAS,CAAE,CAAC;EAC3D,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -593,6 +593,14 @@
593
593
  line-height: 1.4;
594
594
  }
595
595
 
596
+ .dataviews-config__popover.is-expanded .dataviews-config__popover-content-wrapper {
597
+ overflow-y: scroll;
598
+ height: 100%;
599
+ }
600
+ .dataviews-config__popover.is-expanded .dataviews-config__popover-content-wrapper .dataviews-view-config {
601
+ width: auto;
602
+ }
603
+
596
604
  .dataviews-view-config__sort-direction .components-toggle-group-control-option-base {
597
605
  text-transform: uppercase;
598
606
  }
@@ -682,12 +690,12 @@
682
690
  .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions {
683
691
  padding: 8px 0 4px;
684
692
  }
685
- .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field {
693
+ .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-field {
686
694
  min-height: 24px;
687
695
  display: flex;
688
696
  align-items: center;
689
697
  }
690
- .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field--clickable {
698
+ .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-field--clickable {
691
699
  width: -moz-fit-content;
692
700
  width: fit-content;
693
701
  }
@@ -834,6 +842,7 @@ ul.dataviews-view-list {
834
842
  .dataviews-view-list li .dataviews-view-list__item-wrapper {
835
843
  position: relative;
836
844
  padding: 16px 24px;
845
+ box-sizing: border-box;
837
846
  }
838
847
  .dataviews-view-list li .dataviews-view-list__item-actions {
839
848
  flex: 0;
@@ -861,16 +870,16 @@ ul.dataviews-view-list {
861
870
  .dataviews-view-list li.is-selected.is-selected + li {
862
871
  border-top: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
863
872
  }
864
- .dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
873
+ .dataviews-view-list li:not(.is-selected) .dataviews-view-list__title-field {
865
874
  color: #1e1e1e;
866
875
  }
867
876
  .dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected).is-hovered, .dataviews-view-list li:not(.is-selected):focus-within {
868
877
  color: var(--wp-admin-theme-color);
869
878
  background-color: #f8f8f8;
870
879
  }
871
- .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,
872
- .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected).is-hovered .dataviews-view-list__primary-field,
873
- .dataviews-view-list li:not(.is-selected).is-hovered .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,
880
+ .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__title-field,
881
+ .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected).is-hovered .dataviews-view-list__title-field,
882
+ .dataviews-view-list li:not(.is-selected).is-hovered .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__title-field,
874
883
  .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__fields {
875
884
  color: var(--wp-admin-theme-color);
876
885
  }
@@ -879,9 +888,9 @@ ul.dataviews-view-list {
879
888
  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
880
889
  color: #1e1e1e;
881
890
  }
882
- .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
891
+ .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__title-field,
883
892
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
884
- .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
893
+ .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__title-field,
885
894
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields {
886
895
  color: var(--wp-admin-theme-color);
887
896
  }
@@ -907,13 +916,13 @@ ul.dataviews-view-list {
907
916
  border-radius: 2px;
908
917
  outline: 2px solid transparent;
909
918
  }
910
- .dataviews-view-list .dataviews-view-list__primary-field {
919
+ .dataviews-view-list .dataviews-view-list__title-field {
911
920
  flex: 1;
912
921
  min-height: 24px;
913
922
  line-height: 24px;
914
923
  overflow: hidden;
915
924
  }
916
- .dataviews-view-list .dataviews-view-list__primary-field:has(a, button) {
925
+ .dataviews-view-list .dataviews-view-list__title-field:has(a, button) {
917
926
  z-index: 1;
918
927
  }
919
928
  .dataviews-view-list .dataviews-view-list__media-wrapper {
@@ -593,6 +593,14 @@
593
593
  line-height: 1.4;
594
594
  }
595
595
 
596
+ .dataviews-config__popover.is-expanded .dataviews-config__popover-content-wrapper {
597
+ overflow-y: scroll;
598
+ height: 100%;
599
+ }
600
+ .dataviews-config__popover.is-expanded .dataviews-config__popover-content-wrapper .dataviews-view-config {
601
+ width: auto;
602
+ }
603
+
596
604
  .dataviews-view-config__sort-direction .components-toggle-group-control-option-base {
597
605
  text-transform: uppercase;
598
606
  }
@@ -682,12 +690,12 @@
682
690
  .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions {
683
691
  padding: 8px 0 4px;
684
692
  }
685
- .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field {
693
+ .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-field {
686
694
  min-height: 24px;
687
695
  display: flex;
688
696
  align-items: center;
689
697
  }
690
- .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field--clickable {
698
+ .dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-field--clickable {
691
699
  width: -moz-fit-content;
692
700
  width: fit-content;
693
701
  }
@@ -834,6 +842,7 @@ ul.dataviews-view-list {
834
842
  .dataviews-view-list li .dataviews-view-list__item-wrapper {
835
843
  position: relative;
836
844
  padding: 16px 24px;
845
+ box-sizing: border-box;
837
846
  }
838
847
  .dataviews-view-list li .dataviews-view-list__item-actions {
839
848
  flex: 0;
@@ -861,16 +870,16 @@ ul.dataviews-view-list {
861
870
  .dataviews-view-list li.is-selected.is-selected + li {
862
871
  border-top: 1px solid rgba(var(--wp-admin-theme-color--rgb), 0.12);
863
872
  }
864
- .dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
873
+ .dataviews-view-list li:not(.is-selected) .dataviews-view-list__title-field {
865
874
  color: #1e1e1e;
866
875
  }
867
876
  .dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected).is-hovered, .dataviews-view-list li:not(.is-selected):focus-within {
868
877
  color: var(--wp-admin-theme-color);
869
878
  background-color: #f8f8f8;
870
879
  }
871
- .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,
872
- .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected).is-hovered .dataviews-view-list__primary-field,
873
- .dataviews-view-list li:not(.is-selected).is-hovered .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,
880
+ .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__title-field,
881
+ .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected).is-hovered .dataviews-view-list__title-field,
882
+ .dataviews-view-list li:not(.is-selected).is-hovered .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__title-field,
874
883
  .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__fields {
875
884
  color: var(--wp-admin-theme-color);
876
885
  }
@@ -879,9 +888,9 @@ ul.dataviews-view-list {
879
888
  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
880
889
  color: #1e1e1e;
881
890
  }
882
- .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
891
+ .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__title-field,
883
892
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
884
- .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
893
+ .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__title-field,
885
894
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields {
886
895
  color: var(--wp-admin-theme-color);
887
896
  }
@@ -907,13 +916,13 @@ ul.dataviews-view-list {
907
916
  border-radius: 2px;
908
917
  outline: 2px solid transparent;
909
918
  }
910
- .dataviews-view-list .dataviews-view-list__primary-field {
919
+ .dataviews-view-list .dataviews-view-list__title-field {
911
920
  flex: 1;
912
921
  min-height: 24px;
913
922
  line-height: 24px;
914
923
  overflow: hidden;
915
924
  }
916
- .dataviews-view-list .dataviews-view-list__primary-field:has(a, button) {
925
+ .dataviews-view-list .dataviews-view-list__title-field:has(a, button) {
917
926
  z-index: 1;
918
927
  }
919
928
  .dataviews-view-list .dataviews-view-list__media-wrapper {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dataviews-bulk-actions/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,wBAAgB,yBAAyB,CAAE,IAAI,EAC9C,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,WAUV;AAED,wBAAgB,iCAAiC,CAAE,IAAI,EACtD,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,EAAE,WAYZ;AAED,UAAU,0BAA0B,CAAE,IAAI;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,YAAY,CAAC;IAChC,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;CACpC;AAED,wBAAgB,qBAAqB,CAAE,IAAI,EAAI,EAC9C,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,OAAO,EACP,SAAS,GACT,EAAE,0BAA0B,CAAE,IAAI,CAAE,+BAoCpC;AA4OD,wBAAgB,iBAAiB,gCAiBhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dataviews-bulk-actions/index.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,MAAM,EAAkC,MAAM,aAAa,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAsCxD,wBAAgB,yBAAyB,CAAE,IAAI,EAC9C,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,WAUV;AAED,wBAAgB,iCAAiC,CAAE,IAAI,EACtD,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,EAAE,WAYZ;AAED,UAAU,0BAA0B,CAAE,IAAI;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,YAAY,CAAC;IAChC,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;CACpC;AAED,wBAAgB,qBAAqB,CAAE,IAAI,EAAI,EAC9C,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,OAAO,EACP,SAAS,GACT,EAAE,0BAA0B,CAAE,IAAI,CAAE,+BAoCpC;AA4OD,wBAAgB,iBAAiB,gCAiBhC"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import type { MouseEventHandler, ReactElement } from 'react';
4
+ import type { MouseEventHandler } from 'react';
5
+ import { useRegistry } from '@wordpress/data';
5
6
  import type { Action, ActionModal as ActionModalType } from '../../types';
6
7
  export interface ActionTriggerProps<Item> {
7
8
  action: Action<Item>;
@@ -9,18 +10,16 @@ export interface ActionTriggerProps<Item> {
9
10
  isBusy?: boolean;
10
11
  items: Item[];
11
12
  }
12
- interface ActionModalProps<Item> {
13
+ export interface ActionModalProps<Item> {
13
14
  action: ActionModalType<Item>;
14
15
  items: Item[];
15
- closeModal?: () => void;
16
- }
17
- interface ActionWithModalProps<Item> extends ActionModalProps<Item> {
18
- ActionTrigger: (props: ActionTriggerProps<Item>) => ReactElement;
19
- isBusy?: boolean;
16
+ closeModal: () => void;
20
17
  }
21
18
  interface ActionsMenuGroupProps<Item> {
22
19
  actions: Action<Item>[];
23
20
  item: Item;
21
+ registry: ReturnType<typeof useRegistry>;
22
+ setActiveModalAction: (action: ActionModalType<Item> | null) => void;
24
23
  }
25
24
  interface ItemActionsProps<Item> {
26
25
  item: Item;
@@ -28,8 +27,7 @@ interface ItemActionsProps<Item> {
28
27
  isCompact?: boolean;
29
28
  }
30
29
  export declare function ActionModal<Item>({ action, items, closeModal, }: ActionModalProps<Item>): import("react").JSX.Element;
31
- export declare function ActionWithModal<Item>({ action, items, ActionTrigger, isBusy, }: ActionWithModalProps<Item>): import("react").JSX.Element;
32
- export declare function ActionsMenuGroup<Item>({ actions, item, }: ActionsMenuGroupProps<Item>): import("react").JSX.Element;
30
+ export declare function ActionsMenuGroup<Item>({ actions, item, registry, setActiveModalAction, }: ActionsMenuGroupProps<Item>): import("react").JSX.Element;
33
31
  export default function ItemActions<Item>({ item, actions, isCompact, }: ItemActionsProps<Item>): import("react").JSX.Element;
34
32
  export {};
35
33
  //# sourceMappingURL=index.d.ts.map