@wordpress/dataviews 4.10.0 → 4.11.1

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 (119) hide show
  1. package/CHANGELOG.md +19 -9
  2. package/LICENSE.md +1 -1
  3. package/README.md +309 -175
  4. package/build/components/dataviews/index.js +12 -1
  5. package/build/components/dataviews/index.js.map +1 -1
  6. package/build/components/dataviews-context/index.js +2 -1
  7. package/build/components/dataviews-context/index.js.map +1 -1
  8. package/build/components/dataviews-filters/add-filter.js +35 -30
  9. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  10. package/build/components/dataviews-filters/index.js +3 -1
  11. package/build/components/dataviews-filters/index.js.map +1 -1
  12. package/build/components/dataviews-item-actions/index.js +24 -19
  13. package/build/components/dataviews-item-actions/index.js.map +1 -1
  14. package/build/components/dataviews-layout/index.js +2 -0
  15. package/build/components/dataviews-layout/index.js.map +1 -1
  16. package/build/components/dataviews-view-config/index.js +48 -43
  17. package/build/components/dataviews-view-config/index.js.map +1 -1
  18. package/build/dataviews-layouts/grid/index.js +12 -5
  19. package/build/dataviews-layouts/grid/index.js.map +1 -1
  20. package/build/dataviews-layouts/grid/preview-size-picker.js +22 -25
  21. package/build/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  22. package/build/dataviews-layouts/list/index.js +27 -20
  23. package/build/dataviews-layouts/list/index.js.map +1 -1
  24. package/build/dataviews-layouts/table/column-header-menu.js +102 -99
  25. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  26. package/build/dataviews-layouts/table/column-primary.js +7 -3
  27. package/build/dataviews-layouts/table/column-primary.js.map +1 -1
  28. package/build/dataviews-layouts/table/index.js +4 -0
  29. package/build/dataviews-layouts/table/index.js.map +1 -1
  30. package/build/types.js.map +1 -1
  31. package/build-module/components/dataviews/index.js +12 -1
  32. package/build-module/components/dataviews/index.js.map +1 -1
  33. package/build-module/components/dataviews-context/index.js +2 -1
  34. package/build-module/components/dataviews-context/index.js.map +1 -1
  35. package/build-module/components/dataviews-filters/add-filter.js +36 -31
  36. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  37. package/build-module/components/dataviews-filters/index.js +3 -1
  38. package/build-module/components/dataviews-filters/index.js.map +1 -1
  39. package/build-module/components/dataviews-item-actions/index.js +24 -19
  40. package/build-module/components/dataviews-item-actions/index.js.map +1 -1
  41. package/build-module/components/dataviews-layout/index.js +2 -0
  42. package/build-module/components/dataviews-layout/index.js.map +1 -1
  43. package/build-module/components/dataviews-view-config/index.js +49 -44
  44. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  45. package/build-module/dataviews-layouts/grid/index.js +14 -7
  46. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  47. package/build-module/dataviews-layouts/grid/preview-size-picker.js +22 -25
  48. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  49. package/build-module/dataviews-layouts/list/index.js +27 -20
  50. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  51. package/build-module/dataviews-layouts/table/column-header-menu.js +102 -99
  52. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  53. package/build-module/dataviews-layouts/table/column-primary.js +7 -3
  54. package/build-module/dataviews-layouts/table/column-primary.js.map +1 -1
  55. package/build-module/dataviews-layouts/table/index.js +4 -0
  56. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  57. package/build-module/types.js.map +1 -1
  58. package/build-style/style-rtl.css +45 -55
  59. package/build-style/style.css +45 -55
  60. package/build-types/components/dataviews/index.d.ts +2 -1
  61. package/build-types/components/dataviews/index.d.ts.map +1 -1
  62. package/build-types/components/dataviews-context/index.d.ts +2 -0
  63. package/build-types/components/dataviews-context/index.d.ts.map +1 -1
  64. package/build-types/components/dataviews-filters/add-filter.d.ts +3 -2
  65. package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -1
  66. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  67. package/build-types/components/dataviews-layout/index.d.ts.map +1 -1
  68. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  69. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  70. package/build-types/dataviews-layouts/grid/preview-size-picker.d.ts.map +1 -1
  71. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  72. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  73. package/build-types/dataviews-layouts/table/column-primary.d.ts +2 -1
  74. package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -1
  75. package/build-types/dataviews-layouts/table/index.d.ts +1 -1
  76. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  77. package/build-types/test/dataform.d.ts +2 -0
  78. package/build-types/test/dataform.d.ts.map +1 -0
  79. package/build-types/test/dataviews.d.ts +2 -0
  80. package/build-types/test/dataviews.d.ts.map +1 -0
  81. package/build-types/test/normalize-fields.d.ts +2 -0
  82. package/build-types/test/normalize-fields.d.ts.map +1 -0
  83. package/build-types/test/validation.d.ts +2 -0
  84. package/build-types/test/validation.d.ts.map +1 -0
  85. package/build-types/types.d.ts +5 -0
  86. package/build-types/types.d.ts.map +1 -1
  87. package/build-wp/index.js +1209 -999
  88. package/package.json +13 -12
  89. package/src/components/dataviews/index.tsx +15 -1
  90. package/src/components/dataviews/style.scss +0 -1
  91. package/src/components/dataviews-context/index.ts +3 -0
  92. package/src/components/dataviews-filters/add-filter.tsx +43 -39
  93. package/src/components/dataviews-filters/index.tsx +1 -1
  94. package/src/components/dataviews-footer/style.scss +0 -3
  95. package/src/components/dataviews-item-actions/index.tsx +25 -27
  96. package/src/components/dataviews-layout/index.tsx +2 -0
  97. package/src/components/dataviews-view-config/index.tsx +52 -43
  98. package/src/components/dataviews-view-config/style.scss +0 -1
  99. package/src/dataviews-layouts/grid/index.tsx +17 -5
  100. package/src/dataviews-layouts/grid/preview-size-picker.tsx +25 -30
  101. package/src/dataviews-layouts/grid/style.scss +24 -33
  102. package/src/dataviews-layouts/list/index.tsx +35 -27
  103. package/src/dataviews-layouts/list/style.scss +5 -5
  104. package/src/dataviews-layouts/table/column-header-menu.tsx +152 -148
  105. package/src/dataviews-layouts/table/column-primary.tsx +7 -0
  106. package/src/dataviews-layouts/table/index.tsx +10 -0
  107. package/src/dataviews-layouts/table/style.scss +0 -1
  108. package/src/test/dataform.tsx +348 -0
  109. package/src/test/dataviews.tsx +380 -0
  110. package/src/types.ts +6 -0
  111. package/tsconfig.json +14 -4
  112. package/tsconfig.tsbuildinfo +1 -1
  113. package/build/components/form-field-visibility/index.js +0 -32
  114. package/build/components/form-field-visibility/index.js.map +0 -1
  115. package/build-module/components/form-field-visibility/index.js +0 -26
  116. package/build-module/components/form-field-visibility/index.js.map +0 -1
  117. package/build-types/components/form-field-visibility/index.d.ts +0 -11
  118. package/build-types/components/form-field-visibility/index.d.ts.map +0 -1
  119. package/src/components/form-field-visibility/index.tsx +0 -32
