@wordpress/dataviews 4.12.0 → 4.14.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.
- package/CHANGELOG.md +4 -0
- package/build/components/dataviews/index.js +0 -1
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews-bulk-actions/index.js +0 -1
- package/build/components/dataviews-bulk-actions/index.js.map +1 -1
- package/build/components/dataviews-filters/add-filter.js +0 -1
- package/build/components/dataviews-filters/add-filter.js.map +1 -1
- package/build/components/dataviews-filters/filter-summary.js +0 -1
- package/build/components/dataviews-filters/filter-summary.js.map +1 -1
- package/build/components/dataviews-filters/index.js +0 -1
- package/build/components/dataviews-filters/index.js.map +1 -1
- package/build/components/dataviews-filters/reset-filters.js +0 -1
- package/build/components/dataviews-filters/reset-filters.js.map +1 -1
- package/build/components/dataviews-filters/search-widget.js +0 -1
- package/build/components/dataviews-filters/search-widget.js.map +1 -1
- package/build/components/dataviews-item-actions/index.js +0 -1
- package/build/components/dataviews-item-actions/index.js.map +1 -1
- package/build/components/dataviews-layout/index.js +0 -1
- package/build/components/dataviews-layout/index.js.map +1 -1
- package/build/components/dataviews-pagination/index.js +0 -1
- package/build/components/dataviews-pagination/index.js.map +1 -1
- package/build/components/dataviews-selection-checkbox/index.js +0 -1
- package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build/components/dataviews-view-config/index.js +0 -1
- package/build/components/dataviews-view-config/index.js.map +1 -1
- package/build/dataforms-layouts/data-form-layout.js +0 -1
- package/build/dataforms-layouts/data-form-layout.js.map +1 -1
- package/build/dataforms-layouts/index.js +0 -1
- package/build/dataforms-layouts/index.js.map +1 -1
- package/build/dataforms-layouts/panel/index.js +0 -1
- package/build/dataforms-layouts/panel/index.js.map +1 -1
- package/build/dataforms-layouts/regular/index.js +0 -1
- package/build/dataforms-layouts/regular/index.js.map +1 -1
- package/build/dataviews-layouts/grid/index.js +0 -1
- package/build/dataviews-layouts/grid/index.js.map +1 -1
- package/build/dataviews-layouts/list/index.js +0 -1
- package/build/dataviews-layouts/list/index.js.map +1 -1
- package/build/dataviews-layouts/table/column-header-menu.js +0 -1
- package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
- package/build/dataviews-layouts/table/index.js +0 -1
- package/build/dataviews-layouts/table/index.js.map +1 -1
- package/build/filter-and-sort-data-view.js +0 -1
- package/build/filter-and-sort-data-view.js.map +1 -1
- package/build/normalize-fields.js +0 -1
- package/build/normalize-fields.js.map +1 -1
- package/build/normalize-form-fields.js +0 -1
- package/build/normalize-form-fields.js.map +1 -1
- package/build/utils.js +0 -1
- package/build/utils.js.map +1 -1
- package/build/validation.js +0 -1
- package/build/validation.js.map +1 -1
- package/build-module/components/dataviews/index.js +0 -1
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews-bulk-actions/index.js +0 -1
- package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
- package/build-module/components/dataviews-filters/add-filter.js +0 -1
- package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
- package/build-module/components/dataviews-filters/filter-summary.js +0 -1
- package/build-module/components/dataviews-filters/filter-summary.js.map +1 -1
- package/build-module/components/dataviews-filters/index.js +0 -1
- package/build-module/components/dataviews-filters/index.js.map +1 -1
- package/build-module/components/dataviews-filters/reset-filters.js +0 -1
- package/build-module/components/dataviews-filters/reset-filters.js.map +1 -1
- package/build-module/components/dataviews-filters/search-widget.js +0 -1
- package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
- package/build-module/components/dataviews-item-actions/index.js +0 -1
- package/build-module/components/dataviews-item-actions/index.js.map +1 -1
- package/build-module/components/dataviews-layout/index.js +0 -1
- package/build-module/components/dataviews-layout/index.js.map +1 -1
- package/build-module/components/dataviews-pagination/index.js +0 -1
- package/build-module/components/dataviews-pagination/index.js.map +1 -1
- package/build-module/components/dataviews-selection-checkbox/index.js +0 -1
- package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build-module/components/dataviews-view-config/index.js +0 -1
- package/build-module/components/dataviews-view-config/index.js.map +1 -1
- package/build-module/dataforms-layouts/data-form-layout.js +0 -1
- package/build-module/dataforms-layouts/data-form-layout.js.map +1 -1
- package/build-module/dataforms-layouts/index.js +0 -1
- package/build-module/dataforms-layouts/index.js.map +1 -1
- package/build-module/dataforms-layouts/panel/index.js +0 -1
- package/build-module/dataforms-layouts/panel/index.js.map +1 -1
- package/build-module/dataforms-layouts/regular/index.js +0 -1
- package/build-module/dataforms-layouts/regular/index.js.map +1 -1
- package/build-module/dataviews-layouts/grid/index.js +0 -1
- package/build-module/dataviews-layouts/grid/index.js.map +1 -1
- package/build-module/dataviews-layouts/list/index.js +0 -1
- package/build-module/dataviews-layouts/list/index.js.map +1 -1
- package/build-module/dataviews-layouts/table/column-header-menu.js +0 -1
- package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
- package/build-module/dataviews-layouts/table/index.js +0 -1
- package/build-module/dataviews-layouts/table/index.js.map +1 -1
- package/build-module/filter-and-sort-data-view.js +0 -1
- package/build-module/filter-and-sort-data-view.js.map +1 -1
- package/build-module/normalize-fields.js +0 -1
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/normalize-form-fields.js +0 -1
- package/build-module/normalize-form-fields.js.map +1 -1
- package/build-module/utils.js +0 -1
- package/build-module/utils.js.map +1 -1
- package/build-module/validation.js +0 -1
- package/build-module/validation.js.map +1 -1
- package/build-wp/index.js +168 -168
- package/package.json +11 -11
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","Dropdown","Button","sprintf","__","_x","useState","useMemo","useContext","closeSmall","DataFormContext","DataFormLayout","isCombinedField","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownHeader","title","onClose","className","spacing","children","alignment","level","size","label","icon","onClick","PanelDropdown","fieldDefinition","popoverAnchor","labelPosition","data","onChange","field","fieldLabel","form","type","fields","map","child","id","popoverProps","anchor","placement","offset","shift","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","includes","render","item","renderContent","FieldLayout","nestedField","_form$fields","hideLabelFromVision","length","FormPanelField","_field$labelPosition","find","fieldDef","filter","firstChildFieldId","setPopoverAnchor","style","paddingBottom","ref"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useContext } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tForm,\n\tFormField,\n\tFieldLayoutProps,\n\tNormalizedField,\n\tSimpleFormField,\n} from '../../types';\nimport DataFormContext from '../../components/dataform-context';\nimport { DataFormLayout } from '../data-form-layout';\nimport { isCombinedField } from '../is-combined-field';\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle?: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t{ title && (\n\t\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Heading>\n\t\t\t\t) }\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction PanelDropdown< Item >( {\n\tfieldDefinition,\n\tpopoverAnchor,\n\tlabelPosition = 'side',\n\tdata,\n\tonChange,\n\tfield,\n}: {\n\tfieldDefinition: NormalizedField< Item >;\n\tpopoverAnchor: HTMLElement | null;\n\tlabelPosition: 'side' | 'top' | 'none';\n\tdata: Item;\n\tonChange: ( value: any ) => void;\n\tfield: FormField;\n} ) {\n\tconst fieldLabel = isCombinedField( field )\n\t\t? field.label\n\t\t: fieldDefinition?.label;\n\tconst form = useMemo( () => {\n\t\tif ( isCombinedField( field ) ) {\n\t\t\treturn {\n\t\t\t\ttype: 'regular' as const,\n\t\t\t\tfields: field.children.map( ( child ) => {\n\t\t\t\t\tif ( typeof child === 'string' ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: child,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn child;\n\t\t\t\t} ),\n\t\t\t};\n\t\t}\n\t\t// If not explicit children return the field id itself.\n\t\treturn {\n\t\t\ttype: 'regular' as const,\n\t\t\tfields: [ { id: field.id } ],\n\t\t};\n\t}, [ field ] );\n\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tfocusOnMount\n\t\t\ttoggleProps={ {\n\t\t\t\tsize: 'compact',\n\t\t\t\tvariant: 'tertiary',\n\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tvariant={\n\t\t\t\t\t\t[ 'none', 'top' ].includes( labelPosition )\n\t\t\t\t\t\t\t? 'link'\n\t\t\t\t\t\t\t: 'tertiary'\n\t\t\t\t\t}\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t_x( 'Edit %s', 'field' ),\n\t\t\t\t\t\tfieldLabel\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t>\n\t\t\t\t\t<fieldDefinition.render item={ data } />\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<DropdownHeader title={ fieldLabel } onClose={ onClose } />\n\t\t\t\t\t<DataFormLayout\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tform={ form as Form }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( FieldLayout, nestedField ) => (\n\t\t\t\t\t\t\t<FieldLayout\n\t\t\t\t\t\t\t\tkey={ nestedField.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ nestedField }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision={\n\t\t\t\t\t\t\t\t\t( form?.fields ?? [] ).length < 2\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DataFormLayout>\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default function FormPanelField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FieldLayoutProps< Item > ) {\n\tconst { fields } = useContext( DataFormContext );\n\tconst fieldDefinition = fields.find( ( fieldDef ) => {\n\t\t// Default to the first child if it is a combined field.\n\t\tif ( isCombinedField( field ) ) {\n\t\t\tconst children = field.children.filter(\n\t\t\t\t( child ): child is string | SimpleFormField =>\n\t\t\t\t\ttypeof child === 'string' || ! isCombinedField( child )\n\t\t\t);\n\t\t\tconst firstChildFieldId =\n\t\t\t\ttypeof children[ 0 ] === 'string'\n\t\t\t\t\t? children[ 0 ]\n\t\t\t\t\t: children[ 0 ].id;\n\t\t\treturn fieldDef.id === firstChildFieldId;\n\t\t}\n\t\treturn fieldDef.id === field.id;\n\t} );\n\tconst labelPosition = field.labelPosition ?? 'side';\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\n\tif ( ! fieldDefinition ) {\n\t\treturn null;\n\t}\n\n\tconst fieldLabel = isCombinedField( field )\n\t\t? field.label\n\t\t: fieldDefinition?.label;\n\n\tif ( labelPosition === 'top' ) {\n\t\treturn (\n\t\t\t<VStack className=\"dataforms-layouts-panel__field\" spacing={ 0 }>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-label\"\n\t\t\t\t\tstyle={ { paddingBottom: 0 } }\n\t\t\t\t>\n\t\t\t\t\t{ fieldLabel }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dataforms-layouts-panel__field-control\">\n\t\t\t\t\t<PanelDropdown\n\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\t\tfieldDefinition={ fieldDefinition }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t);\n\t}\n\n\tif ( labelPosition === 'none' ) {\n\t\treturn (\n\t\t\t<div className=\"dataforms-layouts-panel__field\">\n\t\t\t\t<PanelDropdown\n\t\t\t\t\tfield={ field }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\tfieldDefinition={ fieldDefinition }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Defaults to label position side.\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ fieldLabel }\n\t\t\t</div>\n\t\t\t<div className=\"dataforms-layouts-panel__field-control\">\n\t\t\t\t<PanelDropdown\n\t\t\t\t\tfield={ field }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\tfieldDefinition={ fieldDefinition }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","Dropdown","Button","sprintf","__","_x","useState","useMemo","useContext","closeSmall","DataFormContext","DataFormLayout","isCombinedField","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownHeader","title","onClose","className","spacing","children","alignment","level","size","label","icon","onClick","PanelDropdown","fieldDefinition","popoverAnchor","labelPosition","data","onChange","field","fieldLabel","form","type","fields","map","child","id","popoverProps","anchor","placement","offset","shift","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","includes","render","item","renderContent","FieldLayout","nestedField","_form$fields","hideLabelFromVision","length","FormPanelField","_field$labelPosition","find","fieldDef","filter","firstChildFieldId","setPopoverAnchor","style","paddingBottom","ref"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useContext } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tForm,\n\tFormField,\n\tFieldLayoutProps,\n\tNormalizedField,\n\tSimpleFormField,\n} from '../../types';\nimport DataFormContext from '../../components/dataform-context';\nimport { DataFormLayout } from '../data-form-layout';\nimport { isCombinedField } from '../is-combined-field';\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle?: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t{ title && (\n\t\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Heading>\n\t\t\t\t) }\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction PanelDropdown< Item >( {\n\tfieldDefinition,\n\tpopoverAnchor,\n\tlabelPosition = 'side',\n\tdata,\n\tonChange,\n\tfield,\n}: {\n\tfieldDefinition: NormalizedField< Item >;\n\tpopoverAnchor: HTMLElement | null;\n\tlabelPosition: 'side' | 'top' | 'none';\n\tdata: Item;\n\tonChange: ( value: any ) => void;\n\tfield: FormField;\n} ) {\n\tconst fieldLabel = isCombinedField( field )\n\t\t? field.label\n\t\t: fieldDefinition?.label;\n\tconst form = useMemo( () => {\n\t\tif ( isCombinedField( field ) ) {\n\t\t\treturn {\n\t\t\t\ttype: 'regular' as const,\n\t\t\t\tfields: field.children.map( ( child ) => {\n\t\t\t\t\tif ( typeof child === 'string' ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: child,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn child;\n\t\t\t\t} ),\n\t\t\t};\n\t\t}\n\t\t// If not explicit children return the field id itself.\n\t\treturn {\n\t\t\ttype: 'regular' as const,\n\t\t\tfields: [ { id: field.id } ],\n\t\t};\n\t}, [ field ] );\n\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tfocusOnMount\n\t\t\ttoggleProps={ {\n\t\t\t\tsize: 'compact',\n\t\t\t\tvariant: 'tertiary',\n\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tvariant={\n\t\t\t\t\t\t[ 'none', 'top' ].includes( labelPosition )\n\t\t\t\t\t\t\t? 'link'\n\t\t\t\t\t\t\t: 'tertiary'\n\t\t\t\t\t}\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t_x( 'Edit %s', 'field' ),\n\t\t\t\t\t\tfieldLabel\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t>\n\t\t\t\t\t<fieldDefinition.render item={ data } />\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<DropdownHeader title={ fieldLabel } onClose={ onClose } />\n\t\t\t\t\t<DataFormLayout\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tform={ form as Form }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( FieldLayout, nestedField ) => (\n\t\t\t\t\t\t\t<FieldLayout\n\t\t\t\t\t\t\t\tkey={ nestedField.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ nestedField }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision={\n\t\t\t\t\t\t\t\t\t( form?.fields ?? [] ).length < 2\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DataFormLayout>\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default function FormPanelField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FieldLayoutProps< Item > ) {\n\tconst { fields } = useContext( DataFormContext );\n\tconst fieldDefinition = fields.find( ( fieldDef ) => {\n\t\t// Default to the first child if it is a combined field.\n\t\tif ( isCombinedField( field ) ) {\n\t\t\tconst children = field.children.filter(\n\t\t\t\t( child ): child is string | SimpleFormField =>\n\t\t\t\t\ttypeof child === 'string' || ! isCombinedField( child )\n\t\t\t);\n\t\t\tconst firstChildFieldId =\n\t\t\t\ttypeof children[ 0 ] === 'string'\n\t\t\t\t\t? children[ 0 ]\n\t\t\t\t\t: children[ 0 ].id;\n\t\t\treturn fieldDef.id === firstChildFieldId;\n\t\t}\n\t\treturn fieldDef.id === field.id;\n\t} );\n\tconst labelPosition = field.labelPosition ?? 'side';\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\n\tif ( ! fieldDefinition ) {\n\t\treturn null;\n\t}\n\n\tconst fieldLabel = isCombinedField( field )\n\t\t? field.label\n\t\t: fieldDefinition?.label;\n\n\tif ( labelPosition === 'top' ) {\n\t\treturn (\n\t\t\t<VStack className=\"dataforms-layouts-panel__field\" spacing={ 0 }>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-label\"\n\t\t\t\t\tstyle={ { paddingBottom: 0 } }\n\t\t\t\t>\n\t\t\t\t\t{ fieldLabel }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dataforms-layouts-panel__field-control\">\n\t\t\t\t\t<PanelDropdown\n\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\t\tfieldDefinition={ fieldDefinition }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t);\n\t}\n\n\tif ( labelPosition === 'none' ) {\n\t\treturn (\n\t\t\t<div className=\"dataforms-layouts-panel__field\">\n\t\t\t\t<PanelDropdown\n\t\t\t\t\tfield={ field }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\tfieldDefinition={ fieldDefinition }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Defaults to label position side.\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ fieldLabel }\n\t\t\t</div>\n\t\t\t<div className=\"dataforms-layouts-panel__field-control\">\n\t\t\t\t<PanelDropdown\n\t\t\t\t\tfield={ field }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\tfieldDefinition={ fieldDefinition }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useContext","useMemo","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","DataFormContext","DataFormLayout","isCombinedField","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Header","title","className","spacing","children","alignment","level","size","FormRegularField","data","field","onChange","hideLabelFromVision","_field$labelPosition","fields","form","map","child","id","type","label","labelPosition","fieldDefinition","find","fieldDef","Edit"],"sources":["@wordpress/dataviews/src/dataforms-layouts/regular/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext, useMemo } from '@wordpress/element';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { Form, FieldLayoutProps } from '../../types';\nimport DataFormContext from '../../components/dataform-context';\nimport { DataFormLayout } from '../data-form-layout';\nimport { isCombinedField } from '../is-combined-field';\n\nfunction Header( { title }: { title: string } ) {\n\treturn (\n\t\t<VStack className=\"dataforms-layouts-regular__header\" spacing={ 4 }>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function FormRegularField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: FieldLayoutProps< Item > ) {\n\tconst { fields } = useContext( DataFormContext );\n\n\tconst form = useMemo( () => {\n\t\tif ( isCombinedField( field ) ) {\n\t\t\treturn {\n\t\t\t\tfields: field.children.map( ( child ) => {\n\t\t\t\t\tif ( typeof child === 'string' ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: child,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn child;\n\t\t\t\t} ),\n\t\t\t\ttype: 'regular' as const,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\ttype: 'regular' as const,\n\t\t\tfields: [],\n\t\t};\n\t}, [ field ] );\n\n\tif ( isCombinedField( field ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ ! hideLabelFromVision && field.label && (\n\t\t\t\t\t<Header title={ field.label } />\n\t\t\t\t) }\n\t\t\t\t<DataFormLayout\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tform={ form as Form }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst labelPosition = field.labelPosition ?? 'top';\n\tconst fieldDefinition = fields.find(\n\t\t( fieldDef ) => fieldDef.id === field.id\n\t);\n\n\tif ( ! fieldDefinition ) {\n\t\treturn null;\n\t}\n\tif ( labelPosition === 'side' ) {\n\t\treturn (\n\t\t\t<HStack className=\"dataforms-layouts-regular__field\">\n\t\t\t\t<div className=\"dataforms-layouts-regular__field-label\">\n\t\t\t\t\t{ fieldDefinition.label }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dataforms-layouts-regular__field-control\">\n\t\t\t\t\t<fieldDefinition.Edit\n\t\t\t\t\t\tkey={ fieldDefinition.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ fieldDefinition }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"dataforms-layouts-regular__field\">\n\t\t\t<fieldDefinition.Edit\n\t\t\t\tdata={ data }\n\t\t\t\tfield={ fieldDefinition }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thideLabelFromVision={\n\t\t\t\t\tlabelPosition === 'none' ? true : hideLabelFromVision\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["useContext","useMemo","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","DataFormContext","DataFormLayout","isCombinedField","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Header","title","className","spacing","children","alignment","level","size","FormRegularField","data","field","onChange","hideLabelFromVision","_field$labelPosition","fields","form","map","child","id","type","label","labelPosition","fieldDefinition","find","fieldDef","Edit"],"sources":["@wordpress/dataviews/src/dataforms-layouts/regular/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext, useMemo } from '@wordpress/element';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { Form, FieldLayoutProps } from '../../types';\nimport DataFormContext from '../../components/dataform-context';\nimport { DataFormLayout } from '../data-form-layout';\nimport { isCombinedField } from '../is-combined-field';\n\nfunction Header( { title }: { title: string } ) {\n\treturn (\n\t\t<VStack className=\"dataforms-layouts-regular__header\" spacing={ 4 }>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function FormRegularField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n}: FieldLayoutProps< Item > ) {\n\tconst { fields } = useContext( DataFormContext );\n\n\tconst form = useMemo( () => {\n\t\tif ( isCombinedField( field ) ) {\n\t\t\treturn {\n\t\t\t\tfields: field.children.map( ( child ) => {\n\t\t\t\t\tif ( typeof child === 'string' ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: child,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn child;\n\t\t\t\t} ),\n\t\t\t\ttype: 'regular' as const,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\ttype: 'regular' as const,\n\t\t\tfields: [],\n\t\t};\n\t}, [ field ] );\n\n\tif ( isCombinedField( field ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ ! hideLabelFromVision && field.label && (\n\t\t\t\t\t<Header title={ field.label } />\n\t\t\t\t) }\n\t\t\t\t<DataFormLayout\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tform={ form as Form }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst labelPosition = field.labelPosition ?? 'top';\n\tconst fieldDefinition = fields.find(\n\t\t( fieldDef ) => fieldDef.id === field.id\n\t);\n\n\tif ( ! fieldDefinition ) {\n\t\treturn null;\n\t}\n\tif ( labelPosition === 'side' ) {\n\t\treturn (\n\t\t\t<HStack className=\"dataforms-layouts-regular__field\">\n\t\t\t\t<div className=\"dataforms-layouts-regular__field-label\">\n\t\t\t\t\t{ fieldDefinition.label }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"dataforms-layouts-regular__field-control\">\n\t\t\t\t\t<fieldDefinition.Edit\n\t\t\t\t\t\tkey={ fieldDefinition.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ fieldDefinition }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"dataforms-layouts-regular__field\">\n\t\t\t<fieldDefinition.Edit\n\t\t\t\tdata={ data }\n\t\t\t\tfield={ fieldDefinition }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thideLabelFromVision={\n\t\t\t\t\tlabelPosition === 'none' ? true : hideLabelFromVision\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Spinner","Flex","FlexItem","privateApis","componentsPrivateApis","__","useInstanceId","unlock","ItemActions","DataViewsSelectionCheckbox","useHasAPossibleBulkAction","useSomeItemHasAPossibleBulkAction","getClickableItemProps","useUpdatedPreviewSizeOnViewportChange","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Badge","GridItem","view","selection","onChangeSelection","onClickItem","isItemClickable","getItemId","item","actions","mediaField","titleField","descriptionField","regularFields","badgeFields","hasBulkActions","showTitle","showMedia","showDescription","hasBulkAction","id","instanceId","isSelected","includes","renderedMediaField","render","renderedTitleField","clickableMediaItemProps","className","clickableTitleItemProps","mediaA11yProps","titleA11yProps","spacing","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","disabled","justify","length","isCompact","wrap","alignment","map","field","gap","expanded","style","height","direction","header","maxHeight","ViewGrid","data","fields","isLoading","_view$fields","find","otherFields","reduce","accumulator","fieldId","f","key","layout","push","hasData","updatedPreviewSize","usedPreviewSize","previewSize","gridStyle","gridTemplateColumns","columns"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport {\n\tuseHasAPossibleBulkAction,\n\tuseSomeItemHasAPossibleBulkAction,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewGrid as ViewGridType,\n\tViewGridProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport getClickableItemProps from '../utils/get-clickable-item-props';\nimport { useUpdatedPreviewSizeOnViewportChange } from './preview-size-picker';\nconst { Badge } = unlock( componentsPrivateApis );\n\ninterface GridItemProps< Item > {\n\tview: ViewGridType;\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\tonClickItem?: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tregularFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\thasBulkActions: boolean;\n}\n\nfunction GridItem< Item >( {\n\tview,\n\tselection,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\ttitleField,\n\tdescriptionField,\n\tregularFields,\n\tbadgeFields,\n\thasBulkActions,\n}: GridItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst instanceId = useInstanceId( GridItem );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } />\n\t\t) : null;\n\n\tconst clickableMediaItemProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName: 'dataviews-view-grid__media',\n\t} );\n\n\tconst clickableTitleItemProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName: 'dataviews-view-grid__title-field dataviews-title-field',\n\t} );\n\n\tlet mediaA11yProps;\n\tlet titleA11yProps;\n\tif ( isItemClickable( item ) && onClickItem ) {\n\t\tif ( renderedTitleField ) {\n\t\t\tmediaA11yProps = {\n\t\t\t\t'aria-labelledby': `dataviews-view-grid__title-field-${ instanceId }`,\n\t\t\t};\n\t\t\ttitleA11yProps = {\n\t\t\t\tid: `dataviews-view-grid__title-field-${ instanceId }`,\n\t\t\t};\n\t\t} else {\n\t\t\tmediaA11yProps = {\n\t\t\t\t'aria-label': __( 'Navigate to item' ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<div { ...clickableMediaItemProps } { ...mediaA11yProps }>\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasBulkActions && showMedia && renderedMediaField && (\n\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<div { ...clickableTitleItemProps } { ...titleA11yProps }>\n\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t</div>\n\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t) }\n\t\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\twrap\n\t\t\t\t\t\talignment=\"top\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t\t{ !! regularFields?.length && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__fields\"\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ regularFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field\"\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tselection,\n\tview,\n}: ViewGridProps< Item > ) {\n\tconst titleField = fields.find(\n\t\t( field ) => field.id === view?.titleField\n\t);\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view?.mediaField\n\t);\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view?.descriptionField\n\t);\n\tconst otherFields = view.fields ?? [];\n\tconst { regularFields, badgeFields } = otherFields.reduce(\n\t\t(\n\t\t\taccumulator: Record< string, NormalizedField< Item >[] >,\n\t\t\tfieldId\n\t\t) => {\n\t\t\tconst field = fields.find( ( f ) => f.id === fieldId );\n\t\t\tif ( ! field ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( fieldId )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'regularFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ regularFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst updatedPreviewSize = useUpdatedPreviewSizeOnViewportChange();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\tconst usedPreviewSize = updatedPreviewSize || view.layout?.previewSize;\n\tconst gridStyle = usedPreviewSize\n\t\t? {\n\t\t\t\tgridTemplateColumns: `repeat(${ usedPreviewSize }, minmax(0, 1fr))`,\n\t\t }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tregularFields={ regularFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Spinner","Flex","FlexItem","privateApis","componentsPrivateApis","__","useInstanceId","unlock","ItemActions","DataViewsSelectionCheckbox","useHasAPossibleBulkAction","useSomeItemHasAPossibleBulkAction","getClickableItemProps","useUpdatedPreviewSizeOnViewportChange","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Badge","GridItem","view","selection","onChangeSelection","onClickItem","isItemClickable","getItemId","item","actions","mediaField","titleField","descriptionField","regularFields","badgeFields","hasBulkActions","showTitle","showMedia","showDescription","hasBulkAction","id","instanceId","isSelected","includes","renderedMediaField","render","renderedTitleField","clickableMediaItemProps","className","clickableTitleItemProps","mediaA11yProps","titleA11yProps","spacing","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","disabled","justify","length","isCompact","wrap","alignment","map","field","gap","expanded","style","height","direction","header","maxHeight","ViewGrid","data","fields","isLoading","_view$fields","find","otherFields","reduce","accumulator","fieldId","f","key","layout","push","hasData","updatedPreviewSize","usedPreviewSize","previewSize","gridStyle","gridTemplateColumns","columns"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport {\n\tuseHasAPossibleBulkAction,\n\tuseSomeItemHasAPossibleBulkAction,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewGrid as ViewGridType,\n\tViewGridProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport getClickableItemProps from '../utils/get-clickable-item-props';\nimport { useUpdatedPreviewSizeOnViewportChange } from './preview-size-picker';\nconst { Badge } = unlock( componentsPrivateApis );\n\ninterface GridItemProps< Item > {\n\tview: ViewGridType;\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\tonClickItem?: ( item: Item ) => void;\n\tisItemClickable: ( item: Item ) => boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tregularFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\thasBulkActions: boolean;\n}\n\nfunction GridItem< Item >( {\n\tview,\n\tselection,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\ttitleField,\n\tdescriptionField,\n\tregularFields,\n\tbadgeFields,\n\thasBulkActions,\n}: GridItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst instanceId = useInstanceId( GridItem );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } />\n\t\t) : null;\n\n\tconst clickableMediaItemProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName: 'dataviews-view-grid__media',\n\t} );\n\n\tconst clickableTitleItemProps = getClickableItemProps( {\n\t\titem,\n\t\tisItemClickable,\n\t\tonClickItem,\n\t\tclassName: 'dataviews-view-grid__title-field dataviews-title-field',\n\t} );\n\n\tlet mediaA11yProps;\n\tlet titleA11yProps;\n\tif ( isItemClickable( item ) && onClickItem ) {\n\t\tif ( renderedTitleField ) {\n\t\t\tmediaA11yProps = {\n\t\t\t\t'aria-labelledby': `dataviews-view-grid__title-field-${ instanceId }`,\n\t\t\t};\n\t\t\ttitleA11yProps = {\n\t\t\t\tid: `dataviews-view-grid__title-field-${ instanceId }`,\n\t\t\t};\n\t\t} else {\n\t\t\tmediaA11yProps = {\n\t\t\t\t'aria-label': __( 'Navigate to item' ),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<div { ...clickableMediaItemProps } { ...mediaA11yProps }>\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasBulkActions && showMedia && renderedMediaField && (\n\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<div { ...clickableTitleItemProps } { ...titleA11yProps }>\n\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t</div>\n\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t) }\n\t\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\twrap\n\t\t\t\t\t\talignment=\"top\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t\t{ !! regularFields?.length && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__fields\"\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ regularFields.map( ( field ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field\"\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\tselection,\n\tview,\n}: ViewGridProps< Item > ) {\n\tconst titleField = fields.find(\n\t\t( field ) => field.id === view?.titleField\n\t);\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view?.mediaField\n\t);\n\tconst descriptionField = fields.find(\n\t\t( field ) => field.id === view?.descriptionField\n\t);\n\tconst otherFields = view.fields ?? [];\n\tconst { regularFields, badgeFields } = otherFields.reduce(\n\t\t(\n\t\t\taccumulator: Record< string, NormalizedField< Item >[] >,\n\t\t\tfieldId\n\t\t) => {\n\t\t\tconst field = fields.find( ( f ) => f.id === fieldId );\n\t\t\tif ( ! field ) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( fieldId )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'regularFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ regularFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst updatedPreviewSize = useUpdatedPreviewSizeOnViewportChange();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\tconst usedPreviewSize = updatedPreviewSize || view.layout?.previewSize;\n\tconst gridStyle = usedPreviewSize\n\t\t? {\n\t\t\t\tgridTemplateColumns: `repeat(${ usedPreviewSize }, minmax(0, 1fr))`,\n\t\t }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\tregularFields={ regularFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,OAAO,EACPC,IAAI,EACJC,QAAQ,EACRC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,aAAa,QAAQ,oBAAoB;;AAElD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,WAAW,MAAM,yCAAyC;AACjE,OAAOC,0BAA0B,MAAM,+CAA+C;AACtF,SACCC,yBAAyB,EACzBC,iCAAiC,QAC3B,yCAAyC;AAQhD,OAAOC,qBAAqB,MAAM,mCAAmC;AACrE,SAASC,qCAAqC,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAC9E,MAAM;EAAEC;AAAM,CAAC,GAAGb,MAAM,CAAEH,qBAAsB,CAAC;AAmBjD,SAASiB,QAAQA,CAAU;EAC1BC,IAAI;EACJC,SAAS;EACTC,iBAAiB;EACjBC,WAAW;EACXC,eAAe;EACfC,SAAS;EACTC,IAAI;EACJC,OAAO;EACPC,UAAU;EACVC,UAAU;EACVC,gBAAgB;EAChBC,aAAa;EACbC,WAAW;EACXC;AACsB,CAAC,EAAG;EAC1B,MAAM;IAAEC,SAAS,GAAG,IAAI;IAAEC,SAAS,GAAG,IAAI;IAAEC,eAAe,GAAG;EAAK,CAAC,GAAGhB,IAAI;EAC3E,MAAMiB,aAAa,GAAG7B,yBAAyB,CAAEmB,OAAO,EAAED,IAAK,CAAC;EAChE,MAAMY,EAAE,GAAGb,SAAS,CAAEC,IAAK,CAAC;EAC5B,MAAMa,UAAU,GAAGnC,aAAa,CAAEe,QAAS,CAAC;EAC5C,MAAMqB,UAAU,GAAGnB,SAAS,CAACoB,QAAQ,CAAEH,EAAG,CAAC;EAC3C,MAAMI,kBAAkB,GAAGd,UAAU,EAAEe,MAAM,gBAC5C9B,IAAA,CAACe,UAAU,CAACe,MAAM;IAACjB,IAAI,EAAGA;EAAM,CAAE,CAAC,GAChC,IAAI;EACR,MAAMkB,kBAAkB,GACvBV,SAAS,IAAIL,UAAU,EAAEc,MAAM,gBAC9B9B,IAAA,CAACgB,UAAU,CAACc,MAAM;IAACjB,IAAI,EAAGA;EAAM,CAAE,CAAC,GAChC,IAAI;EAET,MAAMmB,uBAAuB,GAAGnC,qBAAqB,CAAE;IACtDgB,IAAI;IACJF,eAAe;IACfD,WAAW;IACXuB,SAAS,EAAE;EACZ,CAAE,CAAC;EAEH,MAAMC,uBAAuB,GAAGrC,qBAAqB,CAAE;IACtDgB,IAAI;IACJF,eAAe;IACfD,WAAW;IACXuB,SAAS,EAAE;EACZ,CAAE,CAAC;EAEH,IAAIE,cAAc;EAClB,IAAIC,cAAc;EAClB,IAAKzB,eAAe,CAAEE,IAAK,CAAC,IAAIH,WAAW,EAAG;IAC7C,IAAKqB,kBAAkB,EAAG;MACzBI,cAAc,GAAG;QAChB,iBAAiB,EAAE,oCAAqCT,UAAU;MACnE,CAAC;MACDU,cAAc,GAAG;QAChBX,EAAE,EAAE,oCAAqCC,UAAU;MACpD,CAAC;IACF,CAAC,MAAM;MACNS,cAAc,GAAG;QAChB,YAAY,EAAE7C,EAAE,CAAE,kBAAmB;MACtC,CAAC;IACF;EACD;EAEA,oBACCY,KAAA,CAAClB,MAAM;IACNqD,OAAO,EAAG,CAAG;IAEbJ,SAAS,EAAGvD,IAAI,CAAE,2BAA2B,EAAE;MAC9C,aAAa,EAAE8C,aAAa,IAAIG;IACjC,CAAE,CAAG;IACLW,cAAc,EAAKC,KAAK,IAAM;MAC7B,IAAKA,KAAK,CAACC,OAAO,IAAID,KAAK,CAACE,OAAO,EAAG;QACrCF,KAAK,CAACG,eAAe,CAAC,CAAC;QACvBH,KAAK,CAACI,cAAc,CAAC,CAAC;QACtB,IAAK,CAAEnB,aAAa,EAAG;UACtB;QACD;QACAf,iBAAiB,CAChBD,SAAS,CAACoB,QAAQ,CAAEH,EAAG,CAAC,GACrBjB,SAAS,CAACoC,MAAM,CAAIC,MAAM,IAAMpB,EAAE,KAAKoB,MAAO,CAAC,GAC/C,CAAE,GAAGrC,SAAS,EAAEiB,EAAE,CACtB,CAAC;MACF;IACD,CAAG;IAAAqB,QAAA,GAEDxB,SAAS,IAAIO,kBAAkB,iBAChC7B,IAAA;MAAA,GAAUgC,uBAAuB;MAAA,GAAQG,cAAc;MAAAW,QAAA,EACpDjB;IAAkB,CAChB,CACL,EACCT,cAAc,IAAIE,SAAS,IAAIO,kBAAkB,iBAClD7B,IAAA,CAACN,0BAA0B;MAC1BmB,IAAI,EAAGA,IAAM;MACbL,SAAS,EAAGA,SAAW;MACvBC,iBAAiB,EAAGA,iBAAmB;MACvCG,SAAS,EAAGA,SAAW;MACvBI,UAAU,EAAGA,UAAY;MACzB+B,QAAQ,EAAG,CAAEvB;IAAe,CAC5B,CACD,eACDtB,KAAA,CAACpB,MAAM;MACNkE,OAAO,EAAC,eAAe;MACvBf,SAAS,EAAC,oCAAoC;MAAAa,QAAA,gBAE9C9C,IAAA;QAAA,GAAUkC,uBAAuB;QAAA,GAAQE,cAAc;QAAAU,QAAA,EACpDf;MAAkB,CAChB,CAAC,EACJ,CAAC,CAAEjB,OAAO,EAAEmC,MAAM,iBACnBjD,IAAA,CAACP,WAAW;QAACoB,IAAI,EAAGA,IAAM;QAACC,OAAO,EAAGA,OAAS;QAACoC,SAAS;MAAA,CAAE,CAC1D;IAAA,CACM,CAAC,eACThD,KAAA,CAAClB,MAAM;MAACqD,OAAO,EAAG,CAAG;MAAAS,QAAA,GAClBvB,eAAe,IAAIN,gBAAgB,EAAEa,MAAM,iBAC5C9B,IAAA,CAACiB,gBAAgB,CAACa,MAAM;QAACjB,IAAI,EAAGA;MAAM,CAAE,CACxC,EACC,CAAC,CAAEM,WAAW,EAAE8B,MAAM,iBACvBjD,IAAA,CAAClB,MAAM;QACNmD,SAAS,EAAC,mCAAmC;QAC7CI,OAAO,EAAG,CAAG;QACbc,IAAI;QACJC,SAAS,EAAC,KAAK;QACfJ,OAAO,EAAC,YAAY;QAAAF,QAAA,EAElB3B,WAAW,CAACkC,GAAG,CAAIC,KAAK,IAAM;UAC/B,oBACCtD,IAAA,CAACK,KAAK;YAEL4B,SAAS,EAAC,kCAAkC;YAAAa,QAAA,eAE5C9C,IAAA,CAACsD,KAAK,CAACxB,MAAM;cAACjB,IAAI,EAAGA;YAAM,CAAE;UAAC,GAHxByC,KAAK,CAAC7B,EAIN,CAAC;QAEV,CAAE;MAAC,CACI,CACR,EACC,CAAC,CAAEP,aAAa,EAAE+B,MAAM,iBACzBjD,IAAA,CAAChB,MAAM;QACNiD,SAAS,EAAC,6BAA6B;QACvCI,OAAO,EAAG,CAAG;QAAAS,QAAA,EAEX5B,aAAa,CAACmC,GAAG,CAAIC,KAAK,IAAM;UACjC,oBACCtD,IAAA,CAACd,IAAI;YACJ+C,SAAS,EAAC,4BAA4B;YAEtCsB,GAAG,EAAG,CAAG;YACTP,OAAO,EAAC,YAAY;YACpBQ,QAAQ;YACRC,KAAK,EAAG;cAAEC,MAAM,EAAE;YAAO,CAAG;YAC5BC,SAAS,EAAC,KAAK;YAAAb,QAAA,eAEf5C,KAAA,CAAAE,SAAA;cAAA0C,QAAA,gBACC9C,IAAA,CAACb,QAAQ;gBAAC8C,SAAS,EAAC,iCAAiC;gBAAAa,QAAA,EAClDQ,KAAK,CAACM;cAAM,CACL,CAAC,eACX5D,IAAA,CAACb,QAAQ;gBACR8C,SAAS,EAAC,kCAAkC;gBAC5CwB,KAAK,EAAG;kBAAEI,SAAS,EAAE;gBAAO,CAAG;gBAAAf,QAAA,eAE/B9C,IAAA,CAACsD,KAAK,CAACxB,MAAM;kBAACjB,IAAI,EAAGA;gBAAM,CAAE;cAAC,CACrB,CAAC;YAAA,CACV;UAAC,GAjBGyC,KAAK,CAAC7B,EAkBP,CAAC;QAET,CAAE;MAAC,CACI,CACR;IAAA,CACM,CAAC;EAAA,GArGHA,EAsGC,CAAC;AAEX;AAEA,eAAe,SAASqC,QAAQA,CAAU;EACzChD,OAAO;EACPiD,IAAI;EACJC,MAAM;EACNpD,SAAS;EACTqD,SAAS;EACTxD,iBAAiB;EACjBC,WAAW;EACXC,eAAe;EACfH,SAAS;EACTD;AACsB,CAAC,EAAG;EAAA,IAAA2D,YAAA;EAC1B,MAAMlD,UAAU,GAAGgD,MAAM,CAACG,IAAI,CAC3Bb,KAAK,IAAMA,KAAK,CAAC7B,EAAE,KAAKlB,IAAI,EAAES,UACjC,CAAC;EACD,MAAMD,UAAU,GAAGiD,MAAM,CAACG,IAAI,CAC3Bb,KAAK,IAAMA,KAAK,CAAC7B,EAAE,KAAKlB,IAAI,EAAEQ,UACjC,CAAC;EACD,MAAME,gBAAgB,GAAG+C,MAAM,CAACG,IAAI,CACjCb,KAAK,IAAMA,KAAK,CAAC7B,EAAE,KAAKlB,IAAI,EAAEU,gBACjC,CAAC;EACD,MAAMmD,WAAW,IAAAF,YAAA,GAAG3D,IAAI,CAACyD,MAAM,cAAAE,YAAA,cAAAA,YAAA,GAAI,EAAE;EACrC,MAAM;IAAEhD,aAAa;IAAEC;EAAY,CAAC,GAAGiD,WAAW,CAACC,MAAM,CACxD,CACCC,WAAwD,EACxDC,OAAO,KACH;IACJ,MAAMjB,KAAK,GAAGU,MAAM,CAACG,IAAI,CAAIK,CAAC,IAAMA,CAAC,CAAC/C,EAAE,KAAK8C,OAAQ,CAAC;IACtD,IAAK,CAAEjB,KAAK,EAAG;MACd,OAAOgB,WAAW;IACnB;IACA;IACA;IACA,MAAMG,GAAG,GAAGlE,IAAI,CAACmE,MAAM,EAAEvD,WAAW,EAAES,QAAQ,CAAE2C,OAAQ,CAAC,GACtD,aAAa,GACb,eAAe;IAClBD,WAAW,CAAEG,GAAG,CAAE,CAACE,IAAI,CAAErB,KAAM,CAAC;IAChC,OAAOgB,WAAW;EACnB,CAAC,EACD;IAAEpD,aAAa,EAAE,EAAE;IAAEC,WAAW,EAAE;EAAG,CACtC,CAAC;EACD,MAAMyD,OAAO,GAAG,CAAC,CAAEb,IAAI,EAAEd,MAAM;EAC/B,MAAM4B,kBAAkB,GAAG/E,qCAAqC,CAAC,CAAC;EAClE,MAAMsB,cAAc,GAAGxB,iCAAiC,CAAEkB,OAAO,EAAEiD,IAAK,CAAC;EACzE,MAAMe,eAAe,GAAGD,kBAAkB,IAAItE,IAAI,CAACmE,MAAM,EAAEK,WAAW;EACtE,MAAMC,SAAS,GAAGF,eAAe,GAC9B;IACAG,mBAAmB,EAAE,UAAWH,eAAe;EAC/C,CAAC,GACD,CAAC,CAAC;EACL,oBACC5E,KAAA,CAAAE,SAAA;IAAA0C,QAAA,GACG8B,OAAO,iBACR5E,IAAA,CAACpB,IAAI;MACJ2E,GAAG,EAAG,CAAG;MACT2B,OAAO,EAAG,CAAG;MACb9B,SAAS,EAAC,KAAK;MACfnB,SAAS,EAAC,qBAAqB;MAC/BwB,KAAK,EAAGuB,SAAW;MACnB,aAAYf,SAAW;MAAAnB,QAAA,EAErBiB,IAAI,CAACV,GAAG,CAAIxC,IAAI,IAAM;QACvB,oBACCb,IAAA,CAACM,QAAQ;UAERC,IAAI,EAAGA,IAAM;UACbC,SAAS,EAAGA,SAAW;UACvBC,iBAAiB,EAAGA,iBAAmB;UACvCC,WAAW,EAAGA,WAAa;UAC3BC,eAAe,EAAGA,eAAiB;UACnCC,SAAS,EAAGA,SAAW;UACvBC,IAAI,EAAGA,IAAM;UACbC,OAAO,EAAGA,OAAS;UACnBC,UAAU,EAAGA,UAAY;UACzBC,UAAU,EAAGA,UAAY;UACzBC,gBAAgB,EAAGA,gBAAkB;UACrCC,aAAa,EAAGA,aAAe;UAC/BC,WAAW,EAAGA,WAAa;UAC3BC,cAAc,EAAGA;QAAgB,GAd3BR,SAAS,CAAEC,IAAK,CAetB,CAAC;MAEJ,CAAE;IAAC,CACE,CACN,EACC,CAAE+D,OAAO,iBACV5E,IAAA;MACCiC,SAAS,EAAGvD,IAAI,CAAE;QACjB,mBAAmB,EAAEuF,SAAS;QAC9B,sBAAsB,EAAE,CAAEA;MAC3B,CAAE,CAAG;MAAAnB,QAAA,eAEL9C,IAAA;QAAA8C,QAAA,EAAKmB,SAAS,gBAAGjE,IAAA,CAACf,OAAO,IAAE,CAAC,GAAGK,EAAE,CAAE,YAAa;MAAC,CAAK;IAAC,CACnD,CACL;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useInstanceId","usePrevious","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","privateApis","componentsPrivateApis","Spinner","VisuallyHidden","Composite","useCallback","useEffect","useMemo","useRef","useState","__","moreVertical","useRegistry","unlock","ActionsMenuGroup","ActionModal","jsx","_jsx","jsxs","_jsxs","Menu","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","isModalOpen","setIsModalOpen","compositeItemId","id","label","role","children","Item","render","disabled","accessibleWhenDisabled","icon","isDestructive","size","onClick","action","items","closeModal","callback","ListItem","view","actions","isSelected","titleField","mediaField","descriptionField","onSelect","otherFields","onDropdownTriggerKeyDown","showTitle","showMedia","showDescription","itemRef","labelId","descriptionId","isHovered","setIsHovered","activeModalAction","setActiveModalAction","handleHover","type","isHover","current","scrollIntoView","behavior","block","inline","eligibleActions","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","hasOnlyOnePrimaryAction","length","renderedMediaField","className","renderedTitleField","usedActions","spacing","placement","TriggerButton","onKeyDown","Popover","Row","ref","onMouseEnter","onMouseLeave","justify","alignment","map","field","as","isDefined","ViewList","props","_view$fields","data","fields","getItemId","isLoading","onChangeSelection","selection","baseId","selectedItem","findLast","includes","find","fieldId","f","generateCompositeItemIdPrefix","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewList as ViewListType,\n\tViewListProps,\n\tActionModal as ActionModalType,\n} from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tview: ViewListType;\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\totherFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tview,\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonSelect,\n\totherFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst registry = useRegistry();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst hasOnlyOnePrimaryAction = primaryAction && actions.length === 1;\n\n\tconst renderedMediaField =\n\t\tshowMedia && mediaField?.render ? (\n\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t<mediaField.render item={ item } />\n\t\t\t</div>\n\t\t) : null;\n\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } />\n\t\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! hasOnlyOnePrimaryAction && (\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\tonDropdownTriggerKeyDown\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Menu.Popover>\n\t\t\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t</Menu>\n\t\t\t\t\t{ !! activeModalAction && (\n\t\t\t\t\t\t<ActionModal\n\t\t\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <div /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-title-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__field\">\n\t\t\t\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ otherFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\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 otherFields = ( view?.fields ?? [] )\n\t\t.map( ( fieldId ) => fields.find( ( f ) => fieldId === f.id ) )\n\t\t.filter( isDefined );\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <div /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\totherFields={ otherFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useInstanceId","usePrevious","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","privateApis","componentsPrivateApis","Spinner","VisuallyHidden","Composite","useCallback","useEffect","useMemo","useRef","useState","__","moreVertical","useRegistry","unlock","ActionsMenuGroup","ActionModal","jsx","_jsx","jsxs","_jsxs","Menu","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","isModalOpen","setIsModalOpen","compositeItemId","id","label","role","children","Item","render","disabled","accessibleWhenDisabled","icon","isDestructive","size","onClick","action","items","closeModal","callback","ListItem","view","actions","isSelected","titleField","mediaField","descriptionField","onSelect","otherFields","onDropdownTriggerKeyDown","showTitle","showMedia","showDescription","itemRef","labelId","descriptionId","isHovered","setIsHovered","activeModalAction","setActiveModalAction","handleHover","type","isHover","current","scrollIntoView","behavior","block","inline","eligibleActions","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","hasOnlyOnePrimaryAction","length","renderedMediaField","className","renderedTitleField","usedActions","spacing","placement","TriggerButton","onKeyDown","Popover","Row","ref","onMouseEnter","onMouseLeave","justify","alignment","map","field","as","isDefined","ViewList","props","_view$fields","data","fields","getItemId","isLoading","onChangeSelection","selection","baseId","selectedItem","findLast","includes","find","fieldId","f","generateCompositeItemIdPrefix","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewList as ViewListType,\n\tViewListProps,\n\tActionModal as ActionModalType,\n} from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tview: ViewListType;\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\totherFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tdisabled={ !! primaryAction.disabled }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tview,\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\ttitleField,\n\tmediaField,\n\tdescriptionField,\n\tonSelect,\n\totherFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst registry = useRegistry();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ activeModalAction, setActiveModalAction ] = useState(\n\t\tnull as ActionModalType< Item > | null\n\t);\n\tconst handleHover: React.MouseEventHandler = ( { type } ) => {\n\t\tconst isHover = type === 'mouseenter';\n\t\tsetIsHovered( isHover );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst hasOnlyOnePrimaryAction = primaryAction && actions.length === 1;\n\n\tconst renderedMediaField =\n\t\tshowMedia && mediaField?.render ? (\n\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t<mediaField.render item={ item } />\n\t\t\t</div>\n\t\t) : null;\n\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } />\n\t\t) : null;\n\n\tconst usedActions = eligibleActions?.length > 0 && (\n\t\t<HStack spacing={ 3 } className=\"dataviews-view-list__item-actions\">\n\t\t\t{ primaryAction && (\n\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\titem={ item }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! hasOnlyOnePrimaryAction && (\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\tonDropdownTriggerKeyDown\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Menu.Popover>\n\t\t\t\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tregistry={ registry }\n\t\t\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t</Menu>\n\t\t\t\t\t{ !! activeModalAction && (\n\t\t\t\t\t\t<ActionModal\n\t\t\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</HStack>\n\t);\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <div /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleHover }\n\t\t\tonMouseLeave={ handleHover }\n\t\t>\n\t\t\t<HStack className=\"dataviews-view-list__item-wrapper\" spacing={ 0 }>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<HStack spacing={ 3 } justify=\"start\" alignment=\"flex-start\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing={ 0 }>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"dataviews-title-field\"\n\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ usedActions }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__field\">\n\t\t\t\t\t\t\t\t<descriptionField.render item={ item } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ otherFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\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 otherFields = ( view?.fields ?? [] )\n\t\t.map( ( fieldId ) => fields.find( ( f ) => fieldId === f.id ) )\n\t\t.filter( isDefined );\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <div /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\totherFields={ otherFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","arrowLeft","arrowRight","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","forwardRef","Children","Fragment","unlock","sanitizeOperators","SORTING_DIRECTIONS","sortArrows","sortLabels","jsx","_jsx","jsxs","_jsxs","Menu","WithMenuSeparators","children","toArray","filter","Boolean","map","child","i","Separator","_HeaderMenu","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","canMove","ref","_view$fields","visibleFieldIds","index","indexOf","isSorted","sort","field","isHidable","isSortable","canAddFilter","operators","find","f","id","enableHiding","enableSorting","header","filters","some","_filter","elements","length","filterBy","isPrimary","TriggerButton","render","size","className","variant","direction","Popover","style","minWidth","Group","isChecked","value","RadioItem","name","checked","onChange","showLevels","ItemLabel","Item","prefix","icon","onClick","page","undefined","operator","disabled","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","ColumnHeaderMenu"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-header-menu.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowLeft, arrowRight, unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { sanitizeOperators } from '../../utils';\nimport { SORTING_DIRECTIONS, sortArrows, sortLabels } from '../../constants';\nimport type {\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tOperator,\n} from '../../types';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfieldId: string;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n\tcanMove?: boolean;\n}\n\nfunction WithMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <Menu.Separator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfieldId,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t\tcanMove = true,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst index = visibleFieldIds?.indexOf( fieldId ) as number;\n\tconst isSorted = view.sort?.field === fieldId;\n\tlet isHidable = false;\n\tlet isSortable = false;\n\tlet canAddFilter = false;\n\tlet operators: Operator[] = [];\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\n\tif ( ! field ) {\n\t\t// No combined or regular field found.\n\t\treturn null;\n\t}\n\n\tisHidable = field.enableHiding !== false;\n\tisSortable = field.enableSorting !== false;\n\tconst header = field.header;\n\n\toperators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tcanAddFilter =\n\t\t! view.filters?.some( ( _filter ) => fieldId === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\n\treturn (\n\t\t<Menu>\n\t\t\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\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ header }\n\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</Menu.TriggerButton>\n\t\t\t<Menu.Popover style={ { minWidth: '240px' } }>\n\t\t\t\t<WithMenuSeparators>\n\t\t\t\t\t{ isSortable && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\t\tconst value = `${ fieldId }-${ direction }`;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ () => {\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\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\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\tshowLevels: 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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t</Menu.RadioItem>\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</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetOpenedFilter( fieldId );\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( canMove || isHidable ) && field && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex + 1\n\t\t\t\t\t\t\t\t\t\t\t\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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Move left' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\tindex >= visibleFieldIds.length - 1\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex\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\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex + 2\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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Move right' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ isHidable && field && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonHide( field );\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tfields: visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t\t\t\t\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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Hide column' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t</WithMenuSeparators>\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst ColumnHeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nexport default ColumnHeaderMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","arrowLeft","arrowRight","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","forwardRef","Children","Fragment","unlock","sanitizeOperators","SORTING_DIRECTIONS","sortArrows","sortLabels","jsx","_jsx","jsxs","_jsxs","Menu","WithMenuSeparators","children","toArray","filter","Boolean","map","child","i","Separator","_HeaderMenu","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","canMove","ref","_view$fields","visibleFieldIds","index","indexOf","isSorted","sort","field","isHidable","isSortable","canAddFilter","operators","find","f","id","enableHiding","enableSorting","header","filters","some","_filter","elements","length","filterBy","isPrimary","TriggerButton","render","size","className","variant","direction","Popover","style","minWidth","Group","isChecked","value","RadioItem","name","checked","onChange","showLevels","ItemLabel","Item","prefix","icon","onClick","page","undefined","operator","disabled","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","ColumnHeaderMenu"],"sources":["@wordpress/dataviews/src/dataviews-layouts/table/column-header-menu.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowLeft, arrowRight, unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { sanitizeOperators } from '../../utils';\nimport { SORTING_DIRECTIONS, sortArrows, sortLabels } from '../../constants';\nimport type {\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tOperator,\n} from '../../types';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfieldId: string;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n\tcanMove?: boolean;\n}\n\nfunction WithMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <Menu.Separator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfieldId,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t\tcanMove = true,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst index = visibleFieldIds?.indexOf( fieldId ) as number;\n\tconst isSorted = view.sort?.field === fieldId;\n\tlet isHidable = false;\n\tlet isSortable = false;\n\tlet canAddFilter = false;\n\tlet operators: Operator[] = [];\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\n\tif ( ! field ) {\n\t\t// No combined or regular field found.\n\t\treturn null;\n\t}\n\n\tisHidable = field.enableHiding !== false;\n\tisSortable = field.enableSorting !== false;\n\tconst header = field.header;\n\n\toperators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tcanAddFilter =\n\t\t! view.filters?.some( ( _filter ) => fieldId === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\n\treturn (\n\t\t<Menu>\n\t\t\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\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ header }\n\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</Menu.TriggerButton>\n\t\t\t<Menu.Popover style={ { minWidth: '240px' } }>\n\t\t\t\t<WithMenuSeparators>\n\t\t\t\t\t{ isSortable && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\t\tconst value = `${ fieldId }-${ direction }`;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ () => {\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\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\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\tshowLevels: 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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t</Menu.RadioItem>\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</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetOpenedFilter( fieldId );\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: fieldId,\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( canMove || isHidable ) && field && (\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex - 1\n\t\t\t\t\t\t\t\t\t\t\t\t) ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex + 1\n\t\t\t\t\t\t\t\t\t\t\t\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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Move left' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ canMove && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\tindex >= visibleFieldIds.length - 1\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t\t\t\t...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex\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\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\t\t\t\tfieldId,\n\t\t\t\t\t\t\t\t\t\t\t\t...visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex + 2\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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Move right' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ isHidable && field && (\n\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonHide( field );\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tfields: visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t\t\t\t\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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Hide column' ) }\n\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t) }\n\t\t\t\t</WithMenuSeparators>\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst ColumnHeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nexport default ColumnHeaderMenu;\n"],"mappings":"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","ignoreList":[]}
|