@wordpress/dataviews 4.11.1 → 4.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +1 -1
  3. package/build/components/dataviews-selection-checkbox/index.js +6 -10
  4. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  5. package/build/components/dataviews-view-config/index.js +115 -13
  6. package/build/components/dataviews-view-config/index.js.map +1 -1
  7. package/build/dataviews-layouts/table/index.js +2 -2
  8. package/build/dataviews-layouts/table/index.js.map +1 -1
  9. package/build/field-types/integer.js +1 -1
  10. package/build/field-types/integer.js.map +1 -1
  11. package/build/types.js.map +1 -1
  12. package/build-module/components/dataviews-selection-checkbox/index.js +6 -10
  13. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  14. package/build-module/components/dataviews-view-config/index.js +118 -15
  15. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  16. package/build-module/dataviews-layouts/table/index.js +2 -2
  17. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  18. package/build-module/field-types/integer.js +1 -1
  19. package/build-module/field-types/integer.js.map +1 -1
  20. package/build-module/types.js.map +1 -1
  21. package/build-style/style-rtl.css +25 -22
  22. package/build-style/style.css +25 -22
  23. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
  24. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  25. package/build-types/types.d.ts +1 -1
  26. package/build-types/types.d.ts.map +1 -1
  27. package/build-wp/index.js +338 -181
  28. package/package.json +11 -11
  29. package/src/components/dataviews/style.scss +8 -4
  30. package/src/components/dataviews-footer/style.scss +5 -2
  31. package/src/components/dataviews-selection-checkbox/index.tsx +6 -15
  32. package/src/components/dataviews-view-config/index.tsx +176 -36
  33. package/src/components/dataviews-view-config/style.scss +15 -2
  34. package/src/dataviews-layouts/grid/style.scss +3 -2
  35. package/src/dataviews-layouts/table/index.tsx +2 -2
  36. package/src/field-types/integer.tsx +1 -1
  37. package/src/types.ts +1 -1
  38. package/tsconfig.tsbuildinfo +1 -1
