UNPKG

@wordpress/blocks

Version:
143 lines 3.76 kB
/** * WordPress dependencies */ import type { ThunkArgs } from '@wordpress/data'; /** * Internal dependencies */ import type { BlockType, BlockCategory, BlockCollection, BlockStyle, BlockVariation, BlockBindingsSource, Icon } from '../types'; import type { store } from '.'; import type * as privateSelectors from './private-selectors'; import type * as privateActions from './private-actions'; /** * The state of the `core/blocks` redux store. */ export interface BlockStoreState { /** * Bootstrapped block types from server-side definitions. */ bootstrappedBlockTypes: Record<string, Partial<BlockType>>; /** * Unprocessed block types pending filter application. */ unprocessedBlockTypes: Record<string, Partial<BlockType>>; /** * Block types by name. */ blockTypes: Record<string, BlockType>; /** * Block styles by block name. */ blockStyles: Record<string, BlockStyle[]>; /** * Block variations by block name. */ blockVariations: Record<string, BlockVariation[]>; /** * Name of the default block. */ defaultBlockName: string | null; /** * Name of the block for handling non-block content. */ freeformFallbackBlockName: string | null; /** * Name of the block for handling unregistered blocks. */ unregisteredFallbackBlockName: string | null; /** * Name of the block for handling the grouping of blocks. */ groupingBlockName: string | null; /** * The available block categories. */ categories: BlockCategory[]; /** * The available collections. */ collections: Record<string, BlockCollection>; /** * Block bindings sources by name. * The stored form omits `name` since it's the record key. */ blockBindingsSources: Record<string, Omit<BlockBindingsSource, 'name'>>; } /** * Store action types. */ export type Action = { type: 'ADD_BOOTSTRAPPED_BLOCK_TYPE'; name: string; blockType: Record<string, unknown>; } | { type: 'ADD_UNPROCESSED_BLOCK_TYPE'; name: string; blockType: Partial<BlockType>; } | { type: 'ADD_BLOCK_TYPES'; blockTypes: BlockType[]; } | { type: 'REMOVE_BLOCK_TYPES'; names: string[]; } | { type: 'ADD_BLOCK_STYLES'; blockNames: string[]; styles: BlockStyle[]; } | { type: 'REMOVE_BLOCK_STYLES'; blockName: string; styleNames: string[]; } | { type: 'ADD_BLOCK_VARIATIONS'; blockName: string; variations: BlockVariation[]; } | { type: 'REMOVE_BLOCK_VARIATIONS'; blockName: string; variationNames: string[]; } | { type: 'SET_DEFAULT_BLOCK_NAME'; name: string; } | { type: 'SET_FREEFORM_FALLBACK_BLOCK_NAME'; name: string; } | { type: 'SET_UNREGISTERED_FALLBACK_BLOCK_NAME'; name: string; } | { type: 'SET_GROUPING_BLOCK_NAME'; name: string; } | { type: 'SET_CATEGORIES'; categories: BlockCategory[]; } | { type: 'UPDATE_CATEGORY'; slug: string; category: Partial<BlockCategory>; } | { type: 'ADD_BLOCK_COLLECTION'; namespace: string; title: string; icon?: Icon; } | { type: 'REMOVE_BLOCK_COLLECTION'; namespace: string; } | { type: 'ADD_BLOCK_BINDINGS_SOURCE'; name: string; label?: string; usesContext?: string[]; getValues?: Function; setValues?: Function; canUserEditValue?: Function; getFieldsList?: Function; } | { type: 'REMOVE_BLOCK_BINDINGS_SOURCE'; name: string; }; /** * Thunk arguments for the blocks store, including private selectors and actions. */ export type BlocksStoreThunkArgs = ThunkArgs<typeof store, typeof privateSelectors, typeof privateActions>; //# sourceMappingURL=types.d.ts.map