woocommerce/plugins/woocommerce-blocks/assets/js/blocks/reviews/attributes.ts

125 lines
1.9 KiB
TypeScript

/**
* External dependencies
*/
import { BlockAttributes } from '@wordpress/blocks';
import { Review } from '@woocommerce/base-components/reviews/types';
export default {
/**
* Toggle for edit mode in the block preview.
*/
editMode: {
type: 'boolean',
default: true,
},
/**
* Whether to display the reviewer or product image.
*/
imageType: {
type: 'string',
default: 'reviewer',
},
/**
* Order to use for the reviews listing.
*/
orderby: {
type: 'string',
default: 'most-recent',
},
/**
* Number of reviews to add when clicking on load more.
*/
reviewsOnLoadMore: {
type: 'number',
default: 10,
},
/**
* Number of reviews to display on page load.
*/
reviewsOnPageLoad: {
type: 'number',
default: 10,
},
/**
* Show the load more button.
*/
showLoadMore: {
type: 'boolean',
default: true,
},
/**
* Show the order by selector.
*/
showOrderby: {
type: 'boolean',
default: true,
},
/**
* Show the review date.
*/
showReviewDate: {
type: 'boolean',
default: true,
},
/**
* Show the reviewer name.
*/
showReviewerName: {
type: 'boolean',
default: true,
},
/**
* Show the review image..
*/
showReviewImage: {
type: 'boolean',
default: true,
},
/**
* Show the product rating.
*/
showReviewRating: {
type: 'boolean',
default: true,
},
/**
* Show the product content.
*/
showReviewContent: {
type: 'boolean',
default: true,
},
previewReviews: {
type: 'array',
default: null,
},
};
export type ReviewBlockAttributes = BlockAttributes & {
editMode: boolean;
imageType: string;
orderby: 'most-recent' | 'highest-rating' | 'lowest-rating';
reviewsOnLoadMore: number;
reviewsOnPageLoad: number;
showLoadMore: boolean;
showOrderby: boolean;
showReviewDate: boolean;
showReviewerName: boolean;
showReviewImage: boolean;
showReviewRating: boolean;
showReviewContent: boolean;
previewReviews: Review[];
};