@@ -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","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":[]}
1
+ {"version":3,"names":["clsx","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","useState","chevronDown","chevronUp","cog","seen","unseen","lock","moreVertical","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","PreviewOptions","previewOptions","onChangePreviewOption","onMenuOpenChange","activeOption","focusPreviewOptionsField","setTimeout","element","document","querySelector","HTMLElement","focus","onOpenChange","FieldItem","description","isVisible","isFirst","isLast","canMove","onToggleVisibility","onMoveUp","onMoveDown","isChangingPreviewOption","setIsChangingPreviewOption","focusVisibilityField","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","previewField","previewFields","previewFieldUI","_view$showMedia","isPreviewFieldVisible","showMedia","newPreviewId","lockedFields","isVisibleFlag","ui","visibleLockedFields","_view$isVisibleFlag","hiddenLockedFields","_view$isVisibleFlag2","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","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, ReactNode } from 'react';\nimport clsx from 'clsx';\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, useState } from '@wordpress/element';\nimport {\n\tchevronDown,\n\tchevronUp,\n\tcog,\n\tseen,\n\tunseen,\n\tlock,\n\tmoreVertical,\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 PreviewOptions( {\n\tpreviewOptions,\n\tonChangePreviewOption,\n\tonMenuOpenChange,\n\tactiveOption,\n}: {\n\tpreviewOptions?: Array< { label: string; id: string } >;\n\tonChangePreviewOption?: ( newPreviewOption: string ) => void;\n\tonMenuOpenChange: ( isOpen: boolean ) => void;\n\tactiveOption?: string;\n} ) {\n\tconst focusPreviewOptionsField = ( id: string ) => {\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-${ id } .dataviews-field-control__field-preview-options-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\treturn (\n\t\t<Menu onOpenChange={ onMenuOpenChange }>\n\t\t\t<Menu.TriggerButton\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-field-control__field-preview-options-button\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Preview' ) }\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{ previewOptions?.map( ( { id, label } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\t\tchecked={ id === activeOption }\n\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\tonChangePreviewOption?.( id );\n\t\t\t\t\t\t\t\tfocusPreviewOptionsField( id );\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>{ 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}\nfunction FieldItem( {\n\tfield,\n\tlabel,\n\tdescription,\n\tisVisible,\n\tisFirst,\n\tisLast,\n\tcanMove = true,\n\tonToggleVisibility,\n\tonMoveUp,\n\tonMoveDown,\n\tpreviewOptions,\n\tonChangePreviewOption,\n}: {\n\tfield: NormalizedField< any >;\n\tlabel?: string;\n\tdescription?: string;\n\tisVisible: boolean;\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tcanMove?: boolean;\n\tonToggleVisibility?: () => void;\n\tonMoveUp?: () => void;\n\tonMoveDown?: () => void;\n\tpreviewOptions?: Array< { label: string; id: string } >;\n\tonChangePreviewOption?: ( newPreviewOption: string ) => void;\n} ) {\n\tconst [ isChangingPreviewOption, setIsChangingPreviewOption ] =\n\t\tuseState< boolean >( false );\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={ clsx(\n\t\t\t\t\t'dataviews-field-control__field',\n\t\t\t\t\t`dataviews-field-control__field-${ field.id }`,\n\t\t\t\t\t// The actions are hidden when the mouse is not hovering the item, or focus\n\t\t\t\t\t// is outside the item.\n\t\t\t\t\t// For actions that require a popover, a menu etc, that would mean that when the interactive element\n\t\t\t\t\t// opens and the focus goes there the actions would be hidden.\n\t\t\t\t\t// To avoid that we add a class to the item, that makes sure actions are visible while there is some\n\t\t\t\t\t// interaction with the item.\n\t\t\t\t\t{ 'is-interacting': isChangingPreviewOption }\n\t\t\t\t) }\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-sub-label-container\">\n\t\t\t\t\t<span className=\"dataviews-field-control__label\">\n\t\t\t\t\t\t{ label || field.label }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<span className=\"dataviews-field-control__sub-label\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\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\t{ previewOptions && (\n\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\tpreviewOptions={ previewOptions }\n\t\t\t\t\t\t\tonChangePreviewOption={ onChangePreviewOption }\n\t\t\t\t\t\t\tonMenuOpenChange={ setIsChangingPreviewOption }\n\t\t\t\t\t\t\tactiveOption={ field.id }\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\t\tf.type !== 'media'\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 previewField = fields.find( ( f ) => f.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( f ) => f.id === view.descriptionField\n\t);\n\n\tconst previewFields = fields.filter( ( f ) => f.type === 'media' );\n\n\tlet previewFieldUI;\n\tif ( previewFields.length > 1 ) {\n\t\tconst isPreviewFieldVisible =\n\t\t\tisDefined( previewField ) && ( view.showMedia ?? true );\n\t\tpreviewFieldUI = isDefined( previewField ) && (\n\t\t\t<FieldItem\n\t\t\t\tkey={ previewField.id }\n\t\t\t\tfield={ previewField }\n\t\t\t\tlabel={ __( 'Preview' ) }\n\t\t\t\tdescription={ previewField.label }\n\t\t\t\tisVisible={ isPreviewFieldVisible }\n\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tshowMedia: ! isPreviewFieldVisible,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tcanMove={ false }\n\t\t\t\tpreviewOptions={ previewFields.map( ( field ) => ( {\n\t\t\t\t\tlabel: field.label,\n\t\t\t\t\tid: field.id,\n\t\t\t\t} ) ) }\n\t\t\t\tonChangePreviewOption={ ( newPreviewId ) =>\n\t\t\t\t\tonChangeView( { ...view, mediaField: newPreviewId } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\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: previewField,\n\t\t\tisVisibleFlag: 'showMedia',\n\t\t\tui: previewFieldUI,\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< {\n\t\tfield: NormalizedField< any >;\n\t\tisVisibleFlag: string;\n\t\tui?: ReactNode;\n\t} >;\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< {\n\t\tfield: NormalizedField< any >;\n\t\tisVisibleFlag: string;\n\t\tui?: ReactNode;\n\t} >;\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, ui } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tui ?? (\n\t\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\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...view,\n\t\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\t} );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\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, ui } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\tui ?? (\n\t\t\t\t\t\t\t\t\t\t\t\t<FieldItem\n\t\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\t\tfield={ field }\n\t\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\t\tonToggleVisibility={ () => {\n\t\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\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ isVisibleFlag ]:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\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\t} }\n\t\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\t/>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\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":[]}
@@ -123,7 +123,7 @@ function TableRow({
123
123
  })
124
124
  }), columns.map(column => {
125
125
  var _view$layout$styles$c;
126
- // Explicits picks the supported styles.
126
+ // Explicit picks the supported styles.
127
127
  const {
128
128
  width,
129
129
  maxWidth,
@@ -262,7 +262,7 @@ function ViewTable({
262
262
  })
263
263
  }), columns.map((column, index) => {
264
264
  var _view$layout$styles$c2;
265
- // Explicits picks the supported styles.
265
+ // Explicit picks the supported styles.
266
266
  const {
267
267
  width,
268
268
  maxWidth,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","Spinner","useEffect","useId","useRef","useState","DataViewsSelectionCheckbox","ItemActions","sortValues","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","BulkSelectionCheckbox","ColumnHeaderMenu","ColumnPrimary","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableColumnField","item","fields","column","field","find","f","id","className","children","render","TableRow","hasBulkActions","level","actions","view","titleField","mediaField","descriptionField","selection","getItemId","isItemClickable","onClickItem","onChangeSelection","_view$fields","hasPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","showTitle","showMedia","showDescription","handleMouseEnter","handleMouseLeave","isTouchDeviceRef","columns","hasPrimaryColumn","onMouseEnter","onMouseLeave","onTouchStart","current","onClick","document","getSelection","type","filter","itemId","style","width","disabled","undefined","map","_view$layout$styles$c","maxWidth","minWidth","layout","styles","length","e","stopPropagation","ViewTable","data","getItemLevel","isLoading","onChangeView","setOpenedFilter","_view$fields2","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","onHide","hidden","get","fallback","node","hasData","headerMenuRef","index","set","delete","density","scope","ref","fieldId","canMove","_view$layout$styles$c2","sort","direction","showLevels","toString"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport { useEffect, useId, useRef, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n\tBulkSelectionCheckbox,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport ColumnHeaderMenu from './column-header-menu';\nimport ColumnPrimary from './column-primary';\n\ninterface TableColumnFieldProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tcolumn: string;\n\titem: Item;\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tlevel?: number;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n}\n\nfunction TableColumnField< Item >( {\n\titem,\n\tfields,\n\tcolumn,\n}: TableColumnFieldProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t<field.render { ...{ item } } />\n\t\t</div>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tlevel,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tselection,\n\tgetItemId,\n\tisItemClickable,\n\tonClickItem,\n\tonChangeSelection,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDeviceRef = useRef( false );\n\tconst columns = view.fields ?? [];\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDeviceRef.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDeviceRef.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t<td>\n\t\t\t\t\t<ColumnPrimary\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\ttitleField={ showTitle ? titleField : undefined }\n\t\t\t\t\t\tmediaField={ showMedia ? mediaField : undefined }\n\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\tshowDescription ? descriptionField : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t/>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicits picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td key={ column } style={ { width, maxWidth, minWidth } }>\n\t\t\t\t\t\t<TableColumnField\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tgetItemLevel,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tonClickItem,\n\tisItemClickable,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst hasData = !! data?.length;\n\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\tconst columns = view.fields ?? [];\n\tconst headerMenuRef =\n\t\t( column: string, index: number ) => ( node: HTMLButtonElement ) => {\n\t\t\tif ( node ) {\n\t\t\t\theaderMenuRefs.current.set( column, {\n\t\t\t\t\tnode,\n\t\t\t\t\tfallback: columns[ index > 0 ? index - 1 : 1 ],\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\theaderMenuRefs.current.delete( column );\n\t\t\t}\n\t\t};\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName={ clsx( 'dataviews-view-table', {\n\t\t\t\t\t[ `has-${ view.layout?.density }-density` ]:\n\t\t\t\t\t\tview.layout?.density &&\n\t\t\t\t\t\t[ 'compact', 'comfortable' ].includes(\n\t\t\t\t\t\t\tview.layout.density\n\t\t\t\t\t\t),\n\t\t\t\t} ) }\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ titleField && (\n\t\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef(\n\t\t\t\t\t\t\t\t\t\t\t\ttitleField.id,\n\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tfieldId={ titleField.id }\n\t\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicits picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ { width, maxWidth, minWidth } }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.direction &&\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef( column, index ) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tlevel={\n\t\t\t\t\t\t\t\t\tview.showLevels &&\n\t\t\t\t\t\t\t\t\ttypeof getItemLevel === 'function'\n\t\t\t\t\t\t\t\t\t\t? getItemLevel( item )\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","Spinner","useEffect","useId","useRef","useState","DataViewsSelectionCheckbox","ItemActions","sortValues","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","BulkSelectionCheckbox","ColumnHeaderMenu","ColumnPrimary","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableColumnField","item","fields","column","field","find","f","id","className","children","render","TableRow","hasBulkActions","level","actions","view","titleField","mediaField","descriptionField","selection","getItemId","isItemClickable","onClickItem","onChangeSelection","_view$fields","hasPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","showTitle","showMedia","showDescription","handleMouseEnter","handleMouseLeave","isTouchDeviceRef","columns","hasPrimaryColumn","onMouseEnter","onMouseLeave","onTouchStart","current","onClick","document","getSelection","type","filter","itemId","style","width","disabled","undefined","map","_view$layout$styles$c","maxWidth","minWidth","layout","styles","length","e","stopPropagation","ViewTable","data","getItemLevel","isLoading","onChangeView","setOpenedFilter","_view$fields2","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","onHide","hidden","get","fallback","node","hasData","headerMenuRef","index","set","delete","density","scope","ref","fieldId","canMove","_view$layout$styles$c2","sort","direction","showLevels","toString"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Spinner } from '@wordpress/components';\nimport { useEffect, useId, useRef, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n\tBulkSelectionCheckbox,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport ColumnHeaderMenu from './column-header-menu';\nimport ColumnPrimary from './column-primary';\n\ninterface TableColumnFieldProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tcolumn: string;\n\titem: Item;\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tlevel?: number;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n\tisItemClickable: ( item: Item ) => boolean;\n\tonClickItem?: ( item: Item ) => void;\n}\n\nfunction TableColumnField< Item >( {\n\titem,\n\tfields,\n\tcolumn,\n}: TableColumnFieldProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t<field.render { ...{ item } } />\n\t\t</div>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tlevel,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tselection,\n\tgetItemId,\n\tisItemClickable,\n\tonClickItem,\n\tonChangeSelection,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDeviceRef = useRef( false );\n\tconst columns = view.fields ?? [];\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDeviceRef.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDeviceRef.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t<td>\n\t\t\t\t\t<ColumnPrimary\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\ttitleField={ showTitle ? titleField : undefined }\n\t\t\t\t\t\tmediaField={ showMedia ? mediaField : undefined }\n\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\tshowDescription ? descriptionField : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t/>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td key={ column } style={ { width, maxWidth, minWidth } }>\n\t\t\t\t\t\t<TableColumnField\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tgetItemLevel,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tonClickItem,\n\tisItemClickable,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst hasData = !! data?.length;\n\n\tconst titleField = fields.find( ( field ) => field.id === view.titleField );\n\tconst mediaField = fields.find( ( field ) => field.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view.descriptionField\n\t);\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasPrimaryColumn =\n\t\t( titleField && showTitle ) ||\n\t\t( mediaField && showMedia ) ||\n\t\t( descriptionField && showDescription );\n\tconst columns = view.fields ?? [];\n\tconst headerMenuRef =\n\t\t( column: string, index: number ) => ( node: HTMLButtonElement ) => {\n\t\t\tif ( node ) {\n\t\t\t\theaderMenuRefs.current.set( column, {\n\t\t\t\t\tnode,\n\t\t\t\t\tfallback: columns[ index > 0 ? index - 1 : 1 ],\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\theaderMenuRefs.current.delete( column );\n\t\t\t}\n\t\t};\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName={ clsx( 'dataviews-view-table', {\n\t\t\t\t\t[ `has-${ view.layout?.density }-density` ]:\n\t\t\t\t\t\tview.layout?.density &&\n\t\t\t\t\t\t[ 'compact', 'comfortable' ].includes(\n\t\t\t\t\t\t\tview.layout.density\n\t\t\t\t\t\t),\n\t\t\t\t} ) }\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasPrimaryColumn && (\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ titleField && (\n\t\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef(\n\t\t\t\t\t\t\t\t\t\t\t\ttitleField.id,\n\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tfieldId={ titleField.id }\n\t\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t\t\tcanMove={ false }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicit picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ { width, maxWidth, minWidth } }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.direction &&\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ headerMenuRef( column, index ) }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tlevel={\n\t\t\t\t\t\t\t\t\tview.showLevels &&\n\t\t\t\t\t\t\t\t\ttypeof getItemLevel === 'function'\n\t\t\t\t\t\t\t\t\t\t? getItemLevel( item )\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ function sort(a, b, direction) {
6
6
  return direction === 'asc' ? a - b : b - a;
7
7
  }
8
8
  function isValid(value, context) {
9
- // TODO: this implicitely means the value is required.
9
+ // TODO: this implicitly means the value is required.
10
10
  if (value === '') {
11
11
  return false;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"names":["sort","a","b","direction","isValid","value","context","Number","isInteger","elements","validValues","map","f","includes","Edit"],"sources":["@wordpress/dataviews/src/field-types/integer.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { SortDirection, ValidationContext } from '../types';\n\nfunction sort( a: any, b: any, direction: SortDirection ) {\n\treturn direction === 'asc' ? a - b : b - a;\n}\n\nfunction isValid( value: any, context?: ValidationContext ) {\n\t// TODO: this implicitely means the value is required.\n\tif ( value === '' ) {\n\t\treturn false;\n\t}\n\n\tif ( ! Number.isInteger( Number( value ) ) ) {\n\t\treturn false;\n\t}\n\n\tif ( context?.elements ) {\n\t\tconst validValues = context?.elements.map( ( f ) => f.value );\n\t\tif ( ! validValues.includes( Number( value ) ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nexport default {\n\tsort,\n\tisValid,\n\tEdit: 'integer',\n};\n"],"mappings":"AAAA;AACA;AACA;;AAGA,SAASA,IAAIA,CAAEC,CAAM,EAAEC,CAAM,EAAEC,SAAwB,EAAG;EACzD,OAAOA,SAAS,KAAK,KAAK,GAAGF,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGD,CAAC;AAC3C;AAEA,SAASG,OAAOA,CAAEC,KAAU,EAAEC,OAA2B,EAAG;EAC3D;EACA,IAAKD,KAAK,KAAK,EAAE,EAAG;IACnB,OAAO,KAAK;EACb;EAEA,IAAK,CAAEE,MAAM,CAACC,SAAS,CAAED,MAAM,CAAEF,KAAM,CAAE,CAAC,EAAG;IAC5C,OAAO,KAAK;EACb;EAEA,IAAKC,OAAO,EAAEG,QAAQ,EAAG;IACxB,MAAMC,WAAW,GAAGJ,OAAO,EAAEG,QAAQ,CAACE,GAAG,CAAIC,CAAC,IAAMA,CAAC,CAACP,KAAM,CAAC;IAC7D,IAAK,CAAEK,WAAW,CAACG,QAAQ,CAAEN,MAAM,CAAEF,KAAM,CAAE,CAAC,EAAG;MAChD,OAAO,KAAK;IACb;EACD;EAEA,OAAO,IAAI;AACZ;AAEA,eAAe;EACdL,IAAI;EACJI,OAAO;EACPU,IAAI,EAAE;AACP,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["sort","a","b","direction","isValid","value","context","Number","isInteger","elements","validValues","map","f","includes","Edit"],"sources":["@wordpress/dataviews/src/field-types/integer.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { SortDirection, ValidationContext } from '../types';\n\nfunction sort( a: any, b: any, direction: SortDirection ) {\n\treturn direction === 'asc' ? a - b : b - a;\n}\n\nfunction isValid( value: any, context?: ValidationContext ) {\n\t// TODO: this implicitly means the value is required.\n\tif ( value === '' ) {\n\t\treturn false;\n\t}\n\n\tif ( ! Number.isInteger( Number( value ) ) ) {\n\t\treturn false;\n\t}\n\n\tif ( context?.elements ) {\n\t\tconst validValues = context?.elements.map( ( f ) => f.value );\n\t\tif ( ! validValues.includes( Number( value ) ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nexport default {\n\tsort,\n\tisValid,\n\tEdit: 'integer',\n};\n"],"mappings":"AAAA;AACA;AACA;;AAGA,SAASA,IAAIA,CAAEC,CAAM,EAAEC,CAAM,EAAEC,SAAwB,EAAG;EACzD,OAAOA,SAAS,KAAK,KAAK,GAAGF,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGD,CAAC;AAC3C;AAEA,SAASG,OAAOA,CAAEC,KAAU,EAAEC,OAA2B,EAAG;EAC3D;EACA,IAAKD,KAAK,KAAK,EAAE,EAAG;IACnB,OAAO,KAAK;EACb;EAEA,IAAK,CAAEE,MAAM,CAACC,SAAS,CAAED,MAAM,CAAEF,KAAM,CAAE,CAAC,EAAG;IAC5C,OAAO,KAAK;EACb;EAEA,IAAKC,OAAO,EAAEG,QAAQ,EAAG;IACxB,MAAMC,WAAW,GAAGJ,OAAO,EAAEG,QAAQ,CAACE,GAAG,CAAIC,CAAC,IAAMA,CAAC,CAACP,KAAM,CAAC;IAC7D,IAAK,CAAEK,WAAW,CAACG,QAAQ,CAAEN,MAAM,CAAEF,KAAM,CAAE,CAAC,EAAG;MAChD,OAAO,KAAK;IACb;EACD;EAEA,OAAO,IAAI;AACZ;AAEA,eAAe;EACdL,IAAI;EACJI,OAAO;EACPU,IAAI,EAAE;AACP,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/dataviews/src/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactElement, ComponentType } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { SetSelection } from './private-types';\n\nexport type SortDirection = 'asc' | 'desc';\n\n/**\n * Generic option type.\n */\nexport interface Option< Value extends any = any > {\n\tvalue: Value;\n\tlabel: string;\n\tdescription?: string;\n}\n\ninterface FilterByConfig {\n\t/**\n\t * The list of operators supported by the field.\n\t */\n\toperators?: Operator[];\n\n\t/**\n\t * Whether it is a primary filter.\n\t *\n\t * A primary filter is always visible and is not listed in the \"Add filter\" component,\n\t * except for the list layout where it behaves like a secondary filter.\n\t */\n\tisPrimary?: boolean;\n}\n\nexport type Operator =\n\t| 'is'\n\t| 'isNot'\n\t| 'isAny'\n\t| 'isNone'\n\t| 'isAll'\n\t| 'isNotAll';\n\nexport type FieldType = 'text' | 'integer' | 'datetime';\n\nexport type ValidationContext = {\n\telements?: Option[];\n};\n\n/**\n * An abstract interface for Field based on the field type.\n */\nexport type FieldTypeDefinition< Item > = {\n\t/**\n\t * Callback used to sort the field.\n\t */\n\tsort: ( a: Item, b: Item, direction: SortDirection ) => number;\n\n\t/**\n\t * Callback used to validate the field.\n\t */\n\tisValid: ( item: Item, context?: ValidationContext ) => boolean;\n\n\t/**\n\t * Callback used to render an edit control for the field or control name.\n\t */\n\tEdit: ComponentType< DataFormControlProps< Item > > | string;\n};\n\n/**\n * A dataview field for a specific property of a data type.\n */\nexport type Field< Item > = {\n\t/**\n\t * Type of the fields.\n\t */\n\ttype?: FieldType;\n\n\t/**\n\t * The unique identifier of the field.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the field. Defaults to the id.\n\t */\n\tlabel?: string;\n\n\t/**\n\t * The header of the field. Defaults to the label.\n\t * It allows the usage of a React Element to render the field labels.\n\t */\n\theader?: string | ReactElement;\n\n\t/**\n\t * A description of the field.\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Placeholder for the field.\n\t */\n\tplaceholder?: string;\n\n\t/**\n\t * Callback used to render the field. Defaults to `field.getValue`.\n\t */\n\trender?: ComponentType< DataViewRenderFieldProps< Item > >;\n\n\t/**\n\t * Callback used to render an edit control for the field.\n\t */\n\tEdit?: ComponentType< DataFormControlProps< Item > > | string;\n\n\t/**\n\t * Callback used to sort the field.\n\t */\n\tsort?: ( a: Item, b: Item, direction: SortDirection ) => number;\n\n\t/**\n\t * Callback used to validate the field.\n\t */\n\tisValid?: ( item: Item, context?: ValidationContext ) => boolean;\n\n\t/**\n\t * Callback used to decide if a field should be displayed.\n\t */\n\tisVisible?: ( item: Item ) => boolean;\n\n\t/**\n\t * Whether the field is sortable.\n\t */\n\tenableSorting?: boolean;\n\n\t/**\n\t * Whether the field is searchable.\n\t */\n\tenableGlobalSearch?: boolean;\n\n\t/**\n\t * Whether the field is filterable.\n\t */\n\tenableHiding?: boolean;\n\n\t/**\n\t * The list of options to pick from when using the field as a filter.\n\t */\n\telements?: Option[];\n\n\t/**\n\t * Filter config for the field.\n\t */\n\tfilterBy?: FilterByConfig | undefined;\n\n\t/**\n\t * Callback used to retrieve the value of the field from the item.\n\t * Defaults to `item[ field.id ]`.\n\t */\n\tgetValue?: ( args: { item: Item } ) => any;\n};\n\nexport type NormalizedField< Item > = Field< Item > & {\n\tlabel: string;\n\theader: string | ReactElement;\n\tgetValue: ( args: { item: Item } ) => any;\n\trender: ComponentType< DataViewRenderFieldProps< Item > >;\n\tEdit: ComponentType< DataFormControlProps< Item > >;\n\tsort: ( a: Item, b: Item, direction: SortDirection ) => number;\n\tisValid: ( item: Item, context?: ValidationContext ) => boolean;\n\tenableHiding: boolean;\n\tenableSorting: boolean;\n};\n\n/**\n * A collection of dataview fields for a data type.\n */\nexport type Fields< Item > = Field< Item >[];\n\nexport type Data< Item > = Item[];\n\nexport type DataFormControlProps< Item > = {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: Record< string, any > ) => void;\n\thideLabelFromVision?: boolean;\n};\n\nexport type DataViewRenderFieldProps< Item > = {\n\titem: Item;\n};\n\n/**\n * The filters applied to the dataset.\n */\nexport interface Filter {\n\t/**\n\t * The field to filter by.\n\t */\n\tfield: string;\n\n\t/**\n\t * The operator to use.\n\t */\n\toperator: Operator;\n\n\t/**\n\t * The value to filter by.\n\t */\n\tvalue: any;\n}\n\nexport interface NormalizedFilter {\n\t/**\n\t * The field to filter by.\n\t */\n\tfield: string;\n\n\t/**\n\t * The field name.\n\t */\n\tname: string;\n\n\t/**\n\t * The list of options to pick from when using the field as a filter.\n\t */\n\telements: Option[];\n\n\t/**\n\t * Is a single selection filter.\n\t */\n\tsingleSelection: boolean;\n\n\t/**\n\t * The list of operators supported by the field.\n\t */\n\toperators: Operator[];\n\n\t/**\n\t * Whether the filter is visible.\n\t */\n\tisVisible: boolean;\n\n\t/**\n\t * Whether it is a primary filter.\n\t */\n\tisPrimary: boolean;\n}\n\ninterface ViewBase {\n\t/**\n\t * The layout of the view.\n\t */\n\ttype: string;\n\n\t/**\n\t * The global search term.\n\t */\n\tsearch?: string;\n\n\t/**\n\t * The filters to apply.\n\t */\n\tfilters?: Filter[];\n\n\t/**\n\t * The sorting configuration.\n\t */\n\tsort?: {\n\t\t/**\n\t\t * The field to sort by.\n\t\t */\n\t\tfield: string;\n\n\t\t/**\n\t\t * The direction to sort by.\n\t\t */\n\t\tdirection: SortDirection;\n\t};\n\n\t/**\n\t * The active page\n\t */\n\tpage?: number;\n\n\t/**\n\t * The number of items per page\n\t */\n\tperPage?: number;\n\n\t/**\n\t * The fields to render\n\t */\n\tfields?: string[];\n\n\t/**\n\t * Title field\n\t */\n\ttitleField?: string;\n\n\t/**\n\t * Media field\n\t */\n\tmediaField?: string;\n\n\t/**\n\t * Description field\n\t */\n\tdescriptionField?: string;\n\n\t/**\n\t * Whether to show the title\n\t */\n\tshowTitle?: boolean;\n\n\t/**\n\t * Whether to show the media\n\t */\n\tshowMedia?: boolean;\n\n\t/**\n\t * Whether to show the description\n\t */\n\tshowDescription?: boolean;\n\n\t/**\n\t * Whether to show the hierarchical levels.\n\t */\n\tshowLevels?: boolean;\n}\n\nexport interface ColumnStyle {\n\t/**\n\t * The width of the field column.\n\t */\n\twidth?: string | number;\n\n\t/**\n\t * The minimum width of the field column.\n\t */\n\tmaxWidth?: string | number;\n\n\t/**\n\t * The maximum width of the field column.\n\t */\n\tminWidth?: string | number;\n}\n\nexport type Density = 'compact' | 'balanced' | 'comfortable';\n\nexport interface ViewTable extends ViewBase {\n\ttype: 'table';\n\n\tlayout?: {\n\t\t/**\n\t\t * The styles for the columns.\n\t\t */\n\t\tstyles?: Record< string, ColumnStyle >;\n\n\t\t/**\n\t\t * The density of the view.\n\t\t */\n\t\tdensity?: Density;\n\t};\n}\n\nexport interface ViewList extends ViewBase {\n\ttype: 'list';\n}\n\nexport interface ViewGrid extends ViewBase {\n\ttype: 'grid';\n\n\tlayout?: {\n\t\t/**\n\t\t * The fields to use as badge fields.\n\t\t */\n\t\tbadgeFields?: string[];\n\n\t\t/**\n\t\t * The preview size of the grid.\n\t\t */\n\t\tpreviewSize?: number;\n\t};\n}\n\nexport type View = ViewList | ViewGrid | ViewTable;\n\ninterface ActionBase< Item > {\n\t/**\n\t * The unique identifier of the action.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the action.\n\t * In case we want to adjust the label based on the selected items,\n\t * a function can be provided.\n\t */\n\tlabel: string | ( ( items: Item[] ) => string );\n\n\t/**\n\t * The icon of the action. (Either a string or an SVG element)\n\t * This should be IconType from the components package\n\t * but that import is breaking typescript build for the moment.\n\t */\n\ticon?: any;\n\n\t/**\n\t * Whether the action is disabled.\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Whether the action is destructive.\n\t */\n\tisDestructive?: boolean;\n\n\t/**\n\t * Whether the action is a primary action.\n\t */\n\tisPrimary?: boolean;\n\n\t/**\n\t * Whether the item passed as an argument supports the current action.\n\t */\n\tisEligible?: ( item: Item ) => boolean;\n\n\t/**\n\t * Whether the action can be used as a bulk action.\n\t */\n\tsupportsBulk?: boolean;\n\n\t/**\n\t * The context in which the action is visible.\n\t * This is only a \"meta\" information for now.\n\t */\n\tcontext?: 'list' | 'single';\n}\n\nexport interface RenderModalProps< Item > {\n\titems: Item[];\n\tcloseModal?: () => void;\n\tonActionPerformed?: ( items: Item[] ) => void;\n}\n\nexport interface ActionModal< Item > extends ActionBase< Item > {\n\t/**\n\t * Modal to render when the action is triggered.\n\t */\n\tRenderModal: ( {\n\t\titems,\n\t\tcloseModal,\n\t\tonActionPerformed,\n\t}: RenderModalProps< Item > ) => ReactElement;\n\n\t/**\n\t * Whether to hide the modal header.\n\t */\n\thideModalHeader?: boolean;\n\n\t/**\n\t * The header of the modal.\n\t */\n\tmodalHeader?: string;\n}\n\nexport interface ActionButton< Item > extends ActionBase< Item > {\n\t/**\n\t * The callback to execute when the action is triggered.\n\t */\n\tcallback: (\n\t\titems: Item[],\n\t\tcontext: {\n\t\t\tregistry: any;\n\t\t\tonActionPerformed?: ( items: Item[] ) => void;\n\t\t}\n\t) => void;\n}\n\nexport type Action< Item > = ActionModal< Item > | ActionButton< Item >;\n\nexport interface ViewBaseProps< Item > {\n\tactions: Action< Item >[];\n\tdata: Item[];\n\tfields: NormalizedField< Item >[];\n\tgetItemId: ( item: Item ) => string;\n\tgetItemLevel?: ( item: Item ) => number;\n\tisLoading?: boolean;\n\tonChangeView: ( view: View ) => void;\n\tonChangeSelection: SetSelection;\n\tselection: string[];\n\tsetOpenedFilter: ( fieldId: string ) => void;\n\tonClickItem?: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\n\tview: View;\n}\n\nexport interface ViewTableProps< Item > extends ViewBaseProps< Item > {\n\tview: ViewTable;\n}\n\nexport interface ViewListProps< Item > extends ViewBaseProps< Item > {\n\tview: ViewList;\n}\n\nexport interface ViewGridProps< Item > extends ViewBaseProps< Item > {\n\tview: ViewGrid;\n}\n\nexport type ViewProps< Item > =\n\t| ViewTableProps< Item >\n\t| ViewGridProps< Item >\n\t| ViewListProps< Item >;\n\nexport interface SupportedLayouts {\n\tlist?: Omit< ViewList, 'type' >;\n\tgrid?: Omit< ViewGrid, 'type' >;\n\ttable?: Omit< ViewTable, 'type' >;\n}\n\nexport type SimpleFormField = {\n\tid: string;\n\tlayout?: 'regular' | 'panel';\n\tlabelPosition?: 'side' | 'top' | 'none';\n};\n\nexport type CombinedFormField = {\n\tid: string;\n\tlabel?: string;\n\tlayout?: 'regular' | 'panel';\n\tlabelPosition?: 'side' | 'top' | 'none';\n\tchildren: Array< FormField | string >;\n};\n\nexport type FormField = SimpleFormField | CombinedFormField;\n\n/**\n * The form configuration.\n */\nexport type Form = {\n\ttype?: 'regular' | 'panel';\n\tfields?: Array< FormField | string >;\n\tlabelPosition?: 'side' | 'top' | 'none';\n};\n\nexport interface DataFormProps< Item > {\n\tdata: Item;\n\tfields: Field< Item >[];\n\tform: Form;\n\tonChange: ( value: Record< string, any > ) => void;\n}\n\nexport interface FieldLayoutProps< Item > {\n\tdata: Item;\n\tfield: FormField;\n\tonChange: ( value: any ) => void;\n\thideLabelFromVision?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["@wordpress/dataviews/src/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactElement, ComponentType } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { SetSelection } from './private-types';\n\nexport type SortDirection = 'asc' | 'desc';\n\n/**\n * Generic option type.\n */\nexport interface Option< Value extends any = any > {\n\tvalue: Value;\n\tlabel: string;\n\tdescription?: string;\n}\n\ninterface FilterByConfig {\n\t/**\n\t * The list of operators supported by the field.\n\t */\n\toperators?: Operator[];\n\n\t/**\n\t * Whether it is a primary filter.\n\t *\n\t * A primary filter is always visible and is not listed in the \"Add filter\" component,\n\t * except for the list layout where it behaves like a secondary filter.\n\t */\n\tisPrimary?: boolean;\n}\n\nexport type Operator =\n\t| 'is'\n\t| 'isNot'\n\t| 'isAny'\n\t| 'isNone'\n\t| 'isAll'\n\t| 'isNotAll';\n\nexport type FieldType = 'text' | 'integer' | 'datetime' | 'media';\n\nexport type ValidationContext = {\n\telements?: Option[];\n};\n\n/**\n * An abstract interface for Field based on the field type.\n */\nexport type FieldTypeDefinition< Item > = {\n\t/**\n\t * Callback used to sort the field.\n\t */\n\tsort: ( a: Item, b: Item, direction: SortDirection ) => number;\n\n\t/**\n\t * Callback used to validate the field.\n\t */\n\tisValid: ( item: Item, context?: ValidationContext ) => boolean;\n\n\t/**\n\t * Callback used to render an edit control for the field or control name.\n\t */\n\tEdit: ComponentType< DataFormControlProps< Item > > | string;\n};\n\n/**\n * A dataview field for a specific property of a data type.\n */\nexport type Field< Item > = {\n\t/**\n\t * Type of the fields.\n\t */\n\ttype?: FieldType;\n\n\t/**\n\t * The unique identifier of the field.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the field. Defaults to the id.\n\t */\n\tlabel?: string;\n\n\t/**\n\t * The header of the field. Defaults to the label.\n\t * It allows the usage of a React Element to render the field labels.\n\t */\n\theader?: string | ReactElement;\n\n\t/**\n\t * A description of the field.\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Placeholder for the field.\n\t */\n\tplaceholder?: string;\n\n\t/**\n\t * Callback used to render the field. Defaults to `field.getValue`.\n\t */\n\trender?: ComponentType< DataViewRenderFieldProps< Item > >;\n\n\t/**\n\t * Callback used to render an edit control for the field.\n\t */\n\tEdit?: ComponentType< DataFormControlProps< Item > > | string;\n\n\t/**\n\t * Callback used to sort the field.\n\t */\n\tsort?: ( a: Item, b: Item, direction: SortDirection ) => number;\n\n\t/**\n\t * Callback used to validate the field.\n\t */\n\tisValid?: ( item: Item, context?: ValidationContext ) => boolean;\n\n\t/**\n\t * Callback used to decide if a field should be displayed.\n\t */\n\tisVisible?: ( item: Item ) => boolean;\n\n\t/**\n\t * Whether the field is sortable.\n\t */\n\tenableSorting?: boolean;\n\n\t/**\n\t * Whether the field is searchable.\n\t */\n\tenableGlobalSearch?: boolean;\n\n\t/**\n\t * Whether the field is filterable.\n\t */\n\tenableHiding?: boolean;\n\n\t/**\n\t * The list of options to pick from when using the field as a filter.\n\t */\n\telements?: Option[];\n\n\t/**\n\t * Filter config for the field.\n\t */\n\tfilterBy?: FilterByConfig | undefined;\n\n\t/**\n\t * Callback used to retrieve the value of the field from the item.\n\t * Defaults to `item[ field.id ]`.\n\t */\n\tgetValue?: ( args: { item: Item } ) => any;\n};\n\nexport type NormalizedField< Item > = Field< Item > & {\n\tlabel: string;\n\theader: string | ReactElement;\n\tgetValue: ( args: { item: Item } ) => any;\n\trender: ComponentType< DataViewRenderFieldProps< Item > >;\n\tEdit: ComponentType< DataFormControlProps< Item > >;\n\tsort: ( a: Item, b: Item, direction: SortDirection ) => number;\n\tisValid: ( item: Item, context?: ValidationContext ) => boolean;\n\tenableHiding: boolean;\n\tenableSorting: boolean;\n};\n\n/**\n * A collection of dataview fields for a data type.\n */\nexport type Fields< Item > = Field< Item >[];\n\nexport type Data< Item > = Item[];\n\nexport type DataFormControlProps< Item > = {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: Record< string, any > ) => void;\n\thideLabelFromVision?: boolean;\n};\n\nexport type DataViewRenderFieldProps< Item > = {\n\titem: Item;\n};\n\n/**\n * The filters applied to the dataset.\n */\nexport interface Filter {\n\t/**\n\t * The field to filter by.\n\t */\n\tfield: string;\n\n\t/**\n\t * The operator to use.\n\t */\n\toperator: Operator;\n\n\t/**\n\t * The value to filter by.\n\t */\n\tvalue: any;\n}\n\nexport interface NormalizedFilter {\n\t/**\n\t * The field to filter by.\n\t */\n\tfield: string;\n\n\t/**\n\t * The field name.\n\t */\n\tname: string;\n\n\t/**\n\t * The list of options to pick from when using the field as a filter.\n\t */\n\telements: Option[];\n\n\t/**\n\t * Is a single selection filter.\n\t */\n\tsingleSelection: boolean;\n\n\t/**\n\t * The list of operators supported by the field.\n\t */\n\toperators: Operator[];\n\n\t/**\n\t * Whether the filter is visible.\n\t */\n\tisVisible: boolean;\n\n\t/**\n\t * Whether it is a primary filter.\n\t */\n\tisPrimary: boolean;\n}\n\ninterface ViewBase {\n\t/**\n\t * The layout of the view.\n\t */\n\ttype: string;\n\n\t/**\n\t * The global search term.\n\t */\n\tsearch?: string;\n\n\t/**\n\t * The filters to apply.\n\t */\n\tfilters?: Filter[];\n\n\t/**\n\t * The sorting configuration.\n\t */\n\tsort?: {\n\t\t/**\n\t\t * The field to sort by.\n\t\t */\n\t\tfield: string;\n\n\t\t/**\n\t\t * The direction to sort by.\n\t\t */\n\t\tdirection: SortDirection;\n\t};\n\n\t/**\n\t * The active page\n\t */\n\tpage?: number;\n\n\t/**\n\t * The number of items per page\n\t */\n\tperPage?: number;\n\n\t/**\n\t * The fields to render\n\t */\n\tfields?: string[];\n\n\t/**\n\t * Title field\n\t */\n\ttitleField?: string;\n\n\t/**\n\t * Media field\n\t */\n\tmediaField?: string;\n\n\t/**\n\t * Description field\n\t */\n\tdescriptionField?: string;\n\n\t/**\n\t * Whether to show the title\n\t */\n\tshowTitle?: boolean;\n\n\t/**\n\t * Whether to show the media\n\t */\n\tshowMedia?: boolean;\n\n\t/**\n\t * Whether to show the description\n\t */\n\tshowDescription?: boolean;\n\n\t/**\n\t * Whether to show the hierarchical levels.\n\t */\n\tshowLevels?: boolean;\n}\n\nexport interface ColumnStyle {\n\t/**\n\t * The width of the field column.\n\t */\n\twidth?: string | number;\n\n\t/**\n\t * The minimum width of the field column.\n\t */\n\tmaxWidth?: string | number;\n\n\t/**\n\t * The maximum width of the field column.\n\t */\n\tminWidth?: string | number;\n}\n\nexport type Density = 'compact' | 'balanced' | 'comfortable';\n\nexport interface ViewTable extends ViewBase {\n\ttype: 'table';\n\n\tlayout?: {\n\t\t/**\n\t\t * The styles for the columns.\n\t\t */\n\t\tstyles?: Record< string, ColumnStyle >;\n\n\t\t/**\n\t\t * The density of the view.\n\t\t */\n\t\tdensity?: Density;\n\t};\n}\n\nexport interface ViewList extends ViewBase {\n\ttype: 'list';\n}\n\nexport interface ViewGrid extends ViewBase {\n\ttype: 'grid';\n\n\tlayout?: {\n\t\t/**\n\t\t * The fields to use as badge fields.\n\t\t */\n\t\tbadgeFields?: string[];\n\n\t\t/**\n\t\t * The preview size of the grid.\n\t\t */\n\t\tpreviewSize?: number;\n\t};\n}\n\nexport type View = ViewList | ViewGrid | ViewTable;\n\ninterface ActionBase< Item > {\n\t/**\n\t * The unique identifier of the action.\n\t */\n\tid: string;\n\n\t/**\n\t * The label of the action.\n\t * In case we want to adjust the label based on the selected items,\n\t * a function can be provided.\n\t */\n\tlabel: string | ( ( items: Item[] ) => string );\n\n\t/**\n\t * The icon of the action. (Either a string or an SVG element)\n\t * This should be IconType from the components package\n\t * but that import is breaking typescript build for the moment.\n\t */\n\ticon?: any;\n\n\t/**\n\t * Whether the action is disabled.\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Whether the action is destructive.\n\t */\n\tisDestructive?: boolean;\n\n\t/**\n\t * Whether the action is a primary action.\n\t */\n\tisPrimary?: boolean;\n\n\t/**\n\t * Whether the item passed as an argument supports the current action.\n\t */\n\tisEligible?: ( item: Item ) => boolean;\n\n\t/**\n\t * Whether the action can be used as a bulk action.\n\t */\n\tsupportsBulk?: boolean;\n\n\t/**\n\t * The context in which the action is visible.\n\t * This is only a \"meta\" information for now.\n\t */\n\tcontext?: 'list' | 'single';\n}\n\nexport interface RenderModalProps< Item > {\n\titems: Item[];\n\tcloseModal?: () => void;\n\tonActionPerformed?: ( items: Item[] ) => void;\n}\n\nexport interface ActionModal< Item > extends ActionBase< Item > {\n\t/**\n\t * Modal to render when the action is triggered.\n\t */\n\tRenderModal: ( {\n\t\titems,\n\t\tcloseModal,\n\t\tonActionPerformed,\n\t}: RenderModalProps< Item > ) => ReactElement;\n\n\t/**\n\t * Whether to hide the modal header.\n\t */\n\thideModalHeader?: boolean;\n\n\t/**\n\t * The header of the modal.\n\t */\n\tmodalHeader?: string;\n}\n\nexport interface ActionButton< Item > extends ActionBase< Item > {\n\t/**\n\t * The callback to execute when the action is triggered.\n\t */\n\tcallback: (\n\t\titems: Item[],\n\t\tcontext: {\n\t\t\tregistry: any;\n\t\t\tonActionPerformed?: ( items: Item[] ) => void;\n\t\t}\n\t) => void;\n}\n\nexport type Action< Item > = ActionModal< Item > | ActionButton< Item >;\n\nexport interface ViewBaseProps< Item > {\n\tactions: Action< Item >[];\n\tdata: Item[];\n\tfields: NormalizedField< Item >[];\n\tgetItemId: ( item: Item ) => string;\n\tgetItemLevel?: ( item: Item ) => number;\n\tisLoading?: boolean;\n\tonChangeView: ( view: View ) => void;\n\tonChangeSelection: SetSelection;\n\tselection: string[];\n\tsetOpenedFilter: ( fieldId: string ) => void;\n\tonClickItem?: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\n\tview: View;\n}\n\nexport interface ViewTableProps< Item > extends ViewBaseProps< Item > {\n\tview: ViewTable;\n}\n\nexport interface ViewListProps< Item > extends ViewBaseProps< Item > {\n\tview: ViewList;\n}\n\nexport interface ViewGridProps< Item > extends ViewBaseProps< Item > {\n\tview: ViewGrid;\n}\n\nexport type ViewProps< Item > =\n\t| ViewTableProps< Item >\n\t| ViewGridProps< Item >\n\t| ViewListProps< Item >;\n\nexport interface SupportedLayouts {\n\tlist?: Omit< ViewList, 'type' >;\n\tgrid?: Omit< ViewGrid, 'type' >;\n\ttable?: Omit< ViewTable, 'type' >;\n}\n\nexport type SimpleFormField = {\n\tid: string;\n\tlayout?: 'regular' | 'panel';\n\tlabelPosition?: 'side' | 'top' | 'none';\n};\n\nexport type CombinedFormField = {\n\tid: string;\n\tlabel?: string;\n\tlayout?: 'regular' | 'panel';\n\tlabelPosition?: 'side' | 'top' | 'none';\n\tchildren: Array< FormField | string >;\n};\n\nexport type FormField = SimpleFormField | CombinedFormField;\n\n/**\n * The form configuration.\n */\nexport type Form = {\n\ttype?: 'regular' | 'panel';\n\tfields?: Array< FormField | string >;\n\tlabelPosition?: 'side' | 'top' | 'none';\n};\n\nexport interface DataFormProps< Item > {\n\tdata: Item;\n\tfields: Field< Item >[];\n\tform: Form;\n\tonChange: ( value: Record< string, any > ) => void;\n}\n\nexport interface FieldLayoutProps< Item > {\n\tdata: Item;\n\tfield: FormField;\n\tonChange: ( value: any ) => void;\n\thideLabelFromVision?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -136,13 +136,11 @@
136
136
  flex-shrink: 0;
137
137
  position: sticky;
138
138
  right: 0;
139
- transition: padding ease-out 0.1s;
140
139
  }
141
- @media (prefers-reduced-motion: reduce) {
140
+ @media not (prefers-reduced-motion) {
142
141
  .dataviews__view-actions,
143
142
  .dataviews-filters__container {
144
- transition-duration: 0s;
145
- transition-delay: 0s;
143
+ transition: padding ease-out 0.1s;
146
144
  }
147
145
  }
148
146
 
@@ -153,13 +151,11 @@
153
151
  display: flex;
154
152
  align-items: center;
155
153
  justify-content: center;
156
- transition: padding ease-out 0.1s;
157
154
  }
158
- @media (prefers-reduced-motion: reduce) {
155
+ @media not (prefers-reduced-motion) {
159
156
  .dataviews-no-results,
160
157
  .dataviews-loading {
161
- transition-duration: 0s;
162
- transition-delay: 0s;
158
+ transition: padding ease-out 0.1s;
163
159
  }
164
160
  }
165
161
 
@@ -413,7 +409,6 @@
413
409
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
414
410
  padding: 6px 8px;
415
411
  box-shadow: 0 0 0 transparent;
416
- transition: box-shadow 0.1s linear;
417
412
  border-radius: 2px;
418
413
  border: 1px solid #949494;
419
414
  /* Fonts smaller than 16px causes mobile safari to zoom. */
@@ -431,10 +426,9 @@
431
426
  /* Fonts smaller than 16px causes mobile safari to zoom. */
432
427
  font-size: 16px;
433
428
  }
434
- @media (prefers-reduced-motion: reduce) {
429
+ @media not (prefers-reduced-motion) {
435
430
  .dataviews-filters__search-widget-filter-combobox__wrapper .dataviews-filters__search-widget-filter-combobox__input {
436
- transition-duration: 0s;
437
- transition-delay: 0s;
431
+ transition: box-shadow 0.1s linear;
438
432
  }
439
433
  }
440
434
  @media (min-width: 600px) {
@@ -520,13 +514,11 @@
520
514
  padding: 12px 48px;
521
515
  border-top: 1px solid #f0f0f0;
522
516
  flex-shrink: 0;
523
- transition: padding ease-out 0.1s;
524
517
  z-index: 2;
525
518
  }
526
- @media (prefers-reduced-motion: reduce) {
519
+ @media not (prefers-reduced-motion) {
527
520
  .dataviews-footer {
528
- transition-duration: 0s;
529
- transition-delay: 0s;
521
+ transition: padding ease-out 0.1s;
530
522
  }
531
523
  }
532
524
 
@@ -650,7 +642,8 @@
650
642
  }
651
643
 
652
644
  .dataviews-field-control__field:hover .dataviews-field-control__actions,
653
- .dataviews-field-control__field:focus-within .dataviews-field-control__actions {
645
+ .dataviews-field-control__field:focus-within .dataviews-field-control__actions,
646
+ .dataviews-field-control__field.is-interacting .dataviews-field-control__actions {
654
647
  position: unset;
655
648
  top: unset;
656
649
  }
@@ -660,21 +653,31 @@
660
653
  width: 24px;
661
654
  }
662
655
 
663
- .dataviews-field-control__label {
656
+ .dataviews-field-control__label-sub-label-container {
664
657
  flex-grow: 1;
665
658
  }
666
659
 
660
+ .dataviews-field-control__label {
661
+ display: block;
662
+ }
663
+
664
+ .dataviews-field-control__sub-label {
665
+ margin-top: 8px;
666
+ margin-bottom: 0;
667
+ font-size: 11px;
668
+ font-style: normal;
669
+ color: #757575;
670
+ }
671
+
667
672
  .dataviews-view-grid {
668
673
  margin-bottom: auto;
669
674
  grid-template-rows: max-content;
670
675
  padding: 0 48px 24px;
671
- transition: padding ease-out 0.1s;
672
676
  container-type: inline-size;
673
677
  }
674
- @media (prefers-reduced-motion: reduce) {
678
+ @media not (prefers-reduced-motion) {
675
679
  .dataviews-view-grid {
676
- transition-duration: 0s;
677
- transition-delay: 0s;
680
+ transition: padding ease-out 0.1s;
678
681
  }
679
682
  }
680
683
  .dataviews-view-grid .dataviews-view-grid__card {