@@ -1 +1 @@
1
- {"version":3,"names":["Button","Modal","__experimentalHStack","HStack","privateApis","componentsPrivateApis","__","useMemo","useState","moreVertical","useRegistry","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Menu","kebabCase","ButtonTrigger","action","onClick","items","label","icon","isDestructive","size","MenuItemTrigger","Item","children","ItemLabel","ActionModal","closeModal","title","modalHeader","__experimentalHideHeader","hideModalHeader","onRequestClose","focusOnMount","overlayClassName","id","RenderModal","ActionsMenuGroup","actions","item","registry","setActiveModalAction","Group","map","callback","hasOnlyOneActionAndIsPrimary","primaryActions","length","ItemActions","isCompact","eligibleActions","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","CompactItemActions","isSmall","PrimaryActions","spacing","justify","className","style","flexShrink","width","activeModalAction","trigger","accessibleWhenDisabled","disabled","placement","Array","isArray"],"sources":["@wordpress/dataviews/src/components/dataviews-item-actions/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEventHandler } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Action, ActionModal as ActionModalType } from '../../types';\n\nconst { Menu, kebabCase } = unlock( componentsPrivateApis );\n\nexport interface ActionTriggerProps< Item > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n\tisBusy?: boolean;\n\titems: Item[];\n}\n\nexport interface ActionModalProps< Item > {\n\taction: ActionModalType< Item >;\n\titems: Item[];\n\tcloseModal: () => void;\n}\n\ninterface ActionsMenuGroupProps< Item > {\n\tactions: Action< Item >[];\n\titem: Item;\n\tregistry: ReturnType< typeof useRegistry >;\n\tsetActiveModalAction: ( action: ActionModalType< Item > | null ) => void;\n}\n\ninterface ItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisCompact?: boolean;\n}\n\ninterface CompactItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisSmall?: boolean;\n\tregistry: ReturnType< typeof useRegistry >;\n}\n\ninterface PrimaryActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tregistry: ReturnType< typeof useRegistry >;\n}\n\nfunction ButtonTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Button\n\t\t\tlabel={ label }\n\t\t\ticon={ action.icon }\n\t\t\tisDestructive={ action.isDestructive }\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t/>\n\t);\n}\n\nfunction MenuItemTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Menu.Item onClick={ onClick }>\n\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t</Menu.Item>\n\t);\n}\n\nexport function ActionModal< Item >( {\n\taction,\n\titems,\n\tcloseModal,\n}: ActionModalProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ action.modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"medium\"\n\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal items={ items } closeModal={ closeModal } />\n\t\t</Modal>\n\t);\n}\n\nexport function ActionsMenuGroup< Item >( {\n\tactions,\n\titem,\n\tregistry,\n\tsetActiveModalAction,\n}: ActionsMenuGroupProps< Item > ) {\n\treturn (\n\t\t<Menu.Group>\n\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t<MenuItemTrigger\n\t\t\t\t\tkey={ action.id }\n\t\t\t\t\taction={ action }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t} }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Menu.Group>\n\t);\n}\n\nfunction hasOnlyOneActionAndIsPrimary< Item >(\n\tprimaryActions: Action< Item >[],\n\tactions: Action< Item >[]\n) {\n\treturn primaryActions.length === 1 && actions.length === 1;\n}\n\nexport default function ItemActions< Item >( {\n\titem,\n\tactions,\n\tisCompact,\n}: ItemActionsProps< Item > ) {\n\tconst registry = useRegistry();\n\tconst { primaryActions, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tif ( isCompact ) {\n\t\treturn (\n\t\t\t<CompactItemActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ eligibleActions }\n\t\t\t\tisSmall\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( hasOnlyOneActionAndIsPrimary( primaryActions, actions ) ) {\n\t\treturn (\n\t\t\t<PrimaryActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ primaryActions }\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 1 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: '0',\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t<PrimaryActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ primaryActions }\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t\t<CompactItemActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ eligibleActions }\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions< Item >( {\n\titem,\n\tactions,\n\tisSmall,\n\tregistry,\n}: CompactItemActionsProps< Item > ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\treturn (\n\t\t<>\n\t\t\t<Menu\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize={ isSmall ? 'small' : 'compact' }\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tplacement=\"bottom-end\"\n\t\t\t>\n\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tregistry={ registry }\n\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t/>\n\t\t\t</Menu>\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction PrimaryActions< Item >( {\n\titem,\n\tactions,\n\tregistry,\n}: PrimaryActionsProps< Item > ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState( null as any );\n\tif ( ! Array.isArray( actions ) || actions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t<ButtonTrigger\n\t\t\t\t\tkey={ action.id }\n\t\t\t\t\taction={ action }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t} }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Button","Modal","__experimentalHStack","HStack","privateApis","componentsPrivateApis","__","useMemo","useState","moreVertical","useRegistry","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Menu","kebabCase","ButtonTrigger","action","onClick","items","label","icon","disabled","accessibleWhenDisabled","isDestructive","size","MenuItemTrigger","Item","children","ItemLabel","ActionModal","closeModal","title","modalHeader","__experimentalHideHeader","hideModalHeader","onRequestClose","focusOnMount","overlayClassName","id","RenderModal","ActionsMenuGroup","actions","item","registry","setActiveModalAction","Group","map","callback","ItemActions","isCompact","primaryActions","eligibleActions","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","CompactItemActions","isSmall","length","PrimaryActions","spacing","justify","className","style","flexShrink","width","activeModalAction","placement","TriggerButton","render","Popover","Array","isArray"],"sources":["@wordpress/dataviews/src/components/dataviews-item-actions/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEventHandler } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Action, ActionModal as ActionModalType } from '../../types';\n\nconst { Menu, kebabCase } = unlock( componentsPrivateApis );\n\nexport interface ActionTriggerProps< Item > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n\tisBusy?: boolean;\n\titems: Item[];\n}\n\nexport interface ActionModalProps< Item > {\n\taction: ActionModalType< Item >;\n\titems: Item[];\n\tcloseModal: () => void;\n}\n\ninterface ActionsMenuGroupProps< Item > {\n\tactions: Action< Item >[];\n\titem: Item;\n\tregistry: ReturnType< typeof useRegistry >;\n\tsetActiveModalAction: ( action: ActionModalType< Item > | null ) => void;\n}\n\ninterface ItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisCompact?: boolean;\n}\n\ninterface CompactItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisSmall?: boolean;\n\tregistry: ReturnType< typeof useRegistry >;\n}\n\ninterface PrimaryActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tregistry: ReturnType< typeof useRegistry >;\n}\n\nfunction ButtonTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Button\n\t\t\tlabel={ label }\n\t\t\ticon={ action.icon }\n\t\t\tdisabled={ !! action.disabled }\n\t\t\taccessibleWhenDisabled\n\t\t\tisDestructive={ action.isDestructive }\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t/>\n\t);\n}\n\nfunction MenuItemTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Menu.Item disabled={ action.disabled } onClick={ onClick }>\n\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t</Menu.Item>\n\t);\n}\n\nexport function ActionModal< Item >( {\n\taction,\n\titems,\n\tcloseModal,\n}: ActionModalProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ action.modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"medium\"\n\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal items={ items } closeModal={ closeModal } />\n\t\t</Modal>\n\t);\n}\n\nexport function ActionsMenuGroup< Item >( {\n\tactions,\n\titem,\n\tregistry,\n\tsetActiveModalAction,\n}: ActionsMenuGroupProps< Item > ) {\n\treturn (\n\t\t<Menu.Group>\n\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t<MenuItemTrigger\n\t\t\t\t\tkey={ action.id }\n\t\t\t\t\taction={ action }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t} }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Menu.Group>\n\t);\n}\n\nexport default function ItemActions< Item >( {\n\titem,\n\tactions,\n\tisCompact,\n}: ItemActionsProps< Item > ) {\n\tconst registry = useRegistry();\n\tconst { primaryActions, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tif ( isCompact ) {\n\t\treturn (\n\t\t\t<CompactItemActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ eligibleActions }\n\t\t\t\tisSmall\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// If all actions are primary, there is no need to render the dropdown.\n\tif ( primaryActions.length === eligibleActions.length ) {\n\t\treturn (\n\t\t\t<PrimaryActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ primaryActions }\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 1 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: '0',\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t<PrimaryActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ primaryActions }\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t\t<CompactItemActions\n\t\t\t\titem={ item }\n\t\t\t\tactions={ eligibleActions }\n\t\t\t\tregistry={ registry }\n\t\t\t/>\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions< Item >( {\n\titem,\n\tactions,\n\tisSmall,\n\tregistry,\n}: CompactItemActionsProps< Item > ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\treturn (\n\t\t<>\n\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize={ isSmall ? 'small' : 'compact' }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<Menu.Popover>\n\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t/>\n\t\t\t\t</Menu.Popover>\n\t\t\t</Menu>\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction PrimaryActions< Item >( {\n\titem,\n\tactions,\n\tregistry,\n}: PrimaryActionsProps< Item > ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState( null as any );\n\tif ( ! Array.isArray( actions ) || actions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t<ButtonTrigger\n\t\t\t\t\tkey={ action.id }\n\t\t\t\t\taction={ action }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t} }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -20,6 +20,7 @@ export default function DataViewsLayout() {
20
20
  data,
21
21
  fields,
22
22
  getItemId,
23
+ getItemLevel,
23
24
  isLoading,
24
25
  view,
25
26
  onChangeView,
@@ -35,6 +36,7 @@ export default function DataViewsLayout() {
35
36
  data: data,
36
37
  fields: fields,
37
38
  getItemId: getItemId,
39
+ getItemLevel: getItemLevel,
38
40
  isLoading: isLoading,
39
41
  onChangeView: onChangeView,
40
42
  onChangeSelection: onChangeSelection,
@@ -1 +1 @@
1
- {"version":3,"names":["useContext","DataViewsContext","VIEW_LAYOUTS","jsx","_jsx","DataViewsLayout","actions","data","fields","getItemId","isLoading","view","onChangeView","selection","onChangeSelection","setOpenedFilter","onClickItem","isItemClickable","ViewComponent","find","v","type","component"],"sources":["@wordpress/dataviews/src/components/dataviews-layout/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { ViewBaseProps } from '../../types';\n\nexport default function DataViewsLayout() {\n\tconst {\n\t\tactions = [],\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tview,\n\t\tonChangeView,\n\t\tselection,\n\t\tonChangeSelection,\n\t\tsetOpenedFilter,\n\t\tonClickItem,\n\t\tisItemClickable,\n\t} = useContext( DataViewsContext );\n\n\tconst ViewComponent = VIEW_LAYOUTS.find( ( v ) => v.type === view.type )\n\t\t?.component as ComponentType< ViewBaseProps< any > >;\n\n\treturn (\n\t\t<ViewComponent\n\t\t\tactions={ actions }\n\t\t\tdata={ data }\n\t\t\tfields={ fields }\n\t\t\tgetItemId={ getItemId }\n\t\t\tisLoading={ isLoading }\n\t\t\tonChangeView={ onChangeView }\n\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\tselection={ selection }\n\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\tonClickItem={ onClickItem }\n\t\t\tisItemClickable={ isItemClickable }\n\t\t\tview={ view }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,YAAY,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGvD,eAAe,SAASC,eAAeA,CAAA,EAAG;EACzC,MAAM;IACLC,OAAO,GAAG,EAAE;IACZC,IAAI;IACJC,MAAM;IACNC,SAAS;IACTC,SAAS;IACTC,IAAI;IACJC,YAAY;IACZC,SAAS;IACTC,iBAAiB;IACjBC,eAAe;IACfC,WAAW;IACXC;EACD,CAAC,GAAGjB,UAAU,CAAEC,gBAAiB,CAAC;EAElC,MAAMiB,aAAa,GAAGhB,YAAY,CAACiB,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACC,IAAI,KAAKV,IAAI,CAACU,IAAK,CAAC,EACrEC,SAAkD;EAErD,oBACClB,IAAA,CAACc,aAAa;IACbZ,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACbC,MAAM,EAAGA,MAAQ;IACjBC,SAAS,EAAGA,SAAW;IACvBC,SAAS,EAAGA,SAAW;IACvBE,YAAY,EAAGA,YAAc;IAC7BE,iBAAiB,EAAGA,iBAAmB;IACvCD,SAAS,EAAGA,SAAW;IACvBE,eAAe,EAAGA,eAAiB;IACnCC,WAAW,EAAGA,WAAa;IAC3BC,eAAe,EAAGA,eAAiB;IACnCN,IAAI,EAAGA;EAAM,CACb,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["useContext","DataViewsContext","VIEW_LAYOUTS","jsx","_jsx","DataViewsLayout","actions","data","fields","getItemId","getItemLevel","isLoading","view","onChangeView","selection","onChangeSelection","setOpenedFilter","onClickItem","isItemClickable","ViewComponent","find","v","type","component"],"sources":["@wordpress/dataviews/src/components/dataviews-layout/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { ViewBaseProps } from '../../types';\n\nexport default function DataViewsLayout() {\n\tconst {\n\t\tactions = [],\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tgetItemLevel,\n\t\tisLoading,\n\t\tview,\n\t\tonChangeView,\n\t\tselection,\n\t\tonChangeSelection,\n\t\tsetOpenedFilter,\n\t\tonClickItem,\n\t\tisItemClickable,\n\t} = useContext( DataViewsContext );\n\n\tconst ViewComponent = VIEW_LAYOUTS.find( ( v ) => v.type === view.type )\n\t\t?.component as ComponentType< ViewBaseProps< any > >;\n\n\treturn (\n\t\t<ViewComponent\n\t\t\tactions={ actions }\n\t\t\tdata={ data }\n\t\t\tfields={ fields }\n\t\t\tgetItemId={ getItemId }\n\t\t\tgetItemLevel={ getItemLevel }\n\t\t\tisLoading={ isLoading }\n\t\t\tonChangeView={ onChangeView }\n\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\tselection={ selection }\n\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\tonClickItem={ onClickItem }\n\t\t\tisItemClickable={ isItemClickable }\n\t\t\tview={ view }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,YAAY,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGvD,eAAe,SAASC,eAAeA,CAAA,EAAG;EACzC,MAAM;IACLC,OAAO,GAAG,EAAE;IACZC,IAAI;IACJC,MAAM;IACNC,SAAS;IACTC,YAAY;IACZC,SAAS;IACTC,IAAI;IACJC,YAAY;IACZC,SAAS;IACTC,iBAAiB;IACjBC,eAAe;IACfC,WAAW;IACXC;EACD,CAAC,GAAGlB,UAAU,CAAEC,gBAAiB,CAAC;EAElC,MAAMkB,aAAa,GAAGjB,YAAY,CAACkB,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACC,IAAI,KAAKV,IAAI,CAACU,IAAK,CAAC,EACrEC,SAAkD;EAErD,oBACCnB,IAAA,CAACe,aAAa;IACbb,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACbC,MAAM,EAAGA,MAAQ;IACjBC,SAAS,EAAGA,SAAW;IACvBC,YAAY,EAAGA,YAAc;IAC7BC,SAAS,EAAGA,SAAW;IACvBE,YAAY,EAAGA,YAAc;IAC7BE,iBAAiB,EAAGA,iBAAmB;IACvCD,SAAS,EAAGA,SAAW;IACvBE,eAAe,EAAGA,eAAiB;IACnCC,WAAW,EAAGA,WAAa;IAC3BC,eAAe,EAAGA,eAAiB;IACnCN,IAAI,EAAGA;EAAM,CACb,CAAC;AAEJ","ignoreList":[]}
@@ -20,7 +20,7 @@ import { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';
20
20
  import { VIEW_LAYOUTS } from '../../dataviews-layouts';
21
21
  import DataViewsContext from '../dataviews-context';
22
22
  import { unlock } from '../../lock-unlock';
23
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
23
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
24
24
  const {
25
25
  Menu
26
26
  } = unlock(componentsPrivateApis);
@@ -45,47 +45,50 @@ function ViewTypeMenu({
45
45
  return null;
46
46
  }
47
47
  const activeView = VIEW_LAYOUTS.find(v => view.type === v.type);
48
- return /*#__PURE__*/_jsx(Menu, {
49
- trigger: /*#__PURE__*/_jsx(Button, {
50
- size: "compact",
51
- icon: activeView?.icon,
52
- label: __('Layout')
53
- }),
54
- children: availableLayouts.map(layout => {
55
- const config = VIEW_LAYOUTS.find(v => v.type === layout);
56
- if (!config) {
57
- return null;
58
- }
59
- return /*#__PURE__*/_jsx(Menu.RadioItem, {
60
- value: layout,
61
- name: "view-actions-available-view",
62
- checked: layout === view.type,
63
- hideOnClick: true,
64
- onChange: e => {
65
- switch (e.target.value) {
66
- case 'list':
67
- case 'grid':
68
- case 'table':
69
- const viewWithoutLayout = {
70
- ...view
71
- };
72
- if ('layout' in viewWithoutLayout) {
73
- delete viewWithoutLayout.layout;
74
- }
75
- // @ts-expect-error
76
- return onChangeView({
77
- ...viewWithoutLayout,
78
- type: e.target.value,
79
- ...defaultLayouts[e.target.value]
80
- });
81
- }
82
- globalThis.SCRIPT_DEBUG === true ? warning('Invalid dataview') : void 0;
83
- },
84
- children: /*#__PURE__*/_jsx(Menu.ItemLabel, {
85
- children: config.label
86
- })
87
- }, layout);
88
- })
48
+ return /*#__PURE__*/_jsxs(Menu, {
49
+ children: [/*#__PURE__*/_jsx(Menu.TriggerButton, {
50
+ render: /*#__PURE__*/_jsx(Button, {
51
+ size: "compact",
52
+ icon: activeView?.icon,
53
+ label: __('Layout')
54
+ })
55
+ }), /*#__PURE__*/_jsx(Menu.Popover, {
56
+ children: availableLayouts.map(layout => {
57
+ const config = VIEW_LAYOUTS.find(v => v.type === layout);
58
+ if (!config) {
59
+ return null;
60
+ }
61
+ return /*#__PURE__*/_jsx(Menu.RadioItem, {
62
+ value: layout,
63
+ name: "view-actions-available-view",
64
+ checked: layout === view.type,
65
+ hideOnClick: true,
66
+ onChange: e => {
67
+ switch (e.target.value) {
68
+ case 'list':
69
+ case 'grid':
70
+ case 'table':
71
+ const viewWithoutLayout = {
72
+ ...view
73
+ };
74
+ if ('layout' in viewWithoutLayout) {
75
+ delete viewWithoutLayout.layout;
76
+ }
77
+ // @ts-expect-error
78
+ return onChangeView({
79
+ ...viewWithoutLayout,
80
+ type: e.target.value,
81
+ ...defaultLayouts[e.target.value]
82
+ });
83
+ }
84
+ globalThis.SCRIPT_DEBUG === true ? warning('Invalid dataview') : void 0;
85
+ },
86
+ children: /*#__PURE__*/_jsx(Menu.ItemLabel, {
87
+ children: config.label
88
+ })
89
+ }, layout);
90
+ })
91
+ })]
89
92
  });
90
93
  }
91
94
  function SortFieldControl() {
@@ -115,7 +118,8 @@ function SortFieldControl() {
115
118
  sort: {
116
119
  direction: view?.sort?.direction || 'desc',
117
120
  field: value
118
- }
121
+ },
122
+ showLevels: false
119
123
  });
120
124
  }
121
125
  });
@@ -150,7 +154,8 @@ function SortDirectionControl() {
150
154
  field: view.sort?.field ||
151
155
  // If there is no field assigned as the sorting field assign the first sortable field.
152
156
  fields.find(field => field.enableSorting !== false)?.id || ''
153
- }
157
+ },
158
+ showLevels: false
154
159
  });
155
160
  return;
156
161
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","Icon","__","_x","sprintf","memo","useContext","useMemo","chevronDown","chevronUp","cog","seen","unseen","lock","warning","useInstanceId","SORTING_DIRECTIONS","sortIcons","sortLabels","VIEW_LAYOUTS","DataViewsContext","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","DATAVIEWS_CONFIG_POPOVER_PROPS","className","placement","offset","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","availableLayouts","Object","keys","length","activeView","find","v","type","trigger","size","icon","label","children","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","viewWithoutLayout","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","SortDirectionControl","isBlock","newDirection","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","FieldItem","isVisible","isFirst","isLast","canMove","onToggleVisibility","onMoveUp","onMoveDown","focusVisibilityField","setTimeout","element","document","querySelector","HTMLElement","focus","expanded","justify","enableHiding","accessibleWhenDisabled","onClick","RegularFieldItem","index","_view$fields","visibleFieldIds","includes","fieldId","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","isDefined","item","FieldControl","_view$fields2","togglableFields","titleField","mediaField","descriptionField","Boolean","hiddenFields","f","visibleFields","lockedFields","isVisibleFlag","visibleLockedFields","_view$isVisibleFlag","hiddenLockedFields","_view$isVisibleFlag2","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","description","columns","gap","level","variant","DataviewsViewConfigDropdown","popoverId","_DataViewsViewConfig","activeLayout","expandOnMobile","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","viewConfigOptions","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo } from '@wordpress/element';\nimport {\n\tchevronDown,\n\tchevronUp,\n\tcog,\n\tseen,\n\tunseen,\n\tlock,\n} from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { NormalizedField, SupportedLayouts, View } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = {\n\tclassName: 'dataviews-config__popover',\n\tplacement: 'bottom-end',\n\toffset: 9,\n};\n\nfunction ViewTypeMenu( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<Menu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\t\t\tif ( ! config ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\tconst viewWithoutLayout = { ...view };\n\t\t\t\t\t\t\t\t\tif ( 'layout' in viewWithoutLayout ) {\n\t\t\t\t\t\t\t\t\t\tdelete viewWithoutLayout.layout;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t...viewWithoutLayout,\n\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Menu.ItemLabel>{ config.label }</Menu.ItemLabel>\n\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction ItemsPerPageControl() {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction FieldItem( {\n\tfield,\n\tisVisible,\n\tisFirst,\n\tisLast,\n\tcanMove = true,\n\tonToggleVisibility,\n\tonMoveUp,\n\tonMoveDown,\n}: {\n\tfield: NormalizedField< any >;\n\tisVisible: boolean;\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tcanMove?: boolean;\n\tonToggleVisibility?: () => void;\n\tonMoveUp?: () => void;\n\tonMoveDown?: () => void;\n} ) {\n\tconst focusVisibilityField = () => {\n\t\t// Focus the visibility button to avoid focus loss.\n\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tconst element = document.querySelector(\n\t\t\t\t`.dataviews-field-control__field-${ field.id } .dataviews-field-control__field-visibility-button`\n\t\t\t);\n\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 50 );\n\t};\n\n\treturn (\n\t\t<Item>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ `dataviews-field-control__field dataviews-field-control__field-${ field.id }` }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<span className=\"dataviews-field-control__icon\">\n\t\t\t\t\t{ ! canMove && ! field.enableHiding && (\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<span className=\"dataviews-field-control__label\">\n\t\t\t\t\t{ field.label }\n\t\t\t\t</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isFirst || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveUp }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisFirst || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved up\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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<Button\n\t\t\t\t\t\t\t\tdisabled={ isLast || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveDown }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisLast || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved down\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ onToggleVisibility && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\t\tdisabled={ ! field.enableHiding }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonToggleVisibility();\n\t\t\t\t\t\t\t\tfocusVisibilityField();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Hide %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Show %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction RegularFieldItem( {\n\tindex,\n\tfield,\n\tview,\n\tonChangeView,\n}: {\n\tindex?: number;\n\tfield: NormalizedField< any >;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst isVisible =\n\t\tindex !== undefined && visibleFieldIds.includes( field.id );\n\n\treturn (\n\t\t<FieldItem\n\t\t\tfield={ field }\n\t\t\tisVisible={ isVisible }\n\t\t\tisFirst={ index !== undefined && index < 1 }\n\t\t\tisLast={\n\t\t\t\tindex !== undefined && index === visibleFieldIds.length - 1\n\t\t\t}\n\t\t\tonToggleVisibility={ () => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tfields: isVisible\n\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== field.id\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [ ...visibleFieldIds, field.id ],\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonMoveUp={\n\t\t\t\tindex !== undefined\n\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 1 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonMoveDown={\n\t\t\t\tindex !== undefined\n\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice( 0, index ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 2 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst togglableFields = [\n\t\tview?.titleField,\n\t\tview?.mediaField,\n\t\tview?.descriptionField,\n\t].filter( Boolean );\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst hiddenFields = fields.filter(\n\t\t( f ) =>\n\t\t\t! visibleFieldIds.includes( f.id ) &&\n\t\t\t! togglableFields.includes( f.id )\n\t);\n\tconst visibleFields = visibleFieldIds\n\t\t.map( ( fieldId ) => fields.find( ( f ) => f.id === fieldId ) )\n\t\t.filter( isDefined );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\tconst titleField = fields.find( ( f ) => f.id === view.titleField );\n\tconst mediaField = fields.find( ( f ) => f.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( f ) => f.id === view.descriptionField\n\t);\n\tconst lockedFields = [\n\t\t{\n\t\t\tfield: titleField,\n\t\t\tisVisibleFlag: 'showTitle',\n\t\t},\n\t\t{\n\t\t\tfield: mediaField,\n\t\t\tisVisibleFlag: 'showMedia',\n\t\t},\n\t\t{\n\t\t\tfield: descriptionField,\n\t\t\tisVisibleFlag: 'showDescription',\n\t\t},\n\t].filter( ( { field } ) => isDefined( field ) );\n\tconst visibleLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ( view[ isVisibleFlag ] ?? true )\n\t) as Array< { field: NormalizedField< any >; isVisibleFlag: string } >;\n\tconst hiddenLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ! ( view[ isVisibleFlag ] ?? true )\n\t) as Array< { field: NormalizedField< any >; isVisibleFlag: string } >;\n\n\treturn (\n\t\t<VStack className=\"dataviews-field-control\" spacing={ 6 }>\n\t\t\t<VStack className=\"dataviews-view-config__properties\" spacing={ 0 }>\n\t\t\t\t{ ( visibleLockedFields.length > 0 ||\n\t\t\t\t\t!! visibleFields?.length ) && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ visibleLockedFields.map(\n\t\t\t\t\t\t\t( { field, isVisibleFlag } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\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\t[ isVisibleFlag ]: false,\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\tcanMove={ false }\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\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\tindex={ index }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\n\t\t\t{ ( !! hiddenFields?.length || !! hiddenLockedFields.length ) && (\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-config__properties\"\n\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenLockedFields.length > 0 &&\n\t\t\t\t\t\t\t\thiddenLockedFields.map(\n\t\t\t\t\t\t\t\t\t( { field, isVisibleFlag } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t\tisVisible={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\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\t\t\t[ isVisibleFlag ]: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\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{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nfunction DataviewsViewConfigDropdown() {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\tconst activeLayout = VIEW_LAYOUTS.find(\n\t\t( layout ) => layout.type === view.type\n\t);\n\treturn (\n\t\t<Dropdown\n\t\t\texpandOnMobile\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"dataviews-config__popover-content-wrapper\"\n\t\t\t\t>\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ !! activeLayout?.viewConfigOptions && (\n\t\t\t\t\t\t\t\t<activeLayout.viewConfigOptions />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<DataviewsViewConfigDropdown />\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":";AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SACCA,MAAM,EACNC,oCAAoC,IAAIC,sBAAsB,EAC9DC,QAAQ,EACRC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,0CAA0C,IAAIC,4BAA4B,EAC1EC,aAAa,EACbC,uBAAuB,IAAIC,SAAS,EACpCC,kBAAkB,IAAIC,IAAI,EAC1BC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,WAAW,IAAIC,qBAAqB,EACpCC,WAAW,EACXC,IAAI,QACE,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,IAAI,EAAEC,UAAU,EAAEC,OAAO,QAAQ,oBAAoB;AAC9D,SACCC,WAAW,EACXC,SAAS,EACTC,GAAG,EACHC,IAAI,EACJC,MAAM,EACNC,IAAI,QACE,kBAAkB;AACzB,OAAOC,OAAO,MAAM,oBAAoB;AACxC,SAASC,aAAa,QAAQ,oBAAoB;;AAElD;AACA;AACA;AACA,SAASC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,QAAQ,iBAAiB;AAC3E,SAASC,YAAY,QAAQ,yBAAyB;AAEtD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAM;EAAEC;AAAK,CAAC,GAAGP,MAAM,CAAEtB,qBAAsB,CAAC;AAMhD,MAAM8B,8BAA8B,GAAG;EACtCC,SAAS,EAAE,2BAA2B;EACtCC,SAAS,EAAE,YAAY;EACvBC,MAAM,EAAE;AACT,CAAC;AAED,SAASC,YAAYA,CAAE;EACtBC,cAAc,GAAG;IAAEC,IAAI,EAAE,CAAC,CAAC;IAAEC,IAAI,EAAE,CAAC,CAAC;IAAEC,KAAK,EAAE,CAAC;EAAE;AAC/B,CAAC,EAAG;EACtB,MAAM;IAAEC,IAAI;IAAEC;EAAa,CAAC,GAAGjC,UAAU,CAAEc,gBAAiB,CAAC;EAC7D,MAAMoB,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAAER,cAAe,CAAC;EACtD,IAAKM,gBAAgB,CAACG,MAAM,IAAI,CAAC,EAAG;IACnC,OAAO,IAAI;EACZ;EACA,MAAMC,UAAU,GAAGzB,YAAY,CAAC0B,IAAI,CAAIC,CAAC,IAAMR,IAAI,CAACS,IAAI,KAAKD,CAAC,CAACC,IAAK,CAAC;EACrE,oBACCxB,IAAA,CAACK,IAAI;IACJoB,OAAO,eACNzB,IAAA,CAAClD,MAAM;MACN4E,IAAI,EAAC,SAAS;MACdC,IAAI,EAAGN,UAAU,EAAEM,IAAM;MACzBC,KAAK,EAAGjD,EAAE,CAAE,QAAS;IAAG,CACxB,CACD;IAAAkD,QAAA,EAECZ,gBAAgB,CAACa,GAAG,CAAIC,MAAM,IAAM;MACrC,MAAMC,MAAM,GAAGpC,YAAY,CAAC0B,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACC,IAAI,KAAKO,MAAO,CAAC;MAC9D,IAAK,CAAEC,MAAM,EAAG;QACf,OAAO,IAAI;MACZ;MACA,oBACChC,IAAA,CAACK,IAAI,CAAC4B,SAAS;QAEdC,KAAK,EAAGH,MAAQ;QAChBI,IAAI,EAAC,6BAA6B;QAClCC,OAAO,EAAGL,MAAM,KAAKhB,IAAI,CAACS,IAAM;QAChCa,WAAW;QACXC,QAAQ,EAAKC,CAAkC,IAAM;UACpD,QAASA,CAAC,CAACC,MAAM,CAACN,KAAK;YACtB,KAAK,MAAM;YACX,KAAK,MAAM;YACX,KAAK,OAAO;cACX,MAAMO,iBAAiB,GAAG;gBAAE,GAAG1B;cAAK,CAAC;cACrC,IAAK,QAAQ,IAAI0B,iBAAiB,EAAG;gBACpC,OAAOA,iBAAiB,CAACV,MAAM;cAChC;cACA;cACA,OAAOf,YAAY,CAAE;gBACpB,GAAGyB,iBAAiB;gBACpBjB,IAAI,EAAEe,CAAC,CAACC,MAAM,CAACN,KAAK;gBACpB,GAAGvB,cAAc,CAAE4B,CAAC,CAACC,MAAM,CAACN,KAAK;cAClC,CAAE,CAAC;UACL;UACAQ,UAAA,CAAAC,YAAA,YAAApD,OAAO,CAAE,kBAAmB,CAAC;QAC9B,CAAG;QAAAsC,QAAA,eAEH7B,IAAA,CAACK,IAAI,CAACuC,SAAS;UAAAf,QAAA,EAAGG,MAAM,CAACJ;QAAK,CAAkB;MAAC,GAxB3CG,MAyBS,CAAC;IAEnB,CAAE;EAAC,CACE,CAAC;AAET;AAEA,SAASc,gBAAgBA,CAAA,EAAG;EAC3B,MAAM;IAAE9B,IAAI;IAAE+B,MAAM;IAAE9B;EAAa,CAAC,GAAGjC,UAAU,CAAEc,gBAAiB,CAAC;EACrE,MAAMkD,YAAY,GAAG/D,OAAO,CAAE,MAAM;IACnC,MAAMgE,cAAc,GAAGF,MAAM,CAACG,MAAM,CACjCC,KAAK,IAAMA,KAAK,CAACC,aAAa,KAAK,KACtC,CAAC;IACD,OAAOH,cAAc,CAAClB,GAAG,CAAIoB,KAAK,IAAM;MACvC,OAAO;QACNtB,KAAK,EAAEsB,KAAK,CAACtB,KAAK;QAClBM,KAAK,EAAEgB,KAAK,CAACE;MACd,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEN,MAAM,CAAG,CAAC;EAEf,oBACC9C,IAAA,CAACxC,aAAa;IACb6F,uBAAuB;IACvBC,qBAAqB;IACrB1B,KAAK,EAAGjD,EAAE,CAAE,SAAU,CAAG;IACzBuD,KAAK,EAAGnB,IAAI,CAACwC,IAAI,EAAEL,KAAO;IAC1BM,OAAO,EAAGT,YAAc;IACxBT,QAAQ,EAAKJ,KAAa,IAAM;MAC/BlB,YAAY,CAAE;QACb,GAAGD,IAAI;QACPwC,IAAI,EAAE;UACLE,SAAS,EAAE1C,IAAI,EAAEwC,IAAI,EAAEE,SAAS,IAAI,MAAM;UAC1CP,KAAK,EAAEhB;QACR;MACD,CAAE,CAAC;IACJ;EAAG,CACH,CAAC;AAEJ;AAEA,SAASwB,oBAAoBA,CAAA,EAAG;EAC/B,MAAM;IAAE3C,IAAI;IAAE+B,MAAM;IAAE9B;EAAa,CAAC,GAAGjC,UAAU,CAAEc,gBAAiB,CAAC;EAErE,MAAMmD,cAAc,GAAGF,MAAM,CAACG,MAAM,CACjCC,KAAK,IAAMA,KAAK,CAACC,aAAa,KAAK,KACtC,CAAC;EACD,IAAKH,cAAc,CAAC5B,MAAM,KAAK,CAAC,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,IAAIc,KAAK,GAAGnB,IAAI,CAACwC,IAAI,EAAEE,SAAS;EAChC,IAAK,CAAEvB,KAAK,IAAInB,IAAI,CAACwC,IAAI,EAAEL,KAAK,EAAG;IAClChB,KAAK,GAAG,MAAM;EACf;EACA,oBACClC,IAAA,CAAC7C,kBAAkB;IAClBoD,SAAS,EAAC,uCAAuC;IACjD8C,uBAAuB;IACvBC,qBAAqB;IACrBK,OAAO;IACP/B,KAAK,EAAGjD,EAAE,CAAE,OAAQ,CAAG;IACvBuD,KAAK,EAAGA,KAAO;IACfI,QAAQ,EAAKsB,YAAY,IAAM;MAC9B,IAAKA,YAAY,KAAK,KAAK,IAAIA,YAAY,KAAK,MAAM,EAAG;QACxD5C,YAAY,CAAE;UACb,GAAGD,IAAI;UACPwC,IAAI,EAAE;YACLE,SAAS,EAAEG,YAAY;YACvBV,KAAK,EACJnC,IAAI,CAACwC,IAAI,EAAEL,KAAK;YAChB;YACAJ,MAAM,CAACxB,IAAI,CACR4B,KAAK,IAAMA,KAAK,CAACC,aAAa,KAAK,KACtC,CAAC,EAAEC,EAAE,IACL;UACF;QACD,CAAE,CAAC;QACH;MACD;MACAV,UAAA,CAAAC,YAAA,YAAApD,OAAO,CAAE,mBAAoB,CAAC;IAC/B,CAAG;IAAAsC,QAAA,EAEDpC,kBAAkB,CAACqC,GAAG,CAAI2B,SAAS,IAAM;MAC1C,oBACCzD,IAAA,CAACzC,4BAA4B;QAE5B2E,KAAK,EAAGuB,SAAW;QACnB9B,IAAI,EAAGjC,SAAS,CAAE+D,SAAS,CAAI;QAC/B7B,KAAK,EAAGjC,UAAU,CAAE8D,SAAS;MAAI,GAH3BA,SAIN,CAAC;IAEJ,CAAE;EAAC,CACgB,CAAC;AAEvB;AAEA,MAAMI,gBAAgB,GAAG,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAE;AAC5C,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,MAAM;IAAE/C,IAAI;IAAEC;EAAa,CAAC,GAAGjC,UAAU,CAAEc,gBAAiB,CAAC;EAC7D,oBACCG,IAAA,CAAC7C,kBAAkB;IAClBkG,uBAAuB;IACvBC,qBAAqB;IACrBK,OAAO;IACP/B,KAAK,EAAGjD,EAAE,CAAE,gBAAiB,CAAG;IAChCuD,KAAK,EAAGnB,IAAI,CAACgD,OAAO,IAAI,EAAI;IAC5BC,QAAQ,EAAG,CAAEjD,IAAI,EAAEwC,IAAI,EAAEL,KAAO;IAChCZ,QAAQ,EAAK2B,eAAe,IAAM;MACjC,MAAMC,qBAAqB,GAC1B,OAAOD,eAAe,KAAK,QAAQ,IACnCA,eAAe,KAAKE,SAAS,GAC1BF,eAAe,GACfG,QAAQ,CAAEH,eAAe,EAAE,EAAG,CAAC;MACnCjD,YAAY,CAAE;QACb,GAAGD,IAAI;QACPgD,OAAO,EAAEG,qBAAqB;QAC9BG,IAAI,EAAE;MACP,CAAE,CAAC;IACJ,CAAG;IAAAxC,QAAA,EAEDgC,gBAAgB,CAAC/B,GAAG,CAAII,KAAK,IAAM;MACpC,oBACClC,IAAA,CAAC3C,wBAAwB;QAExB6E,KAAK,EAAGA,KAAO;QACfN,KAAK,EAAGM,KAAK,CAACoC,QAAQ,CAAC;MAAG,GAFpBpC,KAGN,CAAC;IAEJ,CAAE;EAAC,CACgB,CAAC;AAEvB;AAEA,SAASqC,SAASA,CAAE;EACnBrB,KAAK;EACLsB,SAAS;EACTC,OAAO;EACPC,MAAM;EACNC,OAAO,GAAG,IAAI;EACdC,kBAAkB;EAClBC,QAAQ;EACRC;AAUD,CAAC,EAAG;EACH,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;IAClC;IACA;IACA;IACAC,UAAU,CAAE,MAAM;MACjB,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CACrC,mCAAoCjC,KAAK,CAACE,EAAE,oDAC7C,CAAC;MACD,IAAK6B,OAAO,YAAYG,WAAW,EAAG;QACrCH,OAAO,CAACI,KAAK,CAAC,CAAC;MAChB;IACD,CAAC,EAAE,EAAG,CAAC;EACR,CAAC;EAED,oBACCrF,IAAA,CAACpC,IAAI;IAAAiE,QAAA,eACJzB,KAAA,CAAClC,MAAM;MACNoH,QAAQ;MACR/E,SAAS,EAAG,iEAAkE2C,KAAK,CAACE,EAAE,EAAK;MAC3FmC,OAAO,EAAC,YAAY;MAAA1D,QAAA,gBAEpB7B,IAAA;QAAMO,SAAS,EAAC,+BAA+B;QAAAsB,QAAA,EAC5C,CAAE8C,OAAO,IAAI,CAAEzB,KAAK,CAACsC,YAAY,iBAClCxF,IAAA,CAACtB,IAAI;UAACiD,IAAI,EAAGrC;QAAM,CAAE;MACrB,CACI,CAAC,eACPU,IAAA;QAAMO,SAAS,EAAC,gCAAgC;QAAAsB,QAAA,EAC7CqB,KAAK,CAACtB;MAAK,CACR,CAAC,eACPxB,KAAA,CAAClC,MAAM;QACNqH,OAAO,EAAC,UAAU;QAClBD,QAAQ,EAAG,KAAO;QAClB/E,SAAS,EAAC,kCAAkC;QAAAsB,QAAA,GAE1C2C,SAAS,iBACVpE,KAAA,CAAAF,SAAA;UAAA2B,QAAA,gBACC7B,IAAA,CAAClD,MAAM;YACNkH,QAAQ,EAAGS,OAAO,IAAI,CAAEE,OAAS;YACjCc,sBAAsB;YACtB/D,IAAI,EAAC,SAAS;YACdgE,OAAO,EAAGb,QAAU;YACpBlD,IAAI,EAAGzC,SAAW;YAClB0C,KAAK,EACJ6C,OAAO,IAAI,CAAEE,OAAO,GACjBhG,EAAE,CAAE,8BAA+B,CAAC,GACpCE,OAAO,CACP;YACAF,EAAE,CAAE,YAAa,CAAC,EAClBuE,KAAK,CAACtB,KACN;UACH,CACD,CAAC,eACF5B,IAAA,CAAClD,MAAM;YACNkH,QAAQ,EAAGU,MAAM,IAAI,CAAEC,OAAS;YAChCc,sBAAsB;YACtB/D,IAAI,EAAC,SAAS;YACdgE,OAAO,EAAGZ,UAAY;YACtBnD,IAAI,EAAG1C,WAAa;YACpB2C,KAAK,EACJ8C,MAAM,IAAI,CAAEC,OAAO,GAChBhG,EAAE,CAAE,gCAAiC,CAAC,GACtCE,OAAO,CACP;YACAF,EAAE,CAAE,cAAe,CAAC,EACpBuE,KAAK,CAACtB,KACN;UACH,CACD,CAAC;QAAA,CACD,CACF,EACCgD,kBAAkB,iBACnB5E,IAAA,CAAClD,MAAM;UACNyD,SAAS,EAAC,kDAAkD;UAC5DyD,QAAQ,EAAG,CAAEd,KAAK,CAACsC,YAAc;UACjCC,sBAAsB;UACtB/D,IAAI,EAAC,SAAS;UACdgE,OAAO,EAAGA,CAAA,KAAM;YACfd,kBAAkB,CAAC,CAAC;YACpBG,oBAAoB,CAAC,CAAC;UACvB,CAAG;UACHpD,IAAI,EAAG6C,SAAS,GAAGnF,MAAM,GAAGD,IAAM;UAClCwC,KAAK,EACJ4C,SAAS,GACN3F,OAAO,CACP;UACAD,EAAE,CAAE,SAAS,EAAE,OAAQ,CAAC,EACxBsE,KAAK,CAACtB,KACN,CAAC,GACD/C,OAAO,CACP;UACAD,EAAE,CAAE,SAAS,EAAE,OAAQ,CAAC,EACxBsE,KAAK,CAACtB,KACN;QACH,CACD,CACD;MAAA,CACM,CAAC;IAAA,CACF;EAAC,CACJ,CAAC;AAET;AAEA,SAAS+D,gBAAgBA,CAAE;EAC1BC,KAAK;EACL1C,KAAK;EACLnC,IAAI;EACJC;AAMD,CAAC,EAAG;EAAA,IAAA6E,YAAA;EACH,MAAMC,eAAe,IAAAD,YAAA,GAAG9E,IAAI,CAAC+B,MAAM,cAAA+C,YAAA,cAAAA,YAAA,GAAI,EAAE;EACzC,MAAMrB,SAAS,GACdoB,KAAK,KAAKzB,SAAS,IAAI2B,eAAe,CAACC,QAAQ,CAAE7C,KAAK,CAACE,EAAG,CAAC;EAE5D,oBACCpD,IAAA,CAACuE,SAAS;IACTrB,KAAK,EAAGA,KAAO;IACfsB,SAAS,EAAGA,SAAW;IACvBC,OAAO,EAAGmB,KAAK,KAAKzB,SAAS,IAAIyB,KAAK,GAAG,CAAG;IAC5ClB,MAAM,EACLkB,KAAK,KAAKzB,SAAS,IAAIyB,KAAK,KAAKE,eAAe,CAAC1E,MAAM,GAAG,CAC1D;IACDwD,kBAAkB,EAAGA,CAAA,KAAM;MAC1B5D,YAAY,CAAE;QACb,GAAGD,IAAI;QACP+B,MAAM,EAAE0B,SAAS,GACdsB,eAAe,CAAC7C,MAAM,CACpB+C,OAAO,IAAMA,OAAO,KAAK9C,KAAK,CAACE,EACjC,CAAC,GACD,CAAE,GAAG0C,eAAe,EAAE5C,KAAK,CAACE,EAAE;MAClC,CAAE,CAAC;IACJ,CAAG;IACHyB,QAAQ,EACPe,KAAK,KAAKzB,SAAS,GAChB,MAAM;MAAA,IAAA8B,qBAAA;MACNjF,YAAY,CAAE;QACb,GAAGD,IAAI;QACP+B,MAAM,EAAE,CACP,KAAAmD,qBAAA,GAAKH,eAAe,CAACI,KAAK,CACzB,CAAC,EACDN,KAAK,GAAG,CACT,CAAC,cAAAK,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAE,EACT/C,KAAK,CAACE,EAAE,EACR0C,eAAe,CAAEF,KAAK,GAAG,CAAC,CAAE,EAC5B,GAAGE,eAAe,CAACI,KAAK,CAAEN,KAAK,GAAG,CAAE,CAAC;MAEvC,CAAE,CAAC;IACH,CAAC,GACDzB,SACH;IACDW,UAAU,EACTc,KAAK,KAAKzB,SAAS,GAChB,MAAM;MAAA,IAAAgC,sBAAA;MACNnF,YAAY,CAAE;QACb,GAAGD,IAAI;QACP+B,MAAM,EAAE,CACP,KAAAqD,sBAAA,GAAKL,eAAe,CAACI,KAAK,CAAE,CAAC,EAAEN,KAAM,CAAC,cAAAO,sBAAA,cAAAA,sBAAA,GACrC,EAAE,CAAE,EACLL,eAAe,CAAEF,KAAK,GAAG,CAAC,CAAE,EAC5B1C,KAAK,CAACE,EAAE,EACR,GAAG0C,eAAe,CAACI,KAAK,CAAEN,KAAK,GAAG,CAAE,CAAC;MAEvC,CAAE,CAAC;IACH,CAAC,GACDzB;EACH,CACD,CAAC;AAEJ;AAEA,SAASiC,SAASA,CAAOC,IAAmB,EAAc;EACzD,OAAO,CAAC,CAAEA,IAAI;AACf;AAEA,SAASC,YAAYA,CAAA,EAAG;EAAA,IAAAC,aAAA;EACvB,MAAM;IAAExF,IAAI;IAAE+B,MAAM;IAAE9B;EAAa,CAAC,GAAGjC,UAAU,CAAEc,gBAAiB,CAAC;EAErE,MAAM2G,eAAe,GAAG,CACvBzF,IAAI,EAAE0F,UAAU,EAChB1F,IAAI,EAAE2F,UAAU,EAChB3F,IAAI,EAAE4F,gBAAgB,CACtB,CAAC1D,MAAM,CAAE2D,OAAQ,CAAC;EACnB,MAAMd,eAAe,IAAAS,aAAA,GAAGxF,IAAI,CAAC+B,MAAM,cAAAyD,aAAA,cAAAA,aAAA,GAAI,EAAE;EACzC,MAAMM,YAAY,GAAG/D,MAAM,CAACG,MAAM,CAC/B6D,CAAC,IACF,CAAEhB,eAAe,CAACC,QAAQ,CAAEe,CAAC,CAAC1D,EAAG,CAAC,IAClC,CAAEoD,eAAe,CAACT,QAAQ,CAAEe,CAAC,CAAC1D,EAAG,CACnC,CAAC;EACD,MAAM2D,aAAa,GAAGjB,eAAe,CACnChE,GAAG,CAAIkE,OAAO,IAAMlD,MAAM,CAACxB,IAAI,CAAIwF,CAAC,IAAMA,CAAC,CAAC1D,EAAE,KAAK4C,OAAQ,CAAE,CAAC,CAC9D/C,MAAM,CAAEmD,SAAU,CAAC;EAErB,IAAK,CAAEW,aAAa,EAAE3F,MAAM,IAAI,CAAEyF,YAAY,EAAEzF,MAAM,EAAG;IACxD,OAAO,IAAI;EACZ;EACA,MAAMqF,UAAU,GAAG3D,MAAM,CAACxB,IAAI,CAAIwF,CAAC,IAAMA,CAAC,CAAC1D,EAAE,KAAKrC,IAAI,CAAC0F,UAAW,CAAC;EACnE,MAAMC,UAAU,GAAG5D,MAAM,CAACxB,IAAI,CAAIwF,CAAC,IAAMA,CAAC,CAAC1D,EAAE,KAAKrC,IAAI,CAAC2F,UAAW,CAAC;EACnE,MAAMC,gBAAgB,GAAG7D,MAAM,CAACxB,IAAI,CACjCwF,CAAC,IAAMA,CAAC,CAAC1D,EAAE,KAAKrC,IAAI,CAAC4F,gBACxB,CAAC;EACD,MAAMK,YAAY,GAAG,CACpB;IACC9D,KAAK,EAAEuD,UAAU;IACjBQ,aAAa,EAAE;EAChB,CAAC,EACD;IACC/D,KAAK,EAAEwD,UAAU;IACjBO,aAAa,EAAE;EAChB,CAAC,EACD;IACC/D,KAAK,EAAEyD,gBAAgB;IACvBM,aAAa,EAAE;EAChB,CAAC,CACD,CAAChE,MAAM,CAAE,CAAE;IAAEC;EAAM,CAAC,KAAMkD,SAAS,CAAElD,KAAM,CAAE,CAAC;EAC/C,MAAMgE,mBAAmB,GAAGF,YAAY,CAAC/D,MAAM,CAC9C,CAAE;IAAEC,KAAK;IAAE+D;EAAc,CAAC;IAAA,IAAAE,mBAAA;IAAA;MACzB;MACAf,SAAS,CAAElD,KAAM,CAAC,MAAAiE,mBAAA,GAAMpG,IAAI,CAAEkG,aAAa,CAAE,cAAAE,mBAAA,cAAAA,mBAAA,GAAI,IAAI;IAAE;EAAA,CACzD,CAAsE;EACtE,MAAMC,kBAAkB,GAAGJ,YAAY,CAAC/D,MAAM,CAC7C,CAAE;IAAEC,KAAK;IAAE+D;EAAc,CAAC;IAAA,IAAAI,oBAAA;IAAA;MACzB;MACAjB,SAAS,CAAElD,KAAM,CAAC,IAAI,GAAAmE,oBAAA,GAAItG,IAAI,CAAEkG,aAAa,CAAE,cAAAI,oBAAA,cAAAA,oBAAA,GAAI,IAAI;IAAE;EAAA,CAC3D,CAAsE;EAEtE,oBACCjH,KAAA,CAACpC,MAAM;IAACuC,SAAS,EAAC,yBAAyB;IAAC+G,OAAO,EAAG,CAAG;IAAAzF,QAAA,gBACxD7B,IAAA,CAAChC,MAAM;MAACuC,SAAS,EAAC,mCAAmC;MAAC+G,OAAO,EAAG,CAAG;MAAAzF,QAAA,EAChE,CAAEqF,mBAAmB,CAAC9F,MAAM,GAAG,CAAC,IACjC,CAAC,CAAE2F,aAAa,EAAE3F,MAAM,kBACxBhB,KAAA,CAAC1C,SAAS;QAAC6J,UAAU;QAACC,WAAW;QAAA3F,QAAA,GAC9BqF,mBAAmB,CAACpF,GAAG,CACxB,CAAE;UAAEoB,KAAK;UAAE+D;QAAc,CAAC,KAAM;UAC/B,oBACCjH,IAAA,CAACuE,SAAS;YAETrB,KAAK,EAAGA,KAAO;YACfsB,SAAS;YACTI,kBAAkB,EAAGA,CAAA,KAAM;cAC1B5D,YAAY,CAAE;gBACb,GAAGD,IAAI;gBACP,CAAEkG,aAAa,GAAI;cACpB,CAAE,CAAC;YACJ,CAAG;YACHtC,OAAO,EAAG;UAAO,GATXzB,KAAK,CAACE,EAUZ,CAAC;QAEJ,CACD,CAAC,EAEC2D,aAAa,CAACjF,GAAG,CAAE,CAAEoB,KAAK,EAAE0C,KAAK,kBAClC5F,IAAA,CAAC2F,gBAAgB;UAEhBzC,KAAK,EAAGA,KAAO;UACfnC,IAAI,EAAGA,IAAM;UACbC,YAAY,EAAGA,YAAc;UAC7B4E,KAAK,EAAGA;QAAO,GAJT1C,KAAK,CAACE,EAKZ,CACA,CAAC;MAAA,CACO;IACX,CACM,CAAC,EAEP,CAAE,CAAC,CAAEyD,YAAY,EAAEzF,MAAM,IAAI,CAAC,CAAEgG,kBAAkB,CAAChG,MAAM,kBAC1DhB,KAAA,CAACpC,MAAM;MAACsJ,OAAO,EAAG,CAAG;MAAAzF,QAAA,gBACpB7B,IAAA,CAACvB,WAAW,CAACgJ,WAAW;QAACC,KAAK,EAAG;UAAEC,MAAM,EAAE;QAAE,CAAG;QAAA9F,QAAA,EAC7ClD,EAAE,CAAE,QAAS;MAAC,CACQ,CAAC,eAC1BqB,IAAA,CAAChC,MAAM;QACNuC,SAAS,EAAC,mCAAmC;QAC7C+G,OAAO,EAAG,CAAG;QAAAzF,QAAA,eAEbzB,KAAA,CAAC1C,SAAS;UAAC6J,UAAU;UAACC,WAAW;UAAA3F,QAAA,GAC9BuF,kBAAkB,CAAChG,MAAM,GAAG,CAAC,IAC9BgG,kBAAkB,CAACtF,GAAG,CACrB,CAAE;YAAEoB,KAAK;YAAE+D;UAAc,CAAC,KAAM;YAC/B,oBACCjH,IAAA,CAACuE,SAAS;cAETrB,KAAK,EAAGA,KAAO;cACfsB,SAAS,EAAG,KAAO;cACnBI,kBAAkB,EAAGA,CAAA,KAAM;gBAC1B5D,YAAY,CAAE;kBACb,GAAGD,IAAI;kBACP,CAAEkG,aAAa,GAAI;gBACpB,CAAE,CAAC;cACJ,CAAG;cACHtC,OAAO,EAAG;YAAO,GATXzB,KAAK,CAACE,EAUZ,CAAC;UAEJ,CACD,CAAC,EACAyD,YAAY,CAAC/E,GAAG,CAAIoB,KAAK,iBAC1BlD,IAAA,CAAC2F,gBAAgB;YAEhBzC,KAAK,EAAGA,KAAO;YACfnC,IAAI,EAAGA,IAAM;YACbC,YAAY,EAAGA;UAAc,GAHvBkC,KAAK,CAACE,EAIZ,CACA,CAAC;QAAA,CACO;MAAC,CACL,CAAC;IAAA,CACF,CACR;EAAA,CACM,CAAC;AAEX;AAEA,SAASwE,eAAeA,CAAE;EACzBC,KAAK;EACLC,WAAW;EACXjG;AAKD,CAAC,EAAG;EACH,oBACCzB,KAAA,CAACtC,IAAI;IAACiK,OAAO,EAAG,EAAI;IAACxH,SAAS,EAAC,4BAA4B;IAACyH,GAAG,EAAG,CAAG;IAAAnG,QAAA,gBACpEzB,KAAA;MAAKG,SAAS,EAAC,qCAAqC;MAAAsB,QAAA,gBACnD7B,IAAA,CAAC5B,OAAO;QACP6J,KAAK,EAAG,CAAG;QACX1H,SAAS,EAAC,mCAAmC;QAAAsB,QAAA,EAE3CgG;MAAK,CACC,CAAC,EACRC,WAAW,iBACZ9H,IAAA,CAAC1B,IAAI;QACJ4J,OAAO,EAAC,OAAO;QACf3H,SAAS,EAAC,yCAAyC;QAAAsB,QAAA,EAEjDiG;MAAW,CACR,CACN;IAAA,CACG,CAAC,eACN9H,IAAA,CAAClC,IAAI;MACJiK,OAAO,EAAG,CAAG;MACbC,GAAG,EAAG,CAAG;MACTzH,SAAS,EAAC,qCAAqC;MAAAsB,QAAA,EAE7CA;IAAQ,CACL,CAAC;EAAA,CACF,CAAC;AAET;AAEA,SAASsG,2BAA2BA,CAAA,EAAG;EACtC,MAAM;IAAEpH;EAAK,CAAC,GAAGhC,UAAU,CAAEc,gBAAiB,CAAC;EAC/C,MAAMuI,SAAS,GAAG5I,aAAa,CAC9B6I,oBAAoB,EACpB,gCACD,CAAC;EACD,MAAMC,YAAY,GAAG1I,YAAY,CAAC0B,IAAI,CACnCS,MAAM,IAAMA,MAAM,CAACP,IAAI,KAAKT,IAAI,CAACS,IACpC,CAAC;EACD,oBACCxB,IAAA,CAAC/C,QAAQ;IACRsL,cAAc;IACdC,YAAY,EAAG;MACd,GAAGlI,8BAA8B;MACjC8C,EAAE,EAAEgF;IACL,CAAG;IACHK,YAAY,EAAGA,CAAE;MAAEC,QAAQ;MAAEC;IAAO,CAAC,KAAM;MAC1C,oBACC3I,IAAA,CAAClD,MAAM;QACN4E,IAAI,EAAC,SAAS;QACdC,IAAI,EAAGxC,GAAK;QACZyC,KAAK,EAAGhD,EAAE,CAAE,cAAc,EAAE,wBAAyB,CAAG;QACxD8G,OAAO,EAAGgD,QAAU;QACpB,iBAAgBC,MAAM,GAAG,MAAM,GAAG,OAAS;QAC3C,iBAAgBP;MAAW,CAC3B,CAAC;IAEJ,CAAG;IACHQ,aAAa,EAAGA,CAAA,kBACf5I,IAAA,CAAChD,sBAAsB;MACtB6L,WAAW,EAAC,QAAQ;MACpBtI,SAAS,EAAC,2CAA2C;MAAAsB,QAAA,eAErDzB,KAAA,CAACpC,MAAM;QAACuC,SAAS,EAAC,uBAAuB;QAAC+G,OAAO,EAAG,CAAG;QAAAzF,QAAA,gBACtDzB,KAAA,CAACwH,eAAe;UAACC,KAAK,EAAGlJ,EAAE,CAAE,YAAa,CAAG;UAAAkD,QAAA,gBAC5CzB,KAAA,CAAClC,MAAM;YAACoH,QAAQ;YAAC/E,SAAS,EAAC,mBAAmB;YAAAsB,QAAA,gBAC7C7B,IAAA,CAAC6C,gBAAgB,IAAE,CAAC,eACpB7C,IAAA,CAAC0D,oBAAoB,IAAE,CAAC;UAAA,CACjB,CAAC,EACP,CAAC,CAAE4E,YAAY,EAAEQ,iBAAiB,iBACnC9I,IAAA,CAACsI,YAAY,CAACQ,iBAAiB,IAAE,CACjC,eACD9I,IAAA,CAAC8D,mBAAmB,IAAE,CAAC;QAAA,CACP,CAAC,eAClB9D,IAAA,CAAC4H,eAAe;UAACC,KAAK,EAAGlJ,EAAE,CAAE,YAAa,CAAG;UAAAkD,QAAA,eAC5C7B,IAAA,CAACsG,YAAY,IAAE;QAAC,CACA,CAAC;MAAA,CACX;IAAC,CACc;EACtB,CACH,CAAC;AAEJ;AAEA,SAAS+B,oBAAoBA,CAAE;EAC9B1H,cAAc,GAAG;IAAEC,IAAI,EAAE,CAAC,CAAC;IAAEC,IAAI,EAAE,CAAC,CAAC;IAAEC,KAAK,EAAE,CAAC;EAAE;AAGlD,CAAC,EAAG;EACH,oBACCV,KAAA,CAAAF,SAAA;IAAA2B,QAAA,gBACC7B,IAAA,CAACU,YAAY;MAACC,cAAc,EAAGA;IAAgB,CAAE,CAAC,eAClDX,IAAA,CAACmI,2BAA2B,IAAE,CAAC;EAAA,CAC9B,CAAC;AAEL;AAEA,MAAMY,mBAAmB,GAAGjK,IAAI,CAAEuJ,oBAAqB,CAAC;AAExD,eAAeU,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","Icon","__","_x","sprintf","memo","useContext","useMemo","chevronDown","chevronUp","cog","seen","unseen","lock","warning","useInstanceId","SORTING_DIRECTIONS","sortIcons","sortLabels","VIEW_LAYOUTS","DataViewsContext","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Menu","DATAVIEWS_CONFIG_POPOVER_PROPS","className","placement","offset","ViewTypeMenu","defaultLayouts","list","grid","table","view","onChangeView","availableLayouts","Object","keys","length","activeView","find","v","type","children","TriggerButton","render","size","icon","label","Popover","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","viewWithoutLayout","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","showLevels","SortDirectionControl","isBlock","newDirection","PAGE_SIZE_VALUES","ItemsPerPageControl","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","FieldItem","isVisible","isFirst","isLast","canMove","onToggleVisibility","onMoveUp","onMoveDown","focusVisibilityField","setTimeout","element","document","querySelector","HTMLElement","focus","expanded","justify","enableHiding","accessibleWhenDisabled","onClick","RegularFieldItem","index","_view$fields","visibleFieldIds","includes","fieldId","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","isDefined","item","FieldControl","_view$fields2","togglableFields","titleField","mediaField","descriptionField","Boolean","hiddenFields","f","visibleFields","lockedFields","isVisibleFlag","visibleLockedFields","_view$isVisibleFlag","hiddenLockedFields","_view$isVisibleFlag2","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","description","columns","gap","level","variant","DataviewsViewConfigDropdown","popoverId","_DataViewsViewConfig","activeLayout","expandOnMobile","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","viewConfigOptions","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo } from '@wordpress/element';\nimport {\n\tchevronDown,\n\tchevronUp,\n\tcog,\n\tseen,\n\tunseen,\n\tlock,\n} from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { NormalizedField, SupportedLayouts, View } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport { unlock } from '../../lock-unlock';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = {\n\tclassName: 'dataviews-config__popover',\n\tplacement: 'bottom-end',\n\toffset: 9,\n};\n\nfunction ViewTypeMenu( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<Menu>\n\t\t\t<Menu.TriggerButton\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<Menu.Popover>\n\t\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\t\tconst config = VIEW_LAYOUTS.find(\n\t\t\t\t\t\t( v ) => v.type === layout\n\t\t\t\t\t);\n\t\t\t\t\tif ( ! config ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\te: ChangeEvent< HTMLInputElement >\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\t\tconst viewWithoutLayout = { ...view };\n\t\t\t\t\t\t\t\t\t\tif ( 'layout' in viewWithoutLayout ) {\n\t\t\t\t\t\t\t\t\t\t\tdelete viewWithoutLayout.layout;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...viewWithoutLayout,\n\t\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\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\twarning( 'Invalid dataview' );\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>{ config.label }</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t\tshowLevels: false,\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshowLevels: false,\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction ItemsPerPageControl() {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction FieldItem( {\n\tfield,\n\tisVisible,\n\tisFirst,\n\tisLast,\n\tcanMove = true,\n\tonToggleVisibility,\n\tonMoveUp,\n\tonMoveDown,\n}: {\n\tfield: NormalizedField< any >;\n\tisVisible: boolean;\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tcanMove?: boolean;\n\tonToggleVisibility?: () => void;\n\tonMoveUp?: () => void;\n\tonMoveDown?: () => void;\n} ) {\n\tconst focusVisibilityField = () => {\n\t\t// Focus the visibility button to avoid focus loss.\n\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tconst element = document.querySelector(\n\t\t\t\t`.dataviews-field-control__field-${ field.id } .dataviews-field-control__field-visibility-button`\n\t\t\t);\n\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 50 );\n\t};\n\n\treturn (\n\t\t<Item>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ `dataviews-field-control__field dataviews-field-control__field-${ field.id }` }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<span className=\"dataviews-field-control__icon\">\n\t\t\t\t\t{ ! canMove && ! field.enableHiding && (\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<span className=\"dataviews-field-control__label\">\n\t\t\t\t\t{ field.label }\n\t\t\t\t</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isFirst || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveUp }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisFirst || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved up\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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<Button\n\t\t\t\t\t\t\t\tdisabled={ isLast || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveDown }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisLast || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved down\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ onToggleVisibility && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\t\tdisabled={ ! field.enableHiding }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonToggleVisibility();\n\t\t\t\t\t\t\t\tfocusVisibilityField();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Hide %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Show %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction RegularFieldItem( {\n\tindex,\n\tfield,\n\tview,\n\tonChangeView,\n}: {\n\tindex?: number;\n\tfield: NormalizedField< any >;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst isVisible =\n\t\tindex !== undefined && visibleFieldIds.includes( field.id );\n\n\treturn (\n\t\t<FieldItem\n\t\t\tfield={ field }\n\t\t\tisVisible={ isVisible }\n\t\t\tisFirst={ index !== undefined && index < 1 }\n\t\t\tisLast={\n\t\t\t\tindex !== undefined && index === visibleFieldIds.length - 1\n\t\t\t}\n\t\t\tonToggleVisibility={ () => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tfields: isVisible\n\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== field.id\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [ ...visibleFieldIds, field.id ],\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonMoveUp={\n\t\t\t\tindex !== undefined\n\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 1 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonMoveDown={\n\t\t\t\tindex !== undefined\n\t\t\t\t\t? () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice( 0, index ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice( index + 2 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst togglableFields = [\n\t\tview?.titleField,\n\t\tview?.mediaField,\n\t\tview?.descriptionField,\n\t].filter( Boolean );\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst hiddenFields = fields.filter(\n\t\t( f ) =>\n\t\t\t! visibleFieldIds.includes( f.id ) &&\n\t\t\t! togglableFields.includes( f.id )\n\t);\n\tconst visibleFields = visibleFieldIds\n\t\t.map( ( fieldId ) => fields.find( ( f ) => f.id === fieldId ) )\n\t\t.filter( isDefined );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\tconst titleField = fields.find( ( f ) => f.id === view.titleField );\n\tconst mediaField = fields.find( ( f ) => f.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( f ) => f.id === view.descriptionField\n\t);\n\tconst lockedFields = [\n\t\t{\n\t\t\tfield: titleField,\n\t\t\tisVisibleFlag: 'showTitle',\n\t\t},\n\t\t{\n\t\t\tfield: mediaField,\n\t\t\tisVisibleFlag: 'showMedia',\n\t\t},\n\t\t{\n\t\t\tfield: descriptionField,\n\t\t\tisVisibleFlag: 'showDescription',\n\t\t},\n\t].filter( ( { field } ) => isDefined( field ) );\n\tconst visibleLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ( view[ isVisibleFlag ] ?? true )\n\t) as Array< { field: NormalizedField< any >; isVisibleFlag: string } >;\n\tconst hiddenLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ! ( view[ isVisibleFlag ] ?? true )\n\t) as Array< { field: NormalizedField< any >; isVisibleFlag: string } >;\n\n\treturn (\n\t\t<VStack className=\"dataviews-field-control\" spacing={ 6 }>\n\t\t\t<VStack className=\"dataviews-view-config__properties\" spacing={ 0 }>\n\t\t\t\t{ ( visibleLockedFields.length > 0 ||\n\t\t\t\t\t!! visibleFields?.length ) && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ visibleLockedFields.map(\n\t\t\t\t\t\t\t( { field, isVisibleFlag } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\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\t[ isVisibleFlag ]: false,\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\tcanMove={ false }\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\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\tindex={ index }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\n\t\t\t{ ( !! hiddenFields?.length || !! hiddenLockedFields.length ) && (\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-config__properties\"\n\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenLockedFields.length > 0 &&\n\t\t\t\t\t\t\t\thiddenLockedFields.map(\n\t\t\t\t\t\t\t\t\t( { field, isVisibleFlag } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t\tisVisible={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\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\t\t\t[ isVisibleFlag ]: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\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{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nfunction DataviewsViewConfigDropdown() {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\tconst activeLayout = VIEW_LAYOUTS.find(\n\t\t( layout ) => layout.type === view.type\n\t);\n\treturn (\n\t\t<Dropdown\n\t\t\texpandOnMobile\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"dataviews-config__popover-content-wrapper\"\n\t\t\t\t>\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ !! activeLayout?.viewConfigOptions && (\n\t\t\t\t\t\t\t\t<activeLayout.viewConfigOptions />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig( {\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: {\n\tdefaultLayouts?: SupportedLayouts;\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu defaultLayouts={ defaultLayouts } />\n\t\t\t<DataviewsViewConfigDropdown />\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
@@ -7,19 +7,23 @@ import clsx from 'clsx';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { __experimentalGrid as Grid, __experimentalHStack as HStack, __experimentalVStack as VStack, Spinner, Flex, FlexItem } from '@wordpress/components';
10
+ import { __experimentalGrid as Grid, __experimentalHStack as HStack, __experimentalVStack as VStack, Spinner, Flex, FlexItem, privateApis as componentsPrivateApis } from '@wordpress/components';
11
11
  import { __ } from '@wordpress/i18n';
12
12
  import { useInstanceId } from '@wordpress/compose';
13
13
 
14
14
  /**
15
15
  * Internal dependencies
16
16
  */
17
+ import { unlock } from '../../lock-unlock';
17
18
  import ItemActions from '../../components/dataviews-item-actions';
18
19
  import DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';
19
- import { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';
20
+ import { useHasAPossibleBulkAction, useSomeItemHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';
20
21
  import getClickableItemProps from '../utils/get-clickable-item-props';
21
22
  import { useUpdatedPreviewSizeOnViewportChange } from './preview-size-picker';
22
23
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
24
+ const {
25
+ Badge
26
+ } = unlock(componentsPrivateApis);
23
27
  function GridItem({
24
28
  view,
25
29
  selection,
@@ -33,7 +37,8 @@ function GridItem({
33
37
  titleField,
34
38
  descriptionField,
35
39
  regularFields,
36
- badgeFields
40
+ badgeFields,
41
+ hasBulkActions
37
42
  }) {
38
43
  const {
39
44
  showTitle = true,
@@ -97,7 +102,7 @@ function GridItem({
97
102
  ...clickableMediaItemProps,
98
103
  ...mediaA11yProps,
99
104
  children: renderedMediaField
100
- }), showMedia && renderedMediaField && /*#__PURE__*/_jsx(DataViewsSelectionCheckbox, {
105
+ }), hasBulkActions && showMedia && renderedMediaField && /*#__PURE__*/_jsx(DataViewsSelectionCheckbox, {
101
106
  item: item,
102
107
  selection: selection,
103
108
  onChangeSelection: onChangeSelection,
@@ -111,7 +116,7 @@ function GridItem({
111
116
  ...clickableTitleItemProps,
112
117
  ...titleA11yProps,
113
118
  children: renderedTitleField
114
- }), /*#__PURE__*/_jsx(ItemActions, {
119
+ }), !!actions?.length && /*#__PURE__*/_jsx(ItemActions, {
115
120
  item: item,
116
121
  actions: actions,
117
122
  isCompact: true
@@ -127,7 +132,7 @@ function GridItem({
127
132
  alignment: "top",
128
133
  justify: "flex-start",
129
134
  children: badgeFields.map(field => {
130
- return /*#__PURE__*/_jsx(FlexItem, {
135
+ return /*#__PURE__*/_jsx(Badge, {
131
136
  className: "dataviews-view-grid__field-value",
132
137
  children: /*#__PURE__*/_jsx(field.render, {
133
138
  item: item
@@ -203,6 +208,7 @@ export default function ViewGrid({
203
208
  });
204
209
  const hasData = !!data?.length;
205
210
  const updatedPreviewSize = useUpdatedPreviewSizeOnViewportChange();
211
+ const hasBulkActions = useSomeItemHasAPossibleBulkAction(actions, data);
206
212
  const usedPreviewSize = updatedPreviewSize || view.layout?.previewSize;
207
213
  const gridStyle = usedPreviewSize ? {
208
214
  gridTemplateColumns: `repeat(${usedPreviewSize}, minmax(0, 1fr))`
@@ -229,7 +235,8 @@ export default function ViewGrid({
229
235
  titleField: titleField,
230
236
  descriptionField: descriptionField,
231
237
  regularFields: regularFields,
232
- badgeFields: badgeFields
238
+ badgeFields: badgeFields,
239
+ hasBulkActions: hasBulkActions
233
240
  }, getItemId(item));
234
241
  })
235
242
  }), !hasData && /*#__PURE__*/_jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Spinner","Flex","FlexItem","__","useInstanceId","ItemActions","DataViewsSelectionCheckbox","useHasAPossibleBulkAction","getClickableItemProps","useUpdatedPreviewSizeOnViewportChange","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GridItem","view","selection","onChangeSelection","onClickItem","isItemClickable","getItemId","item","actions","mediaField","titleField","descriptionField","regularFields","badgeFields","showTitle","showMedia","showDescription","hasBulkAction","id","instanceId","isSelected","includes","renderedMediaField","render","renderedTitleField","clickableMediaItemProps","className","clickableTitleItemProps","mediaA11yProps","titleA11yProps","spacing","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","disabled","justify","isCompact","length","wrap","alignment","map","field","gap","expanded","style","height","direction","header","maxHeight","ViewGrid","data","fields","isLoading","_view$fields","find","otherFields","reduce","accumulator","fieldId","f","key","layout","push","hasData","updatedPreviewSize","usedPreviewSize","previewSize","gridStyle","gridTemplateColumns","columns"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from '../../components/dataviews-item-actions';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewGrid as ViewGridType,\n\tViewGridProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport getClickableItemProps from '../utils/get-clickable-item-props';\nimport { useUpdatedPreviewSizeOnViewportChange } from './preview-size-picker';\n\ninterface GridItemProps< Item > {\n\tview: ViewGridType;\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\tonClickItem?: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tregularFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n}\n\nfunction GridItem< Item >( {\n\tview,\n\tselection,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\ttitleField,\n\tdescriptionField,\n\tregularFields,\n\tbadgeFields,\n}: GridItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst instanceId = useInstanceId( GridItem );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } />\n\t\t) : null;\n\n\tconst clickableMediaItemProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName: 'dataviews-view-grid__media',\n\t} );\n\n\tconst clickableTitleItemProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName: 'dataviews-view-grid__title-field dataviews-title-field',\n\t} );\n\n\tlet mediaA11yProps;\n\tlet titleA11yProps;\n\tif ( isItemClickable( item ) && onClickItem ) {\n\t\tif ( renderedTitleField ) {\n\t\t\tmediaA11yProps = {\n\t\t\t\t'aria-labelledby': `dataviews-view-grid__title-field-${ instanceId }`,\n\t\t\t};\n\t\t\ttitleA11yProps = {\n\t\t\t\tid: `dataviews-view-grid__title-field-${ instanceId }`,\n\t\t\t};\n\t\t} else {\n\t\t\tmediaA11yProps = {\n\t\t\t\t'aria-label': __( 'Navigate to item' ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<div { ...clickableMediaItemProps } { ...mediaA11yProps }>\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<div { ...clickableTitleItemProps } { ...titleA11yProps }>\n\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t</div>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t) }\n\t\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\twrap\n\t\t\t\t\t\talignment=\"top\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t\t{ !! regularFields?.length && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__fields\"\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ regularFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field\"\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\t\tdirection=\"row\"\n\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<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tselection,\n\tview,\n}: ViewGridProps< Item > ) {\n\tconst titleField = fields.find(\n\t\t( field ) => field.id === view?.titleField\n\t);\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view?.mediaField\n\t);\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view?.descriptionField\n\t);\n\tconst otherFields = view.fields ?? [];\n\tconst { regularFields, badgeFields } = otherFields.reduce(\n\t\t(\n\t\t\taccumulator: Record< string, NormalizedField< Item >[] >,\n\t\t\tfieldId\n\t\t) => {\n\t\t\tconst field = fields.find( ( f ) => f.id === fieldId );\n\t\t\tif ( ! field ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( fieldId )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'regularFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ regularFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst updatedPreviewSize = useUpdatedPreviewSizeOnViewportChange();\n\tconst usedPreviewSize = updatedPreviewSize || view.layout?.previewSize;\n\tconst gridStyle = usedPreviewSize\n\t\t? {\n\t\t\t\tgridTemplateColumns: `repeat(${ usedPreviewSize }, minmax(0, 1fr))`,\n\t\t }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tregularFields={ regularFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Spinner","Flex","FlexItem","privateApis","componentsPrivateApis","__","useInstanceId","unlock","ItemActions","DataViewsSelectionCheckbox","useHasAPossibleBulkAction","useSomeItemHasAPossibleBulkAction","getClickableItemProps","useUpdatedPreviewSizeOnViewportChange","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Badge","GridItem","view","selection","onChangeSelection","onClickItem","isItemClickable","getItemId","item","actions","mediaField","titleField","descriptionField","regularFields","badgeFields","hasBulkActions","showTitle","showMedia","showDescription","hasBulkAction","id","instanceId","isSelected","includes","renderedMediaField","render","renderedTitleField","clickableMediaItemProps","className","clickableTitleItemProps","mediaA11yProps","titleA11yProps","spacing","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","disabled","justify","length","isCompact","wrap","alignment","map","field","gap","expanded","style","height","direction","header","maxHeight","ViewGrid","data","fields","isLoading","_view$fields","find","otherFields","reduce","accumulator","fieldId","f","key","layout","push","hasData","updatedPreviewSize","usedPreviewSize","previewSize","gridStyle","gridTemplateColumns","columns"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport {\n\tuseHasAPossibleBulkAction,\n\tuseSomeItemHasAPossibleBulkAction,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewGrid as ViewGridType,\n\tViewGridProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport getClickableItemProps from '../utils/get-clickable-item-props';\nimport { useUpdatedPreviewSizeOnViewportChange } from './preview-size-picker';\nconst { Badge } = unlock( componentsPrivateApis );\n\ninterface GridItemProps< Item > {\n\tview: ViewGridType;\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\tonClickItem?: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tregularFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\thasBulkActions: boolean;\n}\n\nfunction GridItem< Item >( {\n\tview,\n\tselection,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\ttitleField,\n\tdescriptionField,\n\tregularFields,\n\tbadgeFields,\n\thasBulkActions,\n}: GridItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst instanceId = useInstanceId( GridItem );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } />\n\t\t) : null;\n\n\tconst clickableMediaItemProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName: 'dataviews-view-grid__media',\n\t} );\n\n\tconst clickableTitleItemProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName: 'dataviews-view-grid__title-field dataviews-title-field',\n\t} );\n\n\tlet mediaA11yProps;\n\tlet titleA11yProps;\n\tif ( isItemClickable( item ) && onClickItem ) {\n\t\tif ( renderedTitleField ) {\n\t\t\tmediaA11yProps = {\n\t\t\t\t'aria-labelledby': `dataviews-view-grid__title-field-${ instanceId }`,\n\t\t\t};\n\t\t\ttitleA11yProps = {\n\t\t\t\tid: `dataviews-view-grid__title-field-${ instanceId }`,\n\t\t\t};\n\t\t} else {\n\t\t\tmediaA11yProps = {\n\t\t\t\t'aria-label': __( 'Navigate to item' ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<div { ...clickableMediaItemProps } { ...mediaA11yProps }>\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasBulkActions && showMedia && renderedMediaField && (\n\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<div { ...clickableTitleItemProps } { ...titleA11yProps }>\n\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t</div>\n\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t) }\n\t\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\twrap\n\t\t\t\t\t\talignment=\"top\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t\t{ !! regularFields?.length && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__fields\"\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ regularFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field\"\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\t\tdirection=\"row\"\n\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<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tselection,\n\tview,\n}: ViewGridProps< Item > ) {\n\tconst titleField = fields.find(\n\t\t( field ) => field.id === view?.titleField\n\t);\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view?.mediaField\n\t);\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view?.descriptionField\n\t);\n\tconst otherFields = view.fields ?? [];\n\tconst { regularFields, badgeFields } = otherFields.reduce(\n\t\t(\n\t\t\taccumulator: Record< string, NormalizedField< Item >[] >,\n\t\t\tfieldId\n\t\t) => {\n\t\t\tconst field = fields.find( ( f ) => f.id === fieldId );\n\t\t\tif ( ! field ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( fieldId )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'regularFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ regularFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst updatedPreviewSize = useUpdatedPreviewSizeOnViewportChange();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\tconst usedPreviewSize = updatedPreviewSize || view.layout?.previewSize;\n\tconst gridStyle = usedPreviewSize\n\t\t? {\n\t\t\t\tgridTemplateColumns: `repeat(${ usedPreviewSize }, minmax(0, 1fr))`,\n\t\t }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tregularFields={ regularFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}