{
  "version": 3,
  "sources": ["../src/types.ts"],
  "sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { ComponentType, ReactElement } from 'react';\n\n/**\n * An icon type definition. One of a Dashicon slug, an element,\n * or a component.\n *\n * @see https://developer.wordpress.org/resource/dashicons/\n */\nexport type Icon = string | ReactElement | ComponentType;\n\n/**\n * Render behavior of a block type icon; one of a Dashicon slug, an element,\n * or a component.\n */\nexport type BlockTypeIconRender = Icon;\n\n/**\n * An object describing a normalized block type icon.\n */\nexport interface BlockTypeIconDescriptor {\n\t/**\n\t * Render behavior of the icon,\n\t * one of a Dashicon slug, an element, or a component.\n\t */\n\tsrc: BlockTypeIconRender;\n\t/**\n\t * Optimal background hex string color when displaying icon.\n\t */\n\tbackground?: string;\n\t/**\n\t * Optimal foreground hex string color when displaying icon.\n\t */\n\tforeground?: string;\n\t/**\n\t * Optimal shadow hex string color when displaying icon.\n\t */\n\tshadowColor?: string;\n}\n\n/**\n * Value to use to render the icon for a block type in an editor interface,\n * either a Dashicon slug, an element, a component, or an object describing\n * the icon.\n */\nexport type BlockTypeIcon = BlockTypeIconDescriptor | BlockTypeIconRender;\n\n/**\n * Named block variation scopes.\n */\nexport type BlockVariationScope = 'block' | 'inserter' | 'transform';\n\n/**\n * An object describing a variation defined for the block type.\n */\nexport interface BlockVariation<\n\tAttributes extends Record< string, unknown > = Record< string, unknown >,\n> {\n\t/**\n\t * The unique and machine-readable name.\n\t */\n\tname: string;\n\t/**\n\t * A human-readable variation title.\n\t */\n\ttitle: string;\n\t/**\n\t * A detailed variation description.\n\t */\n\tdescription?: string;\n\t/**\n\t * Block type category classification,\n\t * used in search interfaces to arrange\n\t * block types by category.\n\t */\n\tcategory?: string;\n\t/**\n\t * An icon helping to visualize the variation.\n\t */\n\ticon?: Icon;\n\t/**\n\t * Indicates whether the current variation is\n\t * the default one. Defaults to `false`.\n\t */\n\tisDefault?: boolean;\n\t/**\n\t * Values which override block attributes.\n\t */\n\tattributes?: Attributes;\n\t/**\n\t * Initial configuration of nested blocks.\n\t */\n\tinnerBlocks?: Array< unknown[] >;\n\t/**\n\t * Example provides structured data for\n\t * the block preview. You can set to\n\t * `undefined` to disable the preview shown\n\t * for the block type.\n\t */\n\texample?: Record< string, unknown >;\n\t/**\n\t * The list of scopes where the variation\n\t * is applicable. When not provided, it\n\t * assumes all available scopes.\n\t */\n\tscope?: BlockVariationScope[];\n\t/**\n\t * An array of terms (which can be translated)\n\t * that help users discover the variation\n\t * while searching.\n\t */\n\tkeywords?: string[];\n\t/**\n\t * This can be a function or an array of block attributes.\n\t * Function that accepts a block's attributes and the\n\t * variation's attributes and determines if a variation is active.\n\t * We can also use a `string[]` to tell which attributes\n\t * should be compared as a shorthand.\n\t */\n\tisActive?:\n\t\t| ( (\n\t\t\t\tblockAttributes: Attributes,\n\t\t\t\tvariationAttributes: Attributes\n\t\t  ) => boolean )\n\t\t| string[];\n\t/**\n\t * The source of the variation, added internally.\n\t */\n\tsource?: string;\n}\n\n/**\n * Block attribute definition.\n */\nexport interface BlockAttribute {\n\ttype?: string;\n\tsource?: string;\n\tselector?: string;\n\tattribute?: string;\n\tdefault?: unknown;\n\trole?: string;\n\t__experimentalRole?: string;\n\tquery?: Record< string, BlockAttribute >;\n\tenum?: unknown[];\n\tmultiline?: string;\n\t__unstablePreserveWhiteSpace?: boolean;\n}\n\n/**\n * A block transform object.\n */\nexport interface BlockTransform<\n\tAttributes extends Record< string, unknown > = Record< string, unknown >,\n> {\n\ttype: 'block' | 'enter' | 'files' | 'prefix' | 'raw' | 'shortcode';\n\tblocks?: string[];\n\tpriority?: number;\n\tisMultiBlock?: boolean;\n\tisMatch?: (\n\t\tattributes: Attributes | Attributes[],\n\t\tblock: Block | Block[]\n\t) => boolean;\n\ttransform?: ( ...args: unknown[] ) => Block | Block[];\n\t__experimentalConvert?: ( blocks: Block | Block[] ) => Block | Block[];\n\tblockName?: string;\n\tusingMobileTransformations?: boolean;\n\tsupportedMobileTransforms?: string[];\n}\n\n/**\n * Internal type for the innerBlocks property inside of the example.\n *\n * @see BlockType.example\n */\nexport type BlockExampleInnerBlock = Partial< BlockType > &\n\tPick< BlockType, 'name' | 'attributes' > & {\n\t\tinnerBlocks?: BlockExampleInnerBlock[];\n\t};\n\nexport interface BlockType<\n\tAttributes extends Record< string, unknown > = Record< string, unknown >,\n> {\n\t/**\n\t * The version of the Block API used by the block.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#api-version\n\t */\n\tapiVersion?: number;\n\t/**\n\t * Block type attributes.\n\t */\n\tattributes: {\n\t\t[ k in keyof Attributes ]: BlockAttribute;\n\t};\n\t/**\n\t * Block type category classification,\n\t * used in search interfaces to arrange\n\t * block types by category.\n\t */\n\tcategory: string;\n\t/**\n\t * Deprecated versions.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-deprecation/\n\t */\n\tdeprecated?: BlockDeprecation< Attributes >[];\n\t/**\n\t * A detailed block type description.\n\t */\n\tdescription?: string;\n\t/**\n\t * Component to render in the editor.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-edit-save/#edit\n\t */\n\tedit?: ComponentType< BlockEditProps< Attributes > >;\n\t/**\n\t * Block type editor script definition.\n\t * It will only be enqueued in the context of the editor.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#editor-script\n\t */\n\teditorScript?: string;\n\t/**\n\t * Block type editor style definition.\n\t * It will only be enqueued in the context of the editor.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#editor-style\n\t */\n\teditorStyle?: string;\n\t/**\n\t * Example provides structured data for the block preview.\n\t * When not defined then no preview is shown.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#example\n\t */\n\texample?: Partial< BlockType > & {\n\t\tinnerBlocks?: BlockExampleInnerBlock[];\n\t\t/**\n\t\t * The width of the preview container in pixels.\n\t\t */\n\t\tviewportWidth?: number;\n\t};\n\t/**\n\t * Block type icon.\n\t */\n\ticon: BlockTypeIconDescriptor;\n\t/**\n\t * Additional keywords to produce block\n\t * type as result in search interfaces.\n\t */\n\tkeywords?: string[];\n\t/**\n\t * Block type's namespaced name.\n\t */\n\tname: string;\n\t/**\n\t * Setting `parent` lets a block require that it is only\n\t * available when nested within the specified blocks.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#parent\n\t */\n\tparent?: string[];\n\t/**\n\t * Setting `ancestor` lets a block require that it is only\n\t * available when nested within the specified blocks.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#ancestor\n\t */\n\tancestor?: string[];\n\t/**\n\t * Allowed child block types.\n\t */\n\tallowedBlocks?: string[];\n\t/**\n\t * Context provided for available access by descendants of\n\t * blocks of this type, in the form of an object which maps\n\t * a context name to one of the block's own attributes.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#provides-context\n\t */\n\tprovidesContext?: Record< string, keyof Attributes >;\n\t/**\n\t * Component to render on the frontend.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-edit-save/#save\n\t */\n\tsave: ComponentType< BlockSaveProps< Attributes > >;\n\t/**\n\t * Block type frontend script definition.\n\t * It will be enqueued both in the editor and when viewing\n\t * the content on the front of the site.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#script\n\t */\n\tscript?: string;\n\t/**\n\t * Block type frontend style definition.\n\t * It will be enqueued both in the editor and when viewing\n\t * the content on the front of the site.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#style\n\t */\n\tstyle?: string;\n\t/**\n\t * Block type frontend script definition.\n\t * It will only be enqueued when viewing the content on\n\t * the front of the site.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#view-script\n\t */\n\tviewScript?: string;\n\t/**\n\t * Block type frontend module script definition.\n\t * It will only be enqueued when viewing the content on\n\t * the front of the site.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#view-script-module\n\t */\n\tviewScriptModule?: string;\n\t/**\n\t * Block type view style definition.\n\t * It will only be enqueued when viewing the content on\n\t * the front of the site.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#view-style\n\t */\n\tviewStyle?: string;\n\t/**\n\t * PHP file to use when rendering the block type on the server\n\t * to show on the front end.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#render\n\t */\n\trender?: string;\n\t/**\n\t * Block styles.\n\t *\n\t * @see https://wordpress.org/gutenberg/handbook/extensibility/extending-blocks/#block-style-variations\n\t */\n\tstyles?: BlockStyle[];\n\t/**\n\t * Block supports configuration.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/\n\t */\n\tsupports?: BlockSupports;\n\t/**\n\t * Block hooks configuration.\n\t */\n\tblockHooks?: Record< string, string >;\n\t/**\n\t * The gettext text domain of the plugin/block.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#text-domain\n\t */\n\ttextdomain?: string;\n\t/**\n\t * Human-readable block type label.\n\t */\n\ttitle: string;\n\t/**\n\t * Transforms configuration.\n\t */\n\ttransforms?: {\n\t\t/**\n\t\t * Transforms from another block type to this block type.\n\t\t */\n\t\tfrom?: BlockTransform< Attributes >[];\n\t\t/**\n\t\t * Transforms from this block type to another block type.\n\t\t */\n\t\tto?: BlockTransform[];\n\t\t/**\n\t\t * The transformations available for mobile devices.\n\t\t */\n\t\tsupportedMobileTransforms?: string[];\n\t};\n\t/**\n\t * Array of the names of context values to inherit from\n\t * an ancestor provider.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#context\n\t */\n\tusesContext?: string[];\n\t/**\n\t * Block selectors for styles.\n\t */\n\tselectors?: Record< string, string | Record< string, string > >;\n\t/**\n\t * The current version number of the block, such as 1.0 or 1.0.3.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#version\n\t */\n\tversion?: string;\n\t/**\n\t * The list of block variations.\n\t */\n\tvariations?: BlockVariation< Attributes >[];\n\t/**\n\t * Sets attributes on the topmost parent element of the current block.\n\t */\n\tgetEditWrapperProps?: (\n\t\tattrs: Attributes\n\t) => Record< string, string | number | boolean >;\n\t/**\n\t * A function that defines how new attributes are merged with existing ones.\n\t */\n\tmerge?: (\n\t\tattributes: Attributes,\n\t\tattributesToMerge: Attributes\n\t) => Partial< Attributes >;\n\t/**\n\t * Custom block label callback function.\n\t */\n\t__experimentalLabel: (\n\t\tattributes: Attributes,\n\t\toptions: { context: string }\n\t) => string;\n}\n\n/**\n * Block type deprecation handler.\n *\n * Defines migration of deprecated blocks to the current version.\n *\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-deprecation/\n */\nexport interface BlockDeprecation<\n\tNewAttributes extends Record< string, unknown > = Record< string, unknown >,\n\tOldAttributes extends Record< string, unknown > = Record< string, unknown >,\n> extends Pick<\n\t\tBlockType< OldAttributes >,\n\t\t'attributes' | 'save' | 'supports'\n\t> {\n\t/**\n\t * A function which, given the attributes and inner blocks of the\n\t * parsed block, returns true if the deprecation can handle the\n\t * block migration.\n\t */\n\tisEligible?: ( attributes: OldAttributes, innerBlocks: Block[] ) => boolean;\n\t/**\n\t * A function which, given the old attributes and inner blocks,\n\t * returns either the new attributes or a tuple of\n\t * [attributes, innerBlocks] compatible with the block.\n\t */\n\tmigrate?: (\n\t\tattributes: OldAttributes,\n\t\tinnerBlocks: Block[]\n\t) => NewAttributes | [ NewAttributes, Block[] ];\n\t/**\n\t * The block API version.\n\t */\n\tapiVersion?: number;\n}\n\n/**\n * A fully parsed block instance.\n */\nexport interface Block<\n\tAttributes extends Record< string, unknown > = Record< string, unknown >,\n> {\n\t/**\n\t * Unique client identifier.\n\t */\n\tclientId: string;\n\t/**\n\t * Block name.\n\t */\n\tname: string;\n\t/**\n\t * Whether the block is valid.\n\t */\n\tisValid: boolean;\n\t/**\n\t * Block attributes.\n\t */\n\tattributes: Attributes;\n\t/**\n\t * Inner blocks.\n\t */\n\tinnerBlocks: Block[];\n\t/**\n\t * Original content of the block before validation fixes.\n\t */\n\toriginalContent?: string;\n\t/**\n\t * Validation issues.\n\t */\n\tvalidationIssues?: Array< { log: Function; args: unknown[] } >;\n\t/**\n\t * Un-processed original copy of block if created through parser.\n\t */\n\t__unstableBlockSource?: RawBlock;\n}\n\n/**\n * The raw structure of a block as returned by the parser.\n */\nexport interface RawBlock {\n\t/**\n\t * Block name.\n\t */\n\tblockName?: string | null;\n\t/**\n\t * Block raw or comment attributes.\n\t */\n\tattrs?: Record< string, unknown >;\n\t/**\n\t * HTML content of the block.\n\t */\n\tinnerHTML: string;\n\t/**\n\t * Content without inner blocks.\n\t */\n\tinnerContent: Array< string | null >;\n\t/**\n\t * Inner blocks.\n\t */\n\tinnerBlocks: RawBlock[];\n}\n\n/**\n * Parser options.\n */\nexport interface ParseOptions {\n\t/**\n\t * If a block is migrated from a deprecated version,\n\t * skip logging the migration details.\n\t */\n\t__unstableSkipMigrationLogs?: boolean;\n\t/**\n\t * Whether to skip autop when processing freeform content.\n\t */\n\t__unstableSkipAutop?: boolean;\n}\n\n/**\n * An object describing a Block Bindings source.\n */\nexport interface BlockBindingsSource {\n\t/**\n\t * The unique and machine-readable name.\n\t */\n\tname: string;\n\t/**\n\t * Human-readable label. Optional when it is defined in the server.\n\t */\n\tlabel?: string;\n\t/**\n\t * Optional array of context needed by the source only in the editor.\n\t */\n\tusesContext?: string[];\n\t/**\n\t * Optional function to get the values from the source.\n\t */\n\tgetValues?: Function;\n\t/**\n\t * Optional function to update multiple values connected to the source.\n\t */\n\tsetValues?: Function;\n\t/**\n\t * Optional function to determine if the user can edit the value.\n\t */\n\tcanUserEditValue?: Function;\n\t/**\n\t * Optional function that returns fields list that will be shown in the UI.\n\t */\n\tgetFieldsList?: ( args: {\n\t\tselect: unknown;\n\t\tcontext: Record< string, unknown >;\n\t} ) => unknown;\n}\n\n/**\n * Block category definition.\n */\nexport interface BlockCategory {\n\t/**\n\t * Unique category slug.\n\t */\n\tslug: string;\n\t/**\n\t * Category label, for display in user interface.\n\t */\n\ttitle: string;\n}\n\n/**\n * Block collection.\n */\nexport interface BlockCollection {\n\t/**\n\t * Collection title.\n\t */\n\ttitle: string;\n\t/**\n\t * Collection icon.\n\t */\n\ticon?: Icon;\n}\n\n/**\n * Block style definition.\n */\nexport interface BlockStyle {\n\t/**\n\t * Unique style name / CSS class.\n\t */\n\tname: string;\n\t/**\n\t * Human-readable label.\n\t */\n\tlabel?: string;\n\t/**\n\t * Whether this is the default style.\n\t */\n\tisDefault?: boolean;\n\t/**\n\t * Source of the style.\n\t */\n\tsource?: string;\n}\n\n/**\n * Control type used to indicate axial (column/row) block spacing controls.\n *\n * @see BlockSupports.spacing\n */\nexport type AxialDirection = 'horizontal' | 'vertical';\n\n/**\n * Control type used to indicate CSS spacing for arbitrary sides.\n *\n * @see BlockSupports.spacing\n */\nexport type CSSDirection = 'top' | 'right' | 'bottom' | 'left';\n\n/**\n * Control type used to indicate block's alignment.\n *\n * @see BlockSupports.align\n */\nexport type BlockAlignment = 'left' | 'center' | 'right' | 'wide' | 'full';\n\n/**\n * CSS style properties related to dimensions of BlockSupports.\n *\n * @see BlockSupports.dimensions\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#dimensions\n */\nexport type BlockDimensions = {\n\t/**\n\t * Enable aspect ratio control.\n\t */\n\taspectRatio?: boolean;\n\t/**\n\t * Enable height control.\n\t */\n\theight?: boolean;\n\t/**\n\t * Enable min height control.\n\t */\n\tminHeight?: boolean;\n\t/**\n\t * Enable width control.\n\t */\n\twidth?: boolean;\n};\n\n/**\n * BlockSupports interface to enable CSS style properties related to position.\n *\n * @see BlockSupports.position\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#position\n */\nexport type BlockPosition = {\n\t/**\n\t * Enable selecting sticky position.\n\t */\n\tsticky: boolean;\n};\n\n/**\n * BlockSupports interface to enable some of the properties related to color.\n *\n * Enables UI color controls in the block editor.\n *\n * @see BlockSupports.color\n */\nexport interface ColorProps {\n\t/**\n\t * This property adds UI controls which allow the user to apply\n\t * a solid background color to a block.\n\t *\n\t * (default) true\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-background\n\t */\n\tbackground: boolean;\n\n\t/**\n\t * This property adds UI controls which allow the user to apply\n\t * a gradient background to a block.\n\t *\n\t * (default) false\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-gradients\n\t */\n\tgradients: boolean;\n\n\t/**\n\t * This property adds block controls which allow the user\n\t * to set link color in a block, link color is disabled by default.\n\t *\n\t * (default) false\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-link\n\t */\n\tlink: boolean;\n\n\t/**\n\t * This property adds block controls which allow the user\n\t * to set text color in a block.\n\t *\n\t * (default) true\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-text\n\t */\n\ttext: boolean;\n\n\t/**\n\t * This property adds block controls which allow the user\n\t * to set button color in a block.\n\t *\n\t * (default) false\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-button\n\t */\n\tbutton?: boolean;\n\n\t/**\n\t * This property adds block controls which allow the user\n\t * to set heading color in a block.\n\t *\n\t * (default) false\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-heading\n\t */\n\theading?: boolean;\n\n\t/**\n\t * Whether to enable the contrast checker for the block.\n\t *\n\t * (default) true\n\t */\n\tenableContrastChecker?: boolean;\n\n\t/**\n\t * This property adds UI controls which allow to apply a duotone filter\n\t * to a block or part of a block.\n\t *\n\t * (default) undefined\n\t *\n\t * @deprecated Use `filter.duotone` instead.\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color-__experimentalduotone\n\t */\n\t__experimentalDuotone?: string;\n}\n\n/**\n * BlockSupports interface to enable some typography related properties.\n *\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#typography\n */\nexport interface TypographyProps {\n\t/**\n\t * This value signals that a block supports the font-size\n\t * CSS style property.\n\t *\n\t * (default) false\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#typography-fontsize\n\t */\n\tfontSize: boolean;\n\n\t/**\n\t * This value signals that a block supports the line-height\n\t * CSS style property.\n\t *\n\t * (default) false\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#typography-lineheight\n\t */\n\tlineHeight: boolean;\n\n\t/**\n\t * This value signals that a block supports the text-align\n\t * CSS style property.\n\t *\n\t * (default) false\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#typography-textalign\n\t */\n\ttextAlign: boolean | Array< 'left' | 'center' | 'right' >;\n}\n\n/**\n * BlockSupports interface to enable some of the CSS style properties related to spacing.\n *\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#spacing\n */\nexport interface SpacingProps {\n\t/**\n\t * Enable block gap control.\n\t */\n\tblockGap: boolean | AxialDirection[];\n\n\t/**\n\t * Enable margin control UI for all or specified element directions.\n\t *\n\t * (default) false\n\t */\n\tmargin: boolean | CSSDirection[];\n\n\t/**\n\t * Enable padding control UI for all or specified element directions.\n\t *\n\t * (default) false\n\t */\n\tpadding: boolean | CSSDirection[];\n\n\t/**\n\t * Whether to skip the serialization to HTML markup.\n\t */\n\t__experimentalSkipSerialization?: true | string[];\n}\n\n/**\n * Description of BlockType support for editor features.\n *\n * @see BlockType.supports\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/\n */\nexport interface BlockSupports {\n\t[ key: string ]: unknown;\n\n\t/**\n\t * This property adds block controls which allow to change block's alignment.\n\t *\n\t * (default) false\n\t */\n\talign?: boolean | BlockAlignment[];\n\n\t/**\n\t * Enable wide alignment (depends on `align`).\n\t *\n\t * (default) true\n\t */\n\talignWide?: boolean;\n\n\t/**\n\t * Allows the block to specify which child blocks are allowed.\n\t *\n\t * (default) false\n\t */\n\tallowedBlocks?: boolean;\n\n\t/**\n\t * Anchors let you link directly to a specific block on a page.\n\t *\n\t * (default) false\n\t */\n\tanchor?: boolean;\n\n\t/**\n\t * Allows the block to specify an ARIA label.\n\t *\n\t * (default) false\n\t */\n\tariaLabel?: boolean;\n\n\t/**\n\t * This value signals that a block supports background\n\t * related properties.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#background\n\t */\n\tbackground?: {\n\t\t/**\n\t\t * Enable background image control.\n\t\t *\n\t\t * (default) false\n\t\t */\n\t\tbackgroundImage?: boolean;\n\t\t/**\n\t\t * Enable background size control.\n\t\t *\n\t\t * (default) false\n\t\t */\n\t\tbackgroundSize?: boolean;\n\t};\n\n\t/**\n\t * By default, Gutenberg adds a class with the form\n\t * `.wp-block-your-block-name` to the root element of your saved markup.\n\t *\n\t * (default) true\n\t */\n\tclassName?: boolean;\n\n\t/**\n\t * This value signals that a block supports some of the properties\n\t * related to color.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#color\n\t */\n\tcolor?: Partial< ColorProps >;\n\n\t/**\n\t * Indicates the block has content that should be preserved\n\t * during transforms.\n\t *\n\t * (default) false\n\t */\n\tcontentRole?: boolean;\n\n\t/**\n\t * This property adds a field to define a custom className for the\n\t * block's wrapper.\n\t *\n\t * (default) true\n\t */\n\tcustomClassName?: boolean;\n\n\t/**\n\t * This value signals that a block supports some of the CSS style\n\t * properties related to dimensions.\n\t *\n\t * (default) null\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#dimensions\n\t */\n\tdimensions?: BlockDimensions;\n\n\t/**\n\t * This value signals that a block supports duotone/filter properties.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#filter\n\t */\n\tfilter?: {\n\t\t/**\n\t\t * Enable duotone filter control.\n\t\t *\n\t\t * (default) false\n\t\t */\n\t\tduotone?: boolean;\n\t};\n\n\t/**\n\t * By default, Gutenberg will allow a block's markup to be edited\n\t * individually. To disable this behavior, set `html` to `false`.\n\t *\n\t * (default) true\n\t */\n\thtml?: boolean;\n\n\t/**\n\t * By default, all blocks will appear in the Gutenberg inserter.\n\t * To hide a block so that it can only be inserted programmatically,\n\t * set to false.\n\t *\n\t * (default) true\n\t */\n\tinserter?: boolean;\n\n\t/**\n\t * This value signals that a block supports the Interactivity API.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#interactivity\n\t */\n\tinteractivity?:\n\t\t| boolean\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * Enable client-side navigation support.\n\t\t\t\t *\n\t\t\t\t * (default) false\n\t\t\t\t */\n\t\t\t\tclientNavigation?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Enable interactive support.\n\t\t\t\t *\n\t\t\t\t * (default) false\n\t\t\t\t */\n\t\t\t\tinteractive?: boolean;\n\t\t  };\n\n\t/**\n\t * This value signals that a block supports layout controls.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#layout\n\t */\n\tlayout?:\n\t\t| boolean\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * Default layout configuration.\n\t\t\t\t */\n\t\t\t\tdefault?: Record< string, unknown >;\n\t\t\t\t/**\n\t\t\t\t * Allow switching between layout types.\n\t\t\t\t *\n\t\t\t\t * (default) false\n\t\t\t\t */\n\t\t\t\tallowSwitching?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Allow editing layout settings.\n\t\t\t\t *\n\t\t\t\t * (default) true\n\t\t\t\t */\n\t\t\t\tallowEditing?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Allow inheriting layout from parent.\n\t\t\t\t *\n\t\t\t\t * (default) true\n\t\t\t\t */\n\t\t\t\tallowInheriting?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Allow sizing on children blocks.\n\t\t\t\t *\n\t\t\t\t * (default) false\n\t\t\t\t */\n\t\t\t\tallowSizingOnChildren?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Allow vertical alignment.\n\t\t\t\t *\n\t\t\t\t * (default) true\n\t\t\t\t */\n\t\t\t\tallowVerticalAlignment?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Allow justification.\n\t\t\t\t *\n\t\t\t\t * (default) true\n\t\t\t\t */\n\t\t\t\tallowJustification?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Allow orientation changes.\n\t\t\t\t *\n\t\t\t\t * (default) true\n\t\t\t\t */\n\t\t\t\tallowOrientation?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Allow wrapping.\n\t\t\t\t *\n\t\t\t\t * (default) true\n\t\t\t\t */\n\t\t\t\tallowWrap?: boolean;\n\t\t\t\t/**\n\t\t\t\t * Allow custom content and wide size.\n\t\t\t\t *\n\t\t\t\t * (default) true\n\t\t\t\t */\n\t\t\t\tallowCustomContentAndWideSize?: boolean;\n\t\t  };\n\n\t/**\n\t * Whether to show the block in the list view.\n\t *\n\t * (default) false\n\t */\n\tlistView?: boolean;\n\n\t/**\n\t * A block may want to disable the ability to toggle the lock state.\n\t *\n\t * (default) true\n\t */\n\tlock?: boolean;\n\n\t/**\n\t * A non-multiple block can be inserted into each post, one time only.\n\t *\n\t * (default) true\n\t */\n\tmultiple?: boolean;\n\n\t/**\n\t * This value signals that a block supports some of the CSS style\n\t * properties related to position.\n\t *\n\t * (default) null\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#position\n\t */\n\tposition?: BlockPosition;\n\n\t/**\n\t * Whether the block can be renamed by the user.\n\t *\n\t * (default) true\n\t */\n\trenaming?: boolean;\n\n\t/**\n\t * By default all blocks can be converted to a reusable block.\n\t *\n\t * (default) true\n\t */\n\treusable?: boolean;\n\n\t/**\n\t * This value signals that a block supports shadow.\n\t *\n\t * (default) false\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#shadow\n\t */\n\tshadow?: boolean;\n\n\t/**\n\t * This value signals that a block supports some of the CSS style\n\t * properties related to spacing.\n\t *\n\t * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#spacing\n\t */\n\tspacing?: Partial< SpacingProps >;\n\n\t/**\n\t * Whether the block supports splitting when pressing Enter.\n\t *\n\t * (default) false\n\t */\n\tsplitting?: boolean;\n\n\t/**\n\t * This value signals that a block supports some typography\n\t * related properties.\n\t */\n\ttypography?: Partial< TypographyProps >;\n\n\t/**\n\t * Whether the block supports the visibility control.\n\t *\n\t * (default) true\n\t */\n\tvisibility?: boolean;\n\n\t/**\n\t * CSS selector to use instead of the default `.wp-block-<blockname>` selector.\n\t */\n\t__experimentalSelector?: string;\n}\n\n/**\n * Describes the `save` component props of a block type.\n */\nexport interface BlockSaveProps<\n\tAttributes extends Record< string, unknown > = Record< string, unknown >,\n> {\n\t/**\n\t * The generated class name for the block.\n\t */\n\tclassName: string;\n\t/**\n\t * The block attributes.\n\t */\n\tattributes: Attributes;\n}\n\n/**\n * Describes the `edit` component props of a block type.\n */\nexport interface BlockEditProps<\n\tAttributes extends Record< string, unknown > = Record< string, unknown >,\n> extends BlockSaveProps< Attributes > {\n\t/**\n\t * The block's client ID.\n\t */\n\tclientId: string;\n\t/**\n\t * Whether the block is currently selected.\n\t */\n\tisSelected: boolean;\n\t/**\n\t * Function to update the block's attributes.\n\t * Accepts an object of partial attributes, or an updater function\n\t * that receives the previous attributes and returns partial attributes.\n\t */\n\tsetAttributes: (\n\t\tattrs:\n\t\t\t| Partial< Attributes >\n\t\t\t| ( ( prevAttrs: Attributes ) => Partial< Attributes > )\n\t) => void;\n\t/**\n\t * Context values inherited from ancestor blocks.\n\t */\n\tcontext: Record< string, unknown >;\n}\n\n/**\n * Configuration passed to `registerBlockType`.\n */\nexport type BlockConfiguration<\n\tAttributes extends Record< string, unknown > = Record< string, unknown >,\n> = Partial< Omit< BlockType< Attributes >, 'icon' > > &\n\tPick< BlockType< Attributes >, 'attributes' | 'category' | 'title' > & {\n\t\ticon?: BlockTypeIcon;\n\t};\n\n/**\n * Block serialization options.\n */\nexport interface BlockSerializationOptions {\n\t/**\n\t * Whether to include inner blocks content.\n\t */\n\tisInnerBlocks?: boolean;\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;",
  "names": []
}
