# post-carousel/4.0.8/src/blocks/pagination/edit.js

Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog &amp; News, version 4.0.8. 51 lines.

- Page: https://pluginprobe.com/plugins/post-carousel/4.0.8/code/src/blocks/pagination/edit.js
- Raw: https://pluginprobe.com/plugins/post-carousel/4.0.8/raw/src/blocks/pagination/edit.js
- Modified: 2026-09-02T10:51:28+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/post-carousel/4.0.8/code/src/blocks/pagination/edit.js#L10-L20`.

```javascript
import { useEffect, useMemo } from "@wordpress/element";
import { useBlockProps } from "@wordpress/block-editor";
import InspectorControl from "../../components/inspectorControls/inspectorControls";
import Inspector from "./inspect";
import dynamicCss from "./dynamicCss";
import { jsonStringify } from "../shared/helpFn";
import Pagination from "../shared/templates/templates-parts/pagination";
import { googleFonts, useDeviceType } from "../../controls/controls";
import { compose } from "@wordpress/compose";
import addInitialAttr from "../shared/addInitialAttr";

const PaginationEdit = ({ attributes, setAttributes }) => {
	const { customCss, uniqueId, paginationTypography, additionalCssClass } = attributes;

	const blockProps = useBlockProps({
		className: additionalCssClass,
	});

	const deviceType = useDeviceType();
	const googleFontLists = [paginationTypography];

	useEffect(() => {
		setAttributes({
			fontLists: jsonStringify(googleFonts(googleFontLists, "frontend")),
		});
	}, googleFontLists);

	const blockStyling = useMemo(() => dynamicCss(attributes, "frontend", deviceType), [attributes, deviceType]);
	return (
		<div {...blockProps}>
			<style>
				{googleFonts(googleFontLists)}
				{blockStyling}
				{customCss}
			</style>
			<InspectorControl
				// TitleIcon={ panelBodyTitleIcon }
				// RightIcon={ panelBodyRightIcon }
				Inspector={Inspector}
				attributes={attributes}
				setAttributes={setAttributes}
			/>
			<div id={uniqueId}>
				<Pagination attributes={attributes} />
			</div>
		</div>
	);
};

export default compose(addInitialAttr)(PaginationEdit);

```
