# ghostkit/3.3.3/gutenberg/blocks/button/save.js

Block Animations, Motion &amp; Scroll Effects – Ghost Kit, version 3.3.3. 44 lines.

- Page: https://pluginprobe.com/plugins/ghostkit/3.3.3/code/gutenberg/blocks/button/save.js
- Raw: https://pluginprobe.com/plugins/ghostkit/3.3.3/raw/gutenberg/blocks/button/save.js
- Modified: 2024-02-18T18:40:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/ghostkit/3.3.3/code/gutenberg/blocks/button/save.js#L10-L20`.

```javascript
import classnames from 'classnames/dedupe';

import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
import { applyFilters } from '@wordpress/hooks';

import metadata from './block.json';

const { name } = metadata;

/**
 * Block Save Class.
 *
 * @param props
 */
export default function BlockSave(props) {
	const { align, gap } = props.attributes;

	let className = classnames(
		'ghostkit-button-wrapper',
		gap ? `ghostkit-button-wrapper-gap-${gap}` : false,
		align && align !== 'none'
			? `ghostkit-button-wrapper-align-${align}`
			: false
	);

	className = applyFilters('ghostkit.blocks.className', className, {
		name,
		...props,
	});

	const blockProps = useBlockProps.save({
		className,
	});
	const { children, ...innerBlocksProps } = useInnerBlocksProps.save({
		className: 'ghostkit-button-wrapper-inner',
	});

	return (
		<div {...blockProps}>
			<div {...innerBlocksProps}>{children}</div>
		</div>
	);
}

```
