@wordpress/dataviews 8.0.1-next.e256d081a.0 → 9.0.1-next.6870dfe5b.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 +24 -1
- package/README.md +96 -1
- package/build/components/dataform-context/index.js +1 -0
- package/build/components/dataform-context/index.js.map +1 -1
- package/build/components/dataviews/index.js +11 -1
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews-context/index.js +1 -0
- package/build/components/dataviews-context/index.js.map +1 -1
- package/build/components/dataviews-layout/index.js +2 -1
- package/build/components/dataviews-layout/index.js.map +1 -1
- package/build/components/dataviews-picker/footer.js +145 -0
- package/build/components/dataviews-picker/footer.js.map +1 -0
- package/build/components/dataviews-picker/index.js +201 -0
- package/build/components/dataviews-picker/index.js.map +1 -0
- package/build/components/dataviews-selection-checkbox/index.js +4 -2
- package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build/components/dataviews-view-config/index.js +1 -0
- package/build/components/dataviews-view-config/index.js.map +1 -1
- package/build/constants.js +4 -1
- package/build/constants.js.map +1 -1
- package/build/dataform-controls/checkbox.js +23 -2
- package/build/dataform-controls/checkbox.js.map +1 -1
- package/build/dataform-controls/color.js +128 -0
- package/build/dataform-controls/color.js.map +1 -0
- package/build/dataform-controls/email.js +10 -45
- package/build/dataform-controls/email.js.map +1 -1
- package/build/dataform-controls/index.js +8 -2
- package/build/dataform-controls/index.js.map +1 -1
- package/build/dataform-controls/telephone.js +34 -0
- package/build/dataform-controls/telephone.js.map +1 -0
- package/build/dataform-controls/text.js +7 -48
- package/build/dataform-controls/text.js.map +1 -1
- package/build/dataform-controls/{boolean.js → toggle.js} +6 -4
- package/build/dataform-controls/toggle.js.map +1 -0
- package/build/dataform-controls/url.js +34 -0
- package/build/dataform-controls/url.js.map +1 -0
- package/build/dataform-controls/utils/validated-text.js +76 -0
- package/build/dataform-controls/utils/validated-text.js.map +1 -0
- package/build/dataforms-layouts/card/index.js +6 -7
- package/build/dataforms-layouts/card/index.js.map +1 -1
- package/build/dataforms-layouts/data-form-layout.js +16 -4
- package/build/dataforms-layouts/data-form-layout.js.map +1 -1
- package/build/dataforms-layouts/index.js +31 -1
- package/build/dataforms-layouts/index.js.map +1 -1
- package/build/dataforms-layouts/row/index.js +113 -0
- package/build/dataforms-layouts/row/index.js.map +1 -0
- package/build/dataviews-layouts/grid/index.js +16 -11
- package/build/dataviews-layouts/grid/index.js.map +1 -1
- package/build/dataviews-layouts/index.js +9 -1
- package/build/dataviews-layouts/index.js.map +1 -1
- package/build/dataviews-layouts/picker-grid/index.js +357 -0
- package/build/dataviews-layouts/picker-grid/index.js.map +1 -0
- package/build/dataviews-layouts/utils/grid-items.js +37 -0
- package/build/dataviews-layouts/utils/grid-items.js.map +1 -0
- package/build/dataviews-layouts/utils/preview-size-picker.js +81 -0
- package/build/dataviews-layouts/utils/preview-size-picker.js.map +1 -0
- package/build/field-types/boolean.js +1 -1
- package/build/field-types/boolean.js.map +1 -1
- package/build/field-types/color.js +113 -0
- package/build/field-types/color.js.map +1 -0
- package/build/field-types/index.js +12 -0
- package/build/field-types/index.js.map +1 -1
- package/build/field-types/telephone.js +57 -0
- package/build/field-types/telephone.js.map +1 -0
- package/build/field-types/url.js +57 -0
- package/build/field-types/url.js.map +1 -0
- package/build/normalize-form-fields.js +6 -0
- package/build/normalize-form-fields.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/validation.js +1 -1
- package/build/validation.js.map +1 -1
- package/build-module/components/dataform-context/index.js +1 -0
- package/build-module/components/dataform-context/index.js.map +1 -1
- package/build-module/components/dataviews/index.js +11 -1
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews-context/index.js +1 -0
- package/build-module/components/dataviews-context/index.js.map +1 -1
- package/build-module/components/dataviews-layout/index.js +2 -1
- package/build-module/components/dataviews-layout/index.js.map +1 -1
- package/build-module/components/dataviews-picker/footer.js +136 -0
- package/build-module/components/dataviews-picker/footer.js.map +1 -0
- package/build-module/components/dataviews-picker/index.js +191 -0
- package/build-module/components/dataviews-picker/index.js.map +1 -0
- package/build-module/components/dataviews-selection-checkbox/index.js +4 -2
- package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build-module/components/dataviews-view-config/index.js +1 -0
- package/build-module/components/dataviews-view-config/index.js.map +1 -1
- package/build-module/constants.js +3 -0
- package/build-module/constants.js.map +1 -1
- package/build-module/dataform-controls/checkbox.js +25 -3
- package/build-module/dataform-controls/checkbox.js.map +1 -1
- package/build-module/dataform-controls/color.js +122 -0
- package/build-module/dataform-controls/color.js.map +1 -0
- package/build-module/dataform-controls/email.js +9 -45
- package/build-module/dataform-controls/email.js.map +1 -1
- package/build-module/dataform-controls/index.js +8 -2
- package/build-module/dataform-controls/index.js.map +1 -1
- package/build-module/dataform-controls/telephone.js +27 -0
- package/build-module/dataform-controls/telephone.js.map +1 -0
- package/build-module/dataform-controls/text.js +6 -48
- package/build-module/dataform-controls/text.js.map +1 -1
- package/build-module/dataform-controls/{boolean.js → toggle.js} +5 -3
- package/build-module/dataform-controls/toggle.js.map +1 -0
- package/build-module/dataform-controls/url.js +27 -0
- package/build-module/dataform-controls/url.js.map +1 -0
- package/build-module/dataform-controls/utils/validated-text.js +70 -0
- package/build-module/dataform-controls/utils/validated-text.js.map +1 -0
- package/build-module/dataforms-layouts/card/index.js +6 -7
- package/build-module/dataforms-layouts/card/index.js.map +1 -1
- package/build-module/dataforms-layouts/data-form-layout.js +14 -4
- package/build-module/dataforms-layouts/data-form-layout.js.map +1 -1
- package/build-module/dataforms-layouts/index.js +32 -1
- package/build-module/dataforms-layouts/index.js.map +1 -1
- package/build-module/dataforms-layouts/row/index.js +106 -0
- package/build-module/dataforms-layouts/row/index.js.map +1 -0
- package/build-module/dataviews-layouts/grid/index.js +16 -11
- package/build-module/dataviews-layouts/grid/index.js.map +1 -1
- package/build-module/dataviews-layouts/index.js +10 -2
- package/build-module/dataviews-layouts/index.js.map +1 -1
- package/build-module/dataviews-layouts/picker-grid/index.js +348 -0
- package/build-module/dataviews-layouts/picker-grid/index.js.map +1 -0
- package/build-module/dataviews-layouts/utils/grid-items.js +29 -0
- package/build-module/dataviews-layouts/utils/grid-items.js.map +1 -0
- package/build-module/dataviews-layouts/utils/preview-size-picker.js +73 -0
- package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +1 -0
- package/build-module/field-types/boolean.js +1 -1
- package/build-module/field-types/boolean.js.map +1 -1
- package/build-module/field-types/color.js +107 -0
- package/build-module/field-types/color.js.map +1 -0
- package/build-module/field-types/index.js +12 -0
- package/build-module/field-types/index.js.map +1 -1
- package/build-module/field-types/telephone.js +51 -0
- package/build-module/field-types/telephone.js.map +1 -0
- package/build-module/field-types/url.js +51 -0
- package/build-module/field-types/url.js.map +1 -0
- package/build-module/normalize-form-fields.js +6 -0
- package/build-module/normalize-form-fields.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/validation.js +1 -1
- package/build-module/validation.js.map +1 -1
- package/build-style/style-rtl.css +252 -12
- package/build-style/style.css +252 -12
- package/build-types/components/dataform/stories/index.story.d.ts +19 -4
- package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataform-context/index.d.ts.map +1 -1
- package/build-types/components/dataviews/index.d.ts +1 -1
- package/build-types/components/dataviews/index.d.ts.map +1 -1
- package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataviews-context/index.d.ts +1 -0
- package/build-types/components/dataviews-context/index.d.ts.map +1 -1
- package/build-types/components/dataviews-layout/index.d.ts.map +1 -1
- package/build-types/components/dataviews-picker/footer.d.ts +4 -0
- package/build-types/components/dataviews-picker/footer.d.ts.map +1 -0
- package/build-types/components/dataviews-picker/index.d.ts +55 -0
- package/build-types/components/dataviews-picker/index.d.ts.map +1 -0
- package/build-types/components/dataviews-picker/stories/index.story.d.ts +42 -0
- package/build-types/components/dataviews-picker/stories/index.story.d.ts.map +1 -0
- package/build-types/components/dataviews-selection-checkbox/index.d.ts +2 -1
- package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
- package/build-types/constants.d.ts +1 -0
- package/build-types/constants.d.ts.map +1 -1
- package/build-types/dataform-controls/checkbox.d.ts.map +1 -1
- package/build-types/dataform-controls/color.d.ts +6 -0
- package/build-types/dataform-controls/color.d.ts.map +1 -0
- package/build-types/dataform-controls/email.d.ts.map +1 -1
- package/build-types/dataform-controls/index.d.ts.map +1 -1
- package/build-types/dataform-controls/telephone.d.ts +6 -0
- package/build-types/dataform-controls/telephone.d.ts.map +1 -0
- package/build-types/dataform-controls/text.d.ts.map +1 -1
- package/build-types/dataform-controls/toggle.d.ts +6 -0
- package/build-types/dataform-controls/toggle.d.ts.map +1 -0
- package/build-types/dataform-controls/url.d.ts +6 -0
- package/build-types/dataform-controls/url.d.ts.map +1 -0
- package/build-types/dataform-controls/utils/validated-text.d.ts +16 -0
- package/build-types/dataform-controls/utils/validated-text.d.ts.map +1 -0
- package/build-types/dataforms-layouts/card/index.d.ts +0 -3
- package/build-types/dataforms-layouts/card/index.d.ts.map +1 -1
- package/build-types/dataforms-layouts/data-form-layout.d.ts +4 -1
- package/build-types/dataforms-layouts/data-form-layout.d.ts.map +1 -1
- package/build-types/dataforms-layouts/index.d.ts +10 -0
- package/build-types/dataforms-layouts/index.d.ts.map +1 -1
- package/build-types/dataforms-layouts/row/index.d.ts +6 -0
- package/build-types/dataforms-layouts/row/index.d.ts.map +1 -0
- package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/index.d.ts +12 -1
- package/build-types/dataviews-layouts/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/picker-grid/index.d.ts +4 -0
- package/build-types/dataviews-layouts/picker-grid/index.d.ts.map +1 -0
- package/build-types/dataviews-layouts/utils/grid-items.d.ts +5 -0
- package/build-types/dataviews-layouts/utils/grid-items.d.ts.map +1 -0
- package/build-types/dataviews-layouts/utils/preview-size-picker.d.ts +2 -0
- package/build-types/dataviews-layouts/utils/preview-size-picker.d.ts.map +1 -0
- package/build-types/field-types/color.d.ts +20 -0
- package/build-types/field-types/color.d.ts.map +1 -0
- package/build-types/field-types/index.d.ts.map +1 -1
- package/build-types/field-types/stories/index.story.d.ts +81 -0
- package/build-types/field-types/stories/index.story.d.ts.map +1 -0
- package/build-types/field-types/telephone.d.ts +20 -0
- package/build-types/field-types/telephone.d.ts.map +1 -0
- package/build-types/field-types/url.d.ts +20 -0
- package/build-types/field-types/url.d.ts.map +1 -0
- package/build-types/normalize-form-fields.d.ts.map +1 -1
- package/build-types/test/dataviews-picker.d.ts +2 -0
- package/build-types/test/dataviews-picker.d.ts.map +1 -0
- package/build-types/types.d.ts +36 -5
- package/build-types/types.d.ts.map +1 -1
- package/build-types/validation.d.ts.map +1 -1
- package/build-wp/index.js +5061 -4013
- package/package.json +16 -15
- package/src/components/dataform/stories/index.story.tsx +333 -11
- package/src/components/dataform-context/index.tsx +1 -0
- package/src/components/dataviews/index.tsx +25 -1
- package/src/components/dataviews/stories/fixtures.tsx +1 -1
- package/src/components/dataviews/stories/index.story.tsx +14 -0
- package/src/components/dataviews/style.scss +4 -2
- package/src/components/dataviews-context/index.ts +3 -0
- package/src/components/dataviews-layout/index.tsx +4 -2
- package/src/components/dataviews-picker/footer.tsx +207 -0
- package/src/components/dataviews-picker/index.tsx +284 -0
- package/src/components/dataviews-picker/stories/index.story.tsx +251 -0
- package/src/components/dataviews-picker/style.scss +10 -0
- package/src/components/dataviews-selection-checkbox/index.tsx +3 -0
- package/src/components/dataviews-view-config/index.tsx +1 -0
- package/src/constants.ts +3 -0
- package/src/dataform-controls/checkbox.tsx +33 -3
- package/src/dataform-controls/color.tsx +139 -0
- package/src/dataform-controls/email.tsx +10 -52
- package/src/dataform-controls/index.tsx +8 -2
- package/src/dataform-controls/telephone.tsx +30 -0
- package/src/dataform-controls/text.tsx +2 -57
- package/src/dataform-controls/{boolean.tsx → toggle.tsx} +3 -2
- package/src/dataform-controls/url.tsx +30 -0
- package/src/dataform-controls/utils/validated-text.tsx +96 -0
- package/src/dataforms-layouts/card/index.tsx +5 -4
- package/src/dataforms-layouts/card/style.scss +7 -0
- package/src/dataforms-layouts/data-form-layout.tsx +15 -3
- package/src/dataforms-layouts/index.tsx +35 -0
- package/src/dataforms-layouts/row/index.tsx +115 -0
- package/src/dataforms-layouts/row/style.scss +3 -0
- package/src/dataviews-layouts/grid/index.tsx +38 -33
- package/src/dataviews-layouts/grid/style.scss +42 -20
- package/src/dataviews-layouts/index.ts +16 -2
- package/src/dataviews-layouts/picker-grid/index.tsx +490 -0
- package/src/dataviews-layouts/picker-grid/style.scss +171 -0
- package/src/dataviews-layouts/utils/grid-items.scss +21 -0
- package/src/dataviews-layouts/utils/grid-items.tsx +35 -0
- package/src/dataviews-layouts/utils/preview-size-picker.tsx +87 -0
- package/src/field-types/boolean.tsx +1 -1
- package/src/field-types/color.tsx +115 -0
- package/src/field-types/index.tsx +15 -0
- package/src/field-types/stories/index.story.tsx +719 -0
- package/src/field-types/telephone.tsx +71 -0
- package/src/field-types/url.tsx +71 -0
- package/src/normalize-form-fields.ts +6 -0
- package/src/style.scss +4 -0
- package/src/test/dataform.tsx +2 -2
- package/src/test/dataviews-picker.tsx +478 -0
- package/src/test/dataviews.tsx +86 -0
- package/src/types.ts +56 -4
- package/src/validation.ts +3 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/dataform-controls/boolean.js.map +0 -1
- package/build-module/dataform-controls/boolean.js.map +0 -1
- package/build-types/components/stories/index.story.d.ts +0 -63
- package/build-types/components/stories/index.story.d.ts.map +0 -1
- package/build-types/dataform-controls/boolean.d.ts +0 -6
- package/build-types/dataform-controls/boolean.d.ts.map +0 -1
- package/src/components/stories/index.story.tsx +0 -372
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_compose","_keycodes","_element","_lockUnlock","_dataviewsItemActions","_dataviewsSelectionCheckbox","_dataviewsContext","_dataviewsBulkActions","_itemClickWrapper","_jsxRuntime","Badge","unlock","componentsPrivateApis","GridItem","view","selection","onChangeSelection","onClickItem","isItemClickable","renderItemLink","getItemId","item","actions","mediaField","titleField","descriptionField","regularFields","badgeFields","hasBulkActions","config","posinset","showTitle","showMedia","showDescription","infiniteScrollEnabled","hasBulkAction","useHasAPossibleBulkAction","id","instanceId","useInstanceId","isSelected","includes","renderedMediaField","render","jsx","field","renderedTitleField","mediaA11yProps","titleA11yProps","__","paginationInfo","useContext","DataViewsContext","jsxs","__experimentalVStack","spacing","className","clsx","onClickCapture","event","isAppleOS","metaKey","ctrlKey","stopPropagation","preventDefault","filter","itemId","role","undefined","totalItems","children","ItemClickWrapper","default","disabled","__experimentalHStack","justify","length","isCompact","wrap","alignment","map","Flex","gap","expanded","style","height","direction","Fragment","Tooltip","text","label","FlexItem","header","maxHeight","ViewGrid","data","fields","isLoading","empty","_view$fields","resizeObserverRef","find","otherFields","reduce","accumulator","fieldId","f","key","layout","push","hasData","useSomeItemHasAPossibleBulkAction","usedPreviewSize","previewSize","size","groupField","groupByField","dataByGroup","groups","groupName","getValue","has","set","get","Map","isInfiniteScroll","Array","from","entries","groupItems","sprintf","gridTemplateColumns","ref","sizes","index","Spinner","_default","exports"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n\tTooltip,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { isAppleOS } from '@wordpress/keycodes';\nimport { useContext } from '@wordpress/element';\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 DataViewsContext from '../../components/dataviews-context';\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 { ItemClickWrapper } from '../utils/item-click-wrapper';\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\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\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\tconfig: {\n\t\tsizes: string;\n\t};\n\tposinset?: number;\n}\n\nfunction GridItem< Item >( {\n\tview,\n\tselection,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\trenderItemLink,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\ttitleField,\n\tdescriptionField,\n\tregularFields,\n\tbadgeFields,\n\thasBulkActions,\n\tconfig,\n\tposinset,\n}: GridItemProps< Item > ) {\n\tconst {\n\t\tshowTitle = true,\n\t\tshowMedia = true,\n\t\tshowDescription = true,\n\t\tinfiniteScrollEnabled,\n\t} = 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\n\t\t\titem={ item }\n\t\t\tfield={ mediaField }\n\t\t\tconfig={ config }\n\t\t/>\n\t) : null;\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t) : null;\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\tconst { paginationInfo } = useContext( DataViewsContext );\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 ( isAppleOS() ? event.metaKey : event.ctrlKey ) {\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\trole={ infiniteScrollEnabled ? 'article' : undefined }\n\t\t\taria-setsize={\n\t\t\t\tinfiniteScrollEnabled ? paginationInfo.totalItems : undefined\n\t\t\t}\n\t\t\taria-posinset={ posinset }\n\t\t>\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<ItemClickWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\tclassName=\"dataviews-view-grid__media\"\n\t\t\t\t\t{ ...mediaA11yProps }\n\t\t\t\t>\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</ItemClickWrapper>\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<ItemClickWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\tclassName=\"dataviews-view-grid__title-field dataviews-title-field\"\n\t\t\t\t\t{ ...titleA11yProps }\n\t\t\t\t>\n\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t</ItemClickWrapper>\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\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t/>\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\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t/>\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<Tooltip text={ field.label }>\n\t\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\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\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\n\t\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t/>\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\nfunction ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\trenderItemLink,\n\tselection,\n\tview,\n\tclassName,\n\tempty,\n}: ViewGridProps< Item > ) {\n\tconst { resizeObserverRef } = useContext( DataViewsContext );\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 hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\tconst usedPreviewSize = view.layout?.previewSize;\n\t/*\n\t * This is the maximum width that an image can achieve in the grid. The reasoning is:\n\t * The biggest min image width available is 430px (see /dataviews-layouts/grid/preview-size-picker.tsx).\n\t * Because the grid is responsive, once there is room for another column, the images shrink to accommodate it.\n\t * So each image will never grow past 2*430px plus a little more to account for the gaps.\n\t */\n\tconst size = '900px';\n\n\tconst groupField = view.groupByField\n\t\t? fields.find( ( f ) => f.id === view.groupByField )\n\t\t: null;\n\n\t// Group data by groupByField if specified\n\tconst dataByGroup = groupField\n\t\t? data.reduce( ( groups: Map< string, typeof data >, item ) => {\n\t\t\t\tconst groupName = groupField.getValue( { item } );\n\t\t\t\tif ( ! groups.has( groupName ) ) {\n\t\t\t\t\tgroups.set( groupName, [] );\n\t\t\t\t}\n\t\t\t\tgroups.get( groupName )?.push( item );\n\t\t\t\treturn groups;\n\t\t }, new Map< string, typeof data >() )\n\t\t: null;\n\n\tconst isInfiniteScroll = view.infiniteScrollEnabled && ! dataByGroup;\n\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\t// Render multiple groups.\n\t\t\t\thasData && groupField && dataByGroup && (\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t{ Array.from( dataByGroup.entries() ).map(\n\t\t\t\t\t\t\t( [ groupName, groupItems ] ) => (\n\t\t\t\t\t\t\t\t<VStack key={ groupName } spacing={ 2 }>\n\t\t\t\t\t\t\t\t\t<h3 className=\"dataviews-view-grid__group-header\">\n\t\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: 1: The label of the field e.g. \"Date\". 2: The value of the field, e.g.: \"May 2022\".\n\t\t\t\t\t\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\t\t\t\t\t\tgroupField.label,\n\t\t\t\t\t\t\t\t\t\t\tgroupName\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'dataviews-view-grid',\n\t\t\t\t\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridTemplateColumns:\n\t\t\t\t\t\t\t\t\t\t\t\tusedPreviewSize &&\n\t\t\t\t\t\t\t\t\t\t\t\t`repeat(auto-fill, minmax(${ usedPreviewSize }px, 1fr))`,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t\t\t\t\t\t\tref={ resizeObserverRef }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ groupItems.map( ( item ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeSelection={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeSelection\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\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisItemClickable={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisItemClickable\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\trenderItemLink={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderItemLink\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\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescriptionField\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\tregularFields={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tregularFields\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\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\t\t\t\t\t\thasBulkActions={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thasBulkActions\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\tconfig={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes: size,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</VStack>\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}\n\n\t\t\t{\n\t\t\t\t// Render a single grid with all data.\n\t\t\t\thasData && ! dataByGroup && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( 'dataviews-view-grid', className ) }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tgridTemplateColumns:\n\t\t\t\t\t\t\t\tusedPreviewSize &&\n\t\t\t\t\t\t\t\t`repeat(auto-fill, minmax(${ usedPreviewSize }px, 1fr))`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t\t\tref={ resizeObserverRef }\n\t\t\t\t\t\trole={ isInfiniteScroll ? 'feed' : undefined }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ data.map( ( item, index ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\t\tregularFields={ regularFields }\n\t\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\t\tconfig={ {\n\t\t\t\t\t\t\t\t\t\tsizes: size,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tposinset={\n\t\t\t\t\t\t\t\t\t\tisInfiniteScroll ? index + 1 : undefined\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</div>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{\n\t\t\t\t// Render empty state.\n\t\t\t\t! hasData && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<p>{ isLoading ? <Spinner /> : empty }</p>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{ hasData && isLoading && (\n\t\t\t\t<p className=\"dataviews-loading-more\">\n\t\t\t\t\t<Spinner />\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ViewGrid;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_compose","_keycodes","_element","_lockUnlock","_dataviewsItemActions","_dataviewsSelectionCheckbox","_dataviewsContext","_dataviewsBulkActions","_itemClickWrapper","_gridItems","_jsxRuntime","Badge","unlock","componentsPrivateApis","GridItem","view","selection","onChangeSelection","onClickItem","isItemClickable","renderItemLink","getItemId","item","actions","mediaField","titleField","descriptionField","regularFields","badgeFields","hasBulkActions","config","posinset","showTitle","showMedia","showDescription","infiniteScrollEnabled","hasBulkAction","useHasAPossibleBulkAction","id","instanceId","useInstanceId","isSelected","includes","renderedMediaField","render","jsx","field","renderedTitleField","shouldRenderMedia","mediaA11yProps","titleA11yProps","__","paginationInfo","useContext","DataViewsContext","jsxs","__experimentalVStack","spacing","className","clsx","onClickCapture","event","isAppleOS","metaKey","ctrlKey","stopPropagation","preventDefault","filter","itemId","role","undefined","totalItems","children","ItemClickWrapper","default","disabled","length","isCompact","__experimentalHStack","justify","wrap","alignment","map","Flex","gap","expanded","style","height","direction","Fragment","Tooltip","text","label","FlexItem","header","maxHeight","ViewGrid","data","fields","isLoading","empty","_view$fields","resizeObserverRef","find","otherFields","reduce","accumulator","fieldId","f","key","layout","push","hasData","useSomeItemHasAPossibleBulkAction","usedPreviewSize","previewSize","size","groupField","groupByField","dataByGroup","groups","groupName","getValue","has","set","get","Map","isInfiniteScroll","Array","from","entries","groupItems","sprintf","GridItems","ref","sizes","index","Spinner","_default","exports"],"sources":["@wordpress/dataviews/src/dataviews-layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n\tTooltip,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { isAppleOS } from '@wordpress/keycodes';\nimport { useContext } from '@wordpress/element';\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 DataViewsContext from '../../components/dataviews-context';\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 { ItemClickWrapper } from '../utils/item-click-wrapper';\nimport { GridItems } from '../utils/grid-items';\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\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\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\tconfig: {\n\t\tsizes: string;\n\t};\n\tposinset?: number;\n}\n\nfunction GridItem< Item >( {\n\tview,\n\tselection,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\trenderItemLink,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\ttitleField,\n\tdescriptionField,\n\tregularFields,\n\tbadgeFields,\n\thasBulkActions,\n\tconfig,\n\tposinset,\n}: GridItemProps< Item > ) {\n\tconst {\n\t\tshowTitle = true,\n\t\tshowMedia = true,\n\t\tshowDescription = true,\n\t\tinfiniteScrollEnabled,\n\t} = 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\n\t\t\titem={ item }\n\t\t\tfield={ mediaField }\n\t\t\tconfig={ config }\n\t\t/>\n\t) : null;\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t) : null;\n\tconst shouldRenderMedia = showMedia && renderedMediaField;\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\tconst { paginationInfo } = useContext( DataViewsContext );\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 ( isAppleOS() ? event.metaKey : event.ctrlKey ) {\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\trole={ infiniteScrollEnabled ? 'article' : undefined }\n\t\t\taria-setsize={\n\t\t\t\tinfiniteScrollEnabled ? paginationInfo.totalItems : undefined\n\t\t\t}\n\t\t\taria-posinset={ posinset }\n\t\t>\n\t\t\t{ shouldRenderMedia && (\n\t\t\t\t<ItemClickWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\tclassName=\"dataviews-view-grid__media\"\n\t\t\t\t\t{ ...mediaA11yProps }\n\t\t\t\t>\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</ItemClickWrapper>\n\t\t\t) }\n\t\t\t{ hasBulkActions && shouldRenderMedia && (\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{ ! showTitle && shouldRenderMedia && !! actions?.length && (\n\t\t\t\t<div className=\"dataviews-view-grid__media-actions\">\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ showTitle && (\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t\t>\n\t\t\t\t\t<ItemClickWrapper\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__title-field dataviews-title-field\"\n\t\t\t\t\t\t{ ...titleA11yProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t\t</ItemClickWrapper>\n\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tisCompact\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t{ showDescription && descriptionField?.render && (\n\t\t\t\t\t<descriptionField.render\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t/>\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\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t/>\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<Tooltip text={ field.label }>\n\t\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\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\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\n\t\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t/>\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\nfunction ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tonClickItem,\n\tisItemClickable,\n\trenderItemLink,\n\tselection,\n\tview,\n\tclassName,\n\tempty,\n}: ViewGridProps< Item > ) {\n\tconst { resizeObserverRef } = useContext( DataViewsContext );\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 hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\tconst usedPreviewSize = view.layout?.previewSize;\n\t/*\n\t * This is the maximum width that an image can achieve in the grid. The reasoning is:\n\t * The biggest min image width available is 430px (see /dataviews-layouts/grid/preview-size-picker.tsx).\n\t * Because the grid is responsive, once there is room for another column, the images shrink to accommodate it.\n\t * So each image will never grow past 2*430px plus a little more to account for the gaps.\n\t */\n\tconst size = '900px';\n\n\tconst groupField = view.groupByField\n\t\t? fields.find( ( f ) => f.id === view.groupByField )\n\t\t: null;\n\n\t// Group data by groupByField if specified\n\tconst dataByGroup = groupField\n\t\t? data.reduce( ( groups: Map< string, typeof data >, item ) => {\n\t\t\t\tconst groupName = groupField.getValue( { item } );\n\t\t\t\tif ( ! groups.has( groupName ) ) {\n\t\t\t\t\tgroups.set( groupName, [] );\n\t\t\t\t}\n\t\t\t\tgroups.get( groupName )?.push( item );\n\t\t\t\treturn groups;\n\t\t }, new Map< string, typeof data >() )\n\t\t: null;\n\n\tconst isInfiniteScroll = view.infiniteScrollEnabled && ! dataByGroup;\n\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\t// Render multiple groups.\n\t\t\t\thasData && groupField && dataByGroup && (\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t{ Array.from( dataByGroup.entries() ).map(\n\t\t\t\t\t\t\t( [ groupName, groupItems ] ) => (\n\t\t\t\t\t\t\t\t<VStack key={ groupName } spacing={ 2 }>\n\t\t\t\t\t\t\t\t\t<h3 className=\"dataviews-view-grid__group-header\">\n\t\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: 1: The label of the field e.g. \"Date\". 2: The value of the field, e.g.: \"May 2022\".\n\t\t\t\t\t\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\t\t\t\t\t\tgroupField.label,\n\t\t\t\t\t\t\t\t\t\t\tgroupName\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t<GridItems\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'dataviews-view-grid',\n\t\t\t\t\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tpreviewSize={ usedPreviewSize }\n\t\t\t\t\t\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t\t\t\t\t\t\tref={ resizeObserverRef }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ groupItems.map( ( item ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeSelection={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeSelection\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\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisItemClickable={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisItemClickable\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\trenderItemLink={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderItemLink\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\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescriptionField\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\tregularFields={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tregularFields\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\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\t\t\t\t\t\thasBulkActions={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thasBulkActions\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\tconfig={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes: size,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t</GridItems>\n\t\t\t\t\t\t\t\t</VStack>\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}\n\n\t\t\t{\n\t\t\t\t// Render a single grid with all data.\n\t\t\t\thasData && ! dataByGroup && (\n\t\t\t\t\t<GridItems\n\t\t\t\t\t\tclassName={ clsx( 'dataviews-view-grid', className ) }\n\t\t\t\t\t\tpreviewSize={ usedPreviewSize }\n\t\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t\t\tref={ resizeObserverRef }\n\t\t\t\t\t\trole={ isInfiniteScroll ? 'feed' : undefined }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ data.map( ( item, index ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tonClickItem={ onClickItem }\n\t\t\t\t\t\t\t\t\tisItemClickable={ isItemClickable }\n\t\t\t\t\t\t\t\t\trenderItemLink={ renderItemLink }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\t\tregularFields={ regularFields }\n\t\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\t\tconfig={ {\n\t\t\t\t\t\t\t\t\t\tsizes: size,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tposinset={\n\t\t\t\t\t\t\t\t\t\tisInfiniteScroll ? index + 1 : undefined\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</GridItems>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{\n\t\t\t\t// Render empty state.\n\t\t\t\t! hasData && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<p>{ isLoading ? <Spinner /> : empty }</p>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{ hasData && isLoading && (\n\t\t\t\t<p className=\"dataviews-loading-more\">\n\t\t\t\t\t<Spinner />\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ViewGrid;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,8 +10,9 @@ var _icons = require("@wordpress/icons");
|
|
|
10
10
|
var _table = _interopRequireDefault(require("./table"));
|
|
11
11
|
var _grid = _interopRequireDefault(require("./grid"));
|
|
12
12
|
var _list = _interopRequireDefault(require("./list"));
|
|
13
|
+
var _pickerGrid = _interopRequireDefault(require("./picker-grid"));
|
|
13
14
|
var _constants = require("../constants");
|
|
14
|
-
var _previewSizePicker = _interopRequireDefault(require("./
|
|
15
|
+
var _previewSizePicker = _interopRequireDefault(require("./utils/preview-size-picker"));
|
|
15
16
|
var _densityPicker = _interopRequireDefault(require("./table/density-picker"));
|
|
16
17
|
/**
|
|
17
18
|
* WordPress dependencies
|
|
@@ -38,5 +39,12 @@ const VIEW_LAYOUTS = exports.VIEW_LAYOUTS = [{
|
|
|
38
39
|
label: (0, _i18n.__)('List'),
|
|
39
40
|
component: _list.default,
|
|
40
41
|
icon: (0, _i18n.isRTL)() ? _icons.formatListBulletsRTL : _icons.formatListBullets
|
|
42
|
+
}, {
|
|
43
|
+
type: _constants.LAYOUT_PICKER_GRID,
|
|
44
|
+
label: (0, _i18n.__)('Grid'),
|
|
45
|
+
component: _pickerGrid.default,
|
|
46
|
+
icon: _icons.category,
|
|
47
|
+
viewConfigOptions: _previewSizePicker.default,
|
|
48
|
+
isPicker: true
|
|
41
49
|
}];
|
|
42
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_table","_interopRequireDefault","_grid","_list","_constants","_previewSizePicker","_densityPicker","VIEW_LAYOUTS","exports","type","LAYOUT_TABLE","label","__","component","ViewTable","icon","blockTable","viewConfigOptions","DensityPicker","LAYOUT_GRID","ViewGrid","category","PreviewSizePicker","LAYOUT_LIST","ViewList","isRTL","formatListBulletsRTL","formatListBullets"],"sources":["@wordpress/dataviews/src/dataviews-layouts/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tblockTable,\n\tcategory,\n\tformatListBullets,\n\tformatListBulletsRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './table';\nimport ViewGrid from './grid';\nimport ViewList from './list';\nimport
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_table","_interopRequireDefault","_grid","_list","_pickerGrid","_constants","_previewSizePicker","_densityPicker","VIEW_LAYOUTS","exports","type","LAYOUT_TABLE","label","__","component","ViewTable","icon","blockTable","viewConfigOptions","DensityPicker","LAYOUT_GRID","ViewGrid","category","PreviewSizePicker","LAYOUT_LIST","ViewList","isRTL","formatListBulletsRTL","formatListBullets","LAYOUT_PICKER_GRID","ViewPickerGrid","isPicker"],"sources":["@wordpress/dataviews/src/dataviews-layouts/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tblockTable,\n\tcategory,\n\tformatListBullets,\n\tformatListBulletsRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './table';\nimport ViewGrid from './grid';\nimport ViewList from './list';\nimport ViewPickerGrid from './picker-grid';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_LIST,\n\tLAYOUT_TABLE,\n\tLAYOUT_PICKER_GRID,\n} from '../constants';\nimport PreviewSizePicker from './utils/preview-size-picker';\nimport DensityPicker from './table/density-picker';\n\nexport const VIEW_LAYOUTS = [\n\t{\n\t\ttype: LAYOUT_TABLE,\n\t\tlabel: __( 'Table' ),\n\t\tcomponent: ViewTable,\n\t\ticon: blockTable,\n\t\tviewConfigOptions: DensityPicker,\n\t},\n\t{\n\t\ttype: LAYOUT_GRID,\n\t\tlabel: __( 'Grid' ),\n\t\tcomponent: ViewGrid,\n\t\ticon: category,\n\t\tviewConfigOptions: PreviewSizePicker,\n\t},\n\t{\n\t\ttype: LAYOUT_LIST,\n\t\tlabel: __( 'List' ),\n\t\tcomponent: ViewList,\n\t\ticon: isRTL() ? formatListBulletsRTL : formatListBullets,\n\t},\n\t{\n\t\ttype: LAYOUT_PICKER_GRID,\n\t\tlabel: __( 'Grid' ),\n\t\tcomponent: ViewPickerGrid,\n\t\ticon: category,\n\t\tviewConfigOptions: PreviewSizePicker,\n\t\tisPicker: true,\n\t},\n];\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAUA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,WAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAMA,IAAAQ,kBAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,cAAA,GAAAN,sBAAA,CAAAH,OAAA;AAzBA;AACA;AACA;;AASA;AACA;AACA;;AAcO,MAAMU,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,CAC3B;EACCE,IAAI,EAAEC,uBAAY;EAClBC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,SAAS,EAAEC,cAAS;EACpBC,IAAI,EAAEC,iBAAU;EAChBC,iBAAiB,EAAEC;AACpB,CAAC,EACD;EACCT,IAAI,EAAEU,sBAAW;EACjBR,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAEO,aAAQ;EACnBL,IAAI,EAAEM,eAAQ;EACdJ,iBAAiB,EAAEK;AACpB,CAAC,EACD;EACCb,IAAI,EAAEc,sBAAW;EACjBZ,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAEW,aAAQ;EACnBT,IAAI,EAAE,IAAAU,WAAK,EAAC,CAAC,GAAGC,2BAAoB,GAAGC;AACxC,CAAC,EACD;EACClB,IAAI,EAAEmB,6BAAkB;EACxBjB,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAEgB,mBAAc;EACzBd,IAAI,EAAEM,eAAQ;EACdJ,iBAAiB,EAAEK,0BAAiB;EACpCQ,QAAQ,EAAE;AACX,CAAC,CACD","ignoreList":[]}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
9
|
+
var _components = require("@wordpress/components");
|
|
10
|
+
var _i18n = require("@wordpress/i18n");
|
|
11
|
+
var _compose = require("@wordpress/compose");
|
|
12
|
+
var _element = require("@wordpress/element");
|
|
13
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
14
|
+
var _dataviewsSelectionCheckbox = _interopRequireDefault(require("../../components/dataviews-selection-checkbox"));
|
|
15
|
+
var _dataviewsContext = _interopRequireDefault(require("../../components/dataviews-context"));
|
|
16
|
+
var _footer = require("../../components/dataviews-picker/footer");
|
|
17
|
+
var _gridItems = require("../utils/grid-items");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
/**
|
|
20
|
+
* External dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* WordPress dependencies
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Internal dependencies
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
const {
|
|
32
|
+
Badge
|
|
33
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
34
|
+
function GridItem({
|
|
35
|
+
view,
|
|
36
|
+
multiselect,
|
|
37
|
+
selection,
|
|
38
|
+
onChangeSelection,
|
|
39
|
+
getItemId,
|
|
40
|
+
item,
|
|
41
|
+
mediaField,
|
|
42
|
+
titleField,
|
|
43
|
+
descriptionField,
|
|
44
|
+
regularFields,
|
|
45
|
+
badgeFields,
|
|
46
|
+
config,
|
|
47
|
+
posinset,
|
|
48
|
+
setsize
|
|
49
|
+
}) {
|
|
50
|
+
const {
|
|
51
|
+
showTitle = true,
|
|
52
|
+
showMedia = true,
|
|
53
|
+
showDescription = true
|
|
54
|
+
} = view;
|
|
55
|
+
const id = getItemId(item);
|
|
56
|
+
const isSelected = selection.includes(id);
|
|
57
|
+
const renderedMediaField = mediaField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(mediaField.render, {
|
|
58
|
+
item: item,
|
|
59
|
+
field: mediaField,
|
|
60
|
+
config: config
|
|
61
|
+
}) : null;
|
|
62
|
+
const renderedTitleField = showTitle && titleField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(titleField.render, {
|
|
63
|
+
item: item,
|
|
64
|
+
field: titleField
|
|
65
|
+
}) : null;
|
|
66
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Composite.Item, {
|
|
67
|
+
render: ({
|
|
68
|
+
children,
|
|
69
|
+
...props
|
|
70
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
|
|
71
|
+
spacing: 0,
|
|
72
|
+
children: children,
|
|
73
|
+
...props
|
|
74
|
+
}),
|
|
75
|
+
role: "option",
|
|
76
|
+
"aria-posinset": posinset,
|
|
77
|
+
"aria-setsize": setsize,
|
|
78
|
+
className: (0, _clsx.default)('dataviews-view-picker-grid__card', {
|
|
79
|
+
'is-selected': isSelected
|
|
80
|
+
}),
|
|
81
|
+
"aria-selected": isSelected,
|
|
82
|
+
onClick: () => {
|
|
83
|
+
if (isSelected) {
|
|
84
|
+
onChangeSelection(selection.filter(itemId => id !== itemId));
|
|
85
|
+
} else {
|
|
86
|
+
const newSelection = multiselect ? [...selection, id] : [id];
|
|
87
|
+
onChangeSelection(newSelection);
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
children: [showMedia && renderedMediaField && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
91
|
+
className: "dataviews-view-picker-grid__media",
|
|
92
|
+
children: renderedMediaField
|
|
93
|
+
}), showMedia && renderedMediaField && /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsSelectionCheckbox.default, {
|
|
94
|
+
item: item,
|
|
95
|
+
selection: selection,
|
|
96
|
+
onChangeSelection: onChangeSelection,
|
|
97
|
+
getItemId: getItemId,
|
|
98
|
+
titleField: titleField,
|
|
99
|
+
disabled: false,
|
|
100
|
+
"aria-hidden": true,
|
|
101
|
+
tabIndex: -1
|
|
102
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
|
|
103
|
+
justify: "space-between",
|
|
104
|
+
className: "dataviews-view-picker-grid__title-actions",
|
|
105
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
106
|
+
className: "dataviews-view-picker-grid__title-field dataviews-title-field",
|
|
107
|
+
children: renderedTitleField
|
|
108
|
+
})
|
|
109
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
110
|
+
spacing: 1,
|
|
111
|
+
children: [showDescription && descriptionField?.render && /*#__PURE__*/(0, _jsxRuntime.jsx)(descriptionField.render, {
|
|
112
|
+
item: item,
|
|
113
|
+
field: descriptionField
|
|
114
|
+
}), !!badgeFields?.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
|
|
115
|
+
className: "dataviews-view-picker-grid__badge-fields",
|
|
116
|
+
spacing: 2,
|
|
117
|
+
wrap: true,
|
|
118
|
+
alignment: "top",
|
|
119
|
+
justify: "flex-start",
|
|
120
|
+
children: badgeFields.map(field => {
|
|
121
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Badge, {
|
|
122
|
+
className: "dataviews-view-picker-grid__field-value",
|
|
123
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(field.render, {
|
|
124
|
+
item: item,
|
|
125
|
+
field: field
|
|
126
|
+
})
|
|
127
|
+
}, field.id);
|
|
128
|
+
})
|
|
129
|
+
}), !!regularFields?.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
|
|
130
|
+
className: "dataviews-view-picker-grid__fields",
|
|
131
|
+
spacing: 1,
|
|
132
|
+
children: regularFields.map(field => {
|
|
133
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Flex, {
|
|
134
|
+
className: "dataviews-view-picker-grid__field",
|
|
135
|
+
gap: 1,
|
|
136
|
+
justify: "flex-start",
|
|
137
|
+
expanded: true,
|
|
138
|
+
style: {
|
|
139
|
+
height: 'auto'
|
|
140
|
+
},
|
|
141
|
+
direction: "row",
|
|
142
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
143
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
|
|
144
|
+
className: "dataviews-view-picker-grid__field-name",
|
|
145
|
+
children: field.header
|
|
146
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FlexItem, {
|
|
147
|
+
className: "dataviews-view-picker-grid__field-value",
|
|
148
|
+
style: {
|
|
149
|
+
maxHeight: 'none'
|
|
150
|
+
},
|
|
151
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(field.render, {
|
|
152
|
+
item: item,
|
|
153
|
+
field: field
|
|
154
|
+
})
|
|
155
|
+
})]
|
|
156
|
+
})
|
|
157
|
+
}, field.id);
|
|
158
|
+
})
|
|
159
|
+
})]
|
|
160
|
+
})]
|
|
161
|
+
}, id);
|
|
162
|
+
}
|
|
163
|
+
function GridGroup({
|
|
164
|
+
groupName,
|
|
165
|
+
groupField,
|
|
166
|
+
children
|
|
167
|
+
}) {
|
|
168
|
+
const headerId = (0, _compose.useInstanceId)(GridGroup, 'dataviews-view-picker-grid-group__header');
|
|
169
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
170
|
+
spacing: 2,
|
|
171
|
+
role: "group",
|
|
172
|
+
"aria-labelledby": headerId,
|
|
173
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
|
|
174
|
+
className: "dataviews-view-picker-grid-group__header",
|
|
175
|
+
id: headerId,
|
|
176
|
+
children: (0, _i18n.sprintf)(
|
|
177
|
+
// translators: 1: The label of the field e.g. "Date". 2: The value of the field, e.g.: "May 2022".
|
|
178
|
+
(0, _i18n.__)('%1$s: %2$s'), groupField.label, groupName)
|
|
179
|
+
}), children]
|
|
180
|
+
}, groupName);
|
|
181
|
+
}
|
|
182
|
+
function ViewPickerGrid({
|
|
183
|
+
actions,
|
|
184
|
+
data,
|
|
185
|
+
fields,
|
|
186
|
+
getItemId,
|
|
187
|
+
isLoading,
|
|
188
|
+
onChangeSelection,
|
|
189
|
+
selection,
|
|
190
|
+
view,
|
|
191
|
+
className,
|
|
192
|
+
empty
|
|
193
|
+
}) {
|
|
194
|
+
var _view$fields, _view$page, _view$perPage;
|
|
195
|
+
const {
|
|
196
|
+
resizeObserverRef,
|
|
197
|
+
paginationInfo,
|
|
198
|
+
itemListLabel
|
|
199
|
+
} = (0, _element.useContext)(_dataviewsContext.default);
|
|
200
|
+
const titleField = fields.find(field => field.id === view?.titleField);
|
|
201
|
+
const mediaField = fields.find(field => field.id === view?.mediaField);
|
|
202
|
+
const descriptionField = fields.find(field => field.id === view?.descriptionField);
|
|
203
|
+
const otherFields = (_view$fields = view.fields) !== null && _view$fields !== void 0 ? _view$fields : [];
|
|
204
|
+
const {
|
|
205
|
+
regularFields,
|
|
206
|
+
badgeFields
|
|
207
|
+
} = otherFields.reduce((accumulator, fieldId) => {
|
|
208
|
+
const field = fields.find(f => f.id === fieldId);
|
|
209
|
+
if (!field) {
|
|
210
|
+
return accumulator;
|
|
211
|
+
}
|
|
212
|
+
// If the field is a badge field, add it to the badgeFields array
|
|
213
|
+
// otherwise add it to the rest visibleFields array.
|
|
214
|
+
const key = view.layout?.badgeFields?.includes(fieldId) ? 'badgeFields' : 'regularFields';
|
|
215
|
+
accumulator[key].push(field);
|
|
216
|
+
return accumulator;
|
|
217
|
+
}, {
|
|
218
|
+
regularFields: [],
|
|
219
|
+
badgeFields: []
|
|
220
|
+
});
|
|
221
|
+
const hasData = !!data?.length;
|
|
222
|
+
const usedPreviewSize = view.layout?.previewSize;
|
|
223
|
+
const isMultiselect = (0, _footer.useIsMultiselectPicker)(actions);
|
|
224
|
+
|
|
225
|
+
/*
|
|
226
|
+
* This is the maximum width that an image can achieve in the grid. The reasoning is:
|
|
227
|
+
* The biggest min image width available is 430px (see /dataviews-layouts/grid/preview-size-picker.tsx).
|
|
228
|
+
* Because the grid is responsive, once there is room for another column, the images shrink to accommodate it.
|
|
229
|
+
* So each image will never grow past 2*430px plus a little more to account for the gaps.
|
|
230
|
+
*/
|
|
231
|
+
const size = '900px';
|
|
232
|
+
const groupField = view.groupByField ? fields.find(f => f.id === view.groupByField) : null;
|
|
233
|
+
|
|
234
|
+
// Group data by groupByField if specified
|
|
235
|
+
const dataByGroup = groupField ? data.reduce((groups, item) => {
|
|
236
|
+
const groupName = groupField.getValue({
|
|
237
|
+
item
|
|
238
|
+
});
|
|
239
|
+
if (!groups.has(groupName)) {
|
|
240
|
+
groups.set(groupName, []);
|
|
241
|
+
}
|
|
242
|
+
groups.get(groupName)?.push(item);
|
|
243
|
+
return groups;
|
|
244
|
+
}, new Map()) : null;
|
|
245
|
+
const isInfiniteScroll = view.infiniteScrollEnabled && !dataByGroup;
|
|
246
|
+
const currentPage = (_view$page = view?.page) !== null && _view$page !== void 0 ? _view$page : 1;
|
|
247
|
+
const perPage = (_view$perPage = view?.perPage) !== null && _view$perPage !== void 0 ? _view$perPage : 0;
|
|
248
|
+
const setSize = isInfiniteScroll ? paginationInfo?.totalItems : undefined;
|
|
249
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
250
|
+
children: [
|
|
251
|
+
// Render multiple groups.
|
|
252
|
+
hasData && groupField && dataByGroup && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite, {
|
|
253
|
+
virtualFocus: true,
|
|
254
|
+
orientation: "horizontal",
|
|
255
|
+
role: "listbox",
|
|
256
|
+
"aria-multiselectable": isMultiselect,
|
|
257
|
+
className: (0, _clsx.default)('dataviews-view-picker-grid', className),
|
|
258
|
+
"aria-label": itemListLabel,
|
|
259
|
+
render: ({
|
|
260
|
+
children,
|
|
261
|
+
...props
|
|
262
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
|
|
263
|
+
spacing: 4,
|
|
264
|
+
children: children,
|
|
265
|
+
...props
|
|
266
|
+
}),
|
|
267
|
+
children: Array.from(dataByGroup.entries()).map(([groupName, groupItems]) => /*#__PURE__*/(0, _jsxRuntime.jsx)(GridGroup, {
|
|
268
|
+
groupName: groupName,
|
|
269
|
+
groupField: groupField,
|
|
270
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_gridItems.GridItems, {
|
|
271
|
+
previewSize: usedPreviewSize,
|
|
272
|
+
style: {
|
|
273
|
+
gridTemplateColumns: usedPreviewSize && `repeat(auto-fill, minmax(${usedPreviewSize}px, 1fr))`
|
|
274
|
+
},
|
|
275
|
+
"aria-busy": isLoading,
|
|
276
|
+
ref: resizeObserverRef,
|
|
277
|
+
children: groupItems.map(item => {
|
|
278
|
+
const posInSet = (currentPage - 1) * perPage + data.indexOf(item) + 1;
|
|
279
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridItem, {
|
|
280
|
+
view: view,
|
|
281
|
+
multiselect: isMultiselect,
|
|
282
|
+
selection: selection,
|
|
283
|
+
onChangeSelection: onChangeSelection,
|
|
284
|
+
getItemId: getItemId,
|
|
285
|
+
item: item,
|
|
286
|
+
mediaField: mediaField,
|
|
287
|
+
titleField: titleField,
|
|
288
|
+
descriptionField: descriptionField,
|
|
289
|
+
regularFields: regularFields,
|
|
290
|
+
badgeFields: badgeFields,
|
|
291
|
+
config: {
|
|
292
|
+
sizes: size
|
|
293
|
+
},
|
|
294
|
+
posinset: posInSet,
|
|
295
|
+
setsize: setSize
|
|
296
|
+
}, getItemId(item));
|
|
297
|
+
})
|
|
298
|
+
})
|
|
299
|
+
}, groupName))
|
|
300
|
+
}),
|
|
301
|
+
// Render a single grid with all data.
|
|
302
|
+
hasData && !dataByGroup && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite, {
|
|
303
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_gridItems.GridItems, {
|
|
304
|
+
className: (0, _clsx.default)('dataviews-view-picker-grid', className),
|
|
305
|
+
previewSize: usedPreviewSize,
|
|
306
|
+
"aria-busy": isLoading,
|
|
307
|
+
ref: resizeObserverRef
|
|
308
|
+
}),
|
|
309
|
+
virtualFocus: true,
|
|
310
|
+
orientation: "horizontal",
|
|
311
|
+
role: "listbox",
|
|
312
|
+
"aria-multiselectable": isMultiselect,
|
|
313
|
+
"aria-label": itemListLabel,
|
|
314
|
+
children: data.map((item, index) => {
|
|
315
|
+
let posinset = isInfiniteScroll ? index + 1 : undefined;
|
|
316
|
+
if (!isInfiniteScroll) {
|
|
317
|
+
// When infinite scroll isn't active, take pagination into account
|
|
318
|
+
// when calculating the posinset.
|
|
319
|
+
posinset = (currentPage - 1) * perPage + index + 1;
|
|
320
|
+
}
|
|
321
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridItem, {
|
|
322
|
+
view: view,
|
|
323
|
+
multiselect: isMultiselect,
|
|
324
|
+
selection: selection,
|
|
325
|
+
onChangeSelection: onChangeSelection,
|
|
326
|
+
getItemId: getItemId,
|
|
327
|
+
item: item,
|
|
328
|
+
mediaField: mediaField,
|
|
329
|
+
titleField: titleField,
|
|
330
|
+
descriptionField: descriptionField,
|
|
331
|
+
regularFields: regularFields,
|
|
332
|
+
badgeFields: badgeFields,
|
|
333
|
+
config: {
|
|
334
|
+
sizes: size
|
|
335
|
+
},
|
|
336
|
+
posinset: posinset,
|
|
337
|
+
setsize: setSize
|
|
338
|
+
}, getItemId(item));
|
|
339
|
+
})
|
|
340
|
+
}),
|
|
341
|
+
// Render empty state.
|
|
342
|
+
!hasData && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
343
|
+
className: (0, _clsx.default)({
|
|
344
|
+
'dataviews-loading': isLoading,
|
|
345
|
+
'dataviews-no-results': !isLoading
|
|
346
|
+
}),
|
|
347
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
348
|
+
children: isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {}) : empty
|
|
349
|
+
})
|
|
350
|
+
}), hasData && isLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
351
|
+
className: "dataviews-loading-more",
|
|
352
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {})
|
|
353
|
+
})]
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
var _default = exports.default = ViewPickerGrid;
|
|
357
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_compose","_element","_lockUnlock","_dataviewsSelectionCheckbox","_dataviewsContext","_footer","_gridItems","_jsxRuntime","Badge","unlock","componentsPrivateApis","GridItem","view","multiselect","selection","onChangeSelection","getItemId","item","mediaField","titleField","descriptionField","regularFields","badgeFields","config","posinset","setsize","showTitle","showMedia","showDescription","id","isSelected","includes","renderedMediaField","render","jsx","field","renderedTitleField","jsxs","Composite","Item","children","props","__experimentalVStack","spacing","role","className","clsx","onClick","filter","itemId","newSelection","default","disabled","tabIndex","__experimentalHStack","justify","length","wrap","alignment","map","Flex","gap","expanded","style","height","direction","Fragment","FlexItem","header","maxHeight","GridGroup","groupName","groupField","headerId","useInstanceId","sprintf","__","label","ViewPickerGrid","actions","data","fields","isLoading","empty","_view$fields","_view$page","_view$perPage","resizeObserverRef","paginationInfo","itemListLabel","useContext","DataViewsContext","find","otherFields","reduce","accumulator","fieldId","f","key","layout","push","hasData","usedPreviewSize","previewSize","isMultiselect","useIsMultiselectPicker","size","groupByField","dataByGroup","groups","getValue","has","set","get","Map","isInfiniteScroll","infiniteScrollEnabled","currentPage","page","perPage","setSize","totalItems","undefined","virtualFocus","orientation","Array","from","entries","groupItems","GridItems","gridTemplateColumns","ref","posInSet","indexOf","sizes","index","Spinner","_default","exports"],"sources":["@wordpress/dataviews/src/dataviews-layouts/picker-grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n\tComposite,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport DataViewsSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport DataViewsContext from '../../components/dataviews-context';\nimport { useIsMultiselectPicker } from '../../components/dataviews-picker/footer';\nimport type {\n\tNormalizedField,\n\tViewPickerGrid as ViewPickerGridType,\n\tViewPickerGridProps,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport { GridItems } from '../utils/grid-items';\nconst { Badge } = unlock( componentsPrivateApis );\n\ninterface GridItemProps< Item > {\n\tview: ViewPickerGridType;\n\tmultiselect?: boolean;\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\titem: Item;\n\ttitleField?: NormalizedField< Item >;\n\tmediaField?: NormalizedField< Item >;\n\tdescriptionField?: NormalizedField< Item >;\n\tregularFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\tconfig: {\n\t\tsizes: string;\n\t};\n\tposinset?: number;\n\tsetsize?: number;\n}\n\nfunction GridItem< Item >( {\n\tview,\n\tmultiselect,\n\tselection,\n\tonChangeSelection,\n\tgetItemId,\n\titem,\n\tmediaField,\n\ttitleField,\n\tdescriptionField,\n\tregularFields,\n\tbadgeFields,\n\tconfig,\n\tposinset,\n\tsetsize,\n}: GridItemProps< Item > ) {\n\tconst { showTitle = true, showMedia = true, showDescription = true } = view;\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render\n\t\t\titem={ item }\n\t\t\tfield={ mediaField }\n\t\t\tconfig={ config }\n\t\t/>\n\t) : null;\n\tconst renderedTitleField =\n\t\tshowTitle && titleField?.render ? (\n\t\t\t<titleField.render item={ item } field={ titleField } />\n\t\t) : null;\n\n\treturn (\n\t\t<Composite.Item\n\t\t\tkey={ id }\n\t\t\trender={ ( { children, ...props } ) => (\n\t\t\t\t<VStack spacing={ 0 } children={ children } { ...props } />\n\t\t\t) }\n\t\t\trole=\"option\"\n\t\t\taria-posinset={ posinset }\n\t\t\taria-setsize={ setsize }\n\t\t\tclassName={ clsx( 'dataviews-view-picker-grid__card', {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\taria-selected={ isSelected }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isSelected ) {\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tconst newSelection = multiselect\n\t\t\t\t\t\t? [ ...selection, id ]\n\t\t\t\t\t\t: [ id ];\n\t\t\t\t\tonChangeSelection( newSelection );\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<div className=\"dataviews-view-picker-grid__media\">\n\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ showMedia && renderedMediaField && (\n\t\t\t\t<DataViewsSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\tdisabled={ false }\n\t\t\t\t\taria-hidden\n\t\t\t\t\ttabIndex={ -1 }\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-picker-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<div className=\"dataviews-view-picker-grid__title-field dataviews-title-field\">\n\t\t\t\t\t{ renderedTitleField }\n\t\t\t\t</div>\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\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tfield={ descriptionField }\n\t\t\t\t\t/>\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-picker-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-picker-grid__field-value\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<field.render\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t/>\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-picker-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-picker-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-picker-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-picker-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\n\t\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t/>\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</Composite.Item>\n\t);\n}\n\nfunction GridGroup< Item >( {\n\tgroupName,\n\tgroupField,\n\tchildren,\n}: {\n\tgroupName: string;\n\tgroupField: NormalizedField< Item >;\n\tchildren: ReactNode;\n} ) {\n\tconst headerId = useInstanceId(\n\t\tGridGroup,\n\t\t'dataviews-view-picker-grid-group__header'\n\t);\n\treturn (\n\t\t<VStack\n\t\t\tkey={ groupName }\n\t\t\tspacing={ 2 }\n\t\t\trole=\"group\"\n\t\t\taria-labelledby={ headerId }\n\t\t>\n\t\t\t<h3\n\t\t\t\tclassName=\"dataviews-view-picker-grid-group__header\"\n\t\t\t\tid={ headerId }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: 1: The label of the field e.g. \"Date\". 2: The value of the field, e.g.: \"May 2022\".\n\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\tgroupField.label,\n\t\t\t\t\tgroupName\n\t\t\t\t) }\n\t\t\t</h3>\n\t\t\t{ children }\n\t\t</VStack>\n\t);\n}\n\nfunction ViewPickerGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tselection,\n\tview,\n\tclassName,\n\tempty,\n}: ViewPickerGridProps< Item > ) {\n\tconst { resizeObserverRef, paginationInfo, itemListLabel } =\n\t\tuseContext( DataViewsContext );\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 usedPreviewSize = view.layout?.previewSize;\n\tconst isMultiselect = useIsMultiselectPicker( actions );\n\n\t/*\n\t * This is the maximum width that an image can achieve in the grid. The reasoning is:\n\t * The biggest min image width available is 430px (see /dataviews-layouts/grid/preview-size-picker.tsx).\n\t * Because the grid is responsive, once there is room for another column, the images shrink to accommodate it.\n\t * So each image will never grow past 2*430px plus a little more to account for the gaps.\n\t */\n\tconst size = '900px';\n\n\tconst groupField = view.groupByField\n\t\t? fields.find( ( f ) => f.id === view.groupByField )\n\t\t: null;\n\n\t// Group data by groupByField if specified\n\tconst dataByGroup = groupField\n\t\t? data.reduce( ( groups: Map< string, typeof data >, item ) => {\n\t\t\t\tconst groupName = groupField.getValue( { item } );\n\t\t\t\tif ( ! groups.has( groupName ) ) {\n\t\t\t\t\tgroups.set( groupName, [] );\n\t\t\t\t}\n\t\t\t\tgroups.get( groupName )?.push( item );\n\t\t\t\treturn groups;\n\t\t }, new Map< string, typeof data >() )\n\t\t: null;\n\n\tconst isInfiniteScroll = view.infiniteScrollEnabled && ! dataByGroup;\n\n\tconst currentPage = view?.page ?? 1;\n\tconst perPage = view?.perPage ?? 0;\n\tconst setSize = isInfiniteScroll ? paginationInfo?.totalItems : undefined;\n\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\t// Render multiple groups.\n\t\t\t\thasData && groupField && dataByGroup && (\n\t\t\t\t\t<Composite\n\t\t\t\t\t\tvirtualFocus\n\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\taria-multiselectable={ isMultiselect }\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'dataviews-view-picker-grid',\n\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ itemListLabel }\n\t\t\t\t\t\trender={ ( { children, ...props } ) => (\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\t\tchildren={ children }\n\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Array.from( dataByGroup.entries() ).map(\n\t\t\t\t\t\t\t( [ groupName, groupItems ] ) => (\n\t\t\t\t\t\t\t\t<GridGroup\n\t\t\t\t\t\t\t\t\tkey={ groupName }\n\t\t\t\t\t\t\t\t\tgroupName={ groupName }\n\t\t\t\t\t\t\t\t\tgroupField={ groupField }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<GridItems\n\t\t\t\t\t\t\t\t\t\tpreviewSize={ usedPreviewSize }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\tgridTemplateColumns:\n\t\t\t\t\t\t\t\t\t\t\t\tusedPreviewSize &&\n\t\t\t\t\t\t\t\t\t\t\t\t`repeat(auto-fill, minmax(${ usedPreviewSize }px, 1fr))`,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\t\t\tresizeObserverRef as React.RefObject< HTMLDivElement >\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ groupItems.map( ( item ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst posInSet =\n\t\t\t\t\t\t\t\t\t\t\t\t( currentPage - 1 ) * perPage +\n\t\t\t\t\t\t\t\t\t\t\t\tdata.indexOf( item ) +\n\t\t\t\t\t\t\t\t\t\t\t\t1;\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\t\t\t\tmultiselect={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisMultiselect\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\tselection={ selection }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeSelection={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeSelection\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\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdescriptionField={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdescriptionField\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\tregularFields={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tregularFields\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\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfig={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes: size,\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\tposinset={ posInSet }\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetsize={ setSize }\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</GridItems>\n\t\t\t\t\t\t\t\t</GridGroup>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Composite>\n\t\t\t\t)\n\t\t\t}\n\n\t\t\t{\n\t\t\t\t// Render a single grid with all data.\n\t\t\t\thasData && ! dataByGroup && (\n\t\t\t\t\t<Composite\n\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t<GridItems\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-picker-grid',\n\t\t\t\t\t\t\t\t\tclassName\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tpreviewSize={ usedPreviewSize }\n\t\t\t\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t\t\t\t\tref={\n\t\t\t\t\t\t\t\t\tresizeObserverRef as React.RefObject< HTMLDivElement >\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\tvirtualFocus\n\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\taria-multiselectable={ isMultiselect }\n\t\t\t\t\t\taria-label={ itemListLabel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ data.map( ( item, index ) => {\n\t\t\t\t\t\t\tlet posinset = isInfiniteScroll\n\t\t\t\t\t\t\t\t? index + 1\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\t\tif ( ! isInfiniteScroll ) {\n\t\t\t\t\t\t\t\t// When infinite scroll isn't active, take pagination into account\n\t\t\t\t\t\t\t\t// when calculating the posinset.\n\t\t\t\t\t\t\t\tposinset =\n\t\t\t\t\t\t\t\t\t( currentPage - 1 ) * perPage + index + 1;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tmultiselect={ isMultiselect }\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\t\ttitleField={ titleField }\n\t\t\t\t\t\t\t\t\tdescriptionField={ descriptionField }\n\t\t\t\t\t\t\t\t\tregularFields={ regularFields }\n\t\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\t\tconfig={ {\n\t\t\t\t\t\t\t\t\t\tsizes: size,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tposinset={ posinset }\n\t\t\t\t\t\t\t\t\tsetsize={ setSize }\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</Composite>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{\n\t\t\t\t// Render empty state.\n\t\t\t\t! hasData && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<p>{ isLoading ? <Spinner /> : empty }</p>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{ hasData && isLoading && (\n\t\t\t\t<p className=\"dataviews-loading-more\">\n\t\t\t\t\t<Spinner />\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ViewPickerGrid;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GridItems = void 0;
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
/**
|
|
12
|
+
* External dependencies
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* WordPress dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* External dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
const GridItems = exports.GridItems = (0, _element.forwardRef)(({
|
|
24
|
+
className,
|
|
25
|
+
previewSize,
|
|
26
|
+
...props
|
|
27
|
+
}, ref) => {
|
|
28
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
29
|
+
ref: ref,
|
|
30
|
+
className: (0, _clsx.default)('dataviews-view-grid-items', className),
|
|
31
|
+
style: {
|
|
32
|
+
gridTemplateColumns: previewSize && `repeat(auto-fill, minmax(${previewSize}px, 1fr))`
|
|
33
|
+
},
|
|
34
|
+
...props
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=grid-items.js.map
|