PHPackages                             eighteen73/pulsar-blocks - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. eighteen73/pulsar-blocks

ActiveWordpress-plugin[Utility &amp; Helpers](/categories/utility)

eighteen73/pulsar-blocks
========================

A collection of blocks we use at eighteen73.

v1.7.0(2mo ago)01.3k↓50%2[2 issues](https://github.com/eighteen73/pulsar-blocks/issues)[8 PRs](https://github.com/eighteen73/pulsar-blocks/pulls)MITJavaScriptPHP &gt;=7.4CI passing

Since Dec 13Pushed 1mo ago5 watchersCompare

[ Source](https://github.com/eighteen73/pulsar-blocks)[ Packagist](https://packagist.org/packages/eighteen73/pulsar-blocks)[ RSS](/packages/eighteen73-pulsar-blocks/feed)WikiDiscussions main Synced yesterday

READMEChangelog (10)Dependencies (3)Versions (106)Used By (0)

Pulsar Blocks
=============

[](#pulsar-blocks)

 **A collection of blocks we use at eighteen73.**

Block list
----------

[](#block-list)

### [Accordion](/src/accordion/)

[](#accordion)

An accessible accordion, supporting multiple open items, initially open first item and FAQs schema support.

### Attributes

[](#attributes)

- openMultiple
- startOpen
- level
- hasSchema

### [Carousel](/src/carousel/)

[](#carousel)

A [Splide](https://splidejs.com) powered carousel with innerBlocks support.

By default this uses a `pulsar/carousel-slide` innerBlock. However the block can be extended to be the foundation of any type of carousel block via the use of variations and custom child blocks.

### Attributes

[](#attributes-1)

- carouselOptions
- advancedCarouselOptions
- mergeOptions
- ariaLabel
- hasTrack
- template
- templateLock
- allowedBlocks

### Extending the carousel block

[](#extending-the-carousel-block)

The carousel should be powerful and flexible enough to be extended via variations.

Here is a short example of the steps required:

#### 1. Register a variation

[](#1-register-a-variation)

Let's assume we want to create a carousel that displays the latest posts. The important parts here are that we set `hasTrack` to `false` (so that we can wrap the posts in the child block), the `template` and `templateLock`.

```
import domReady from '@wordpress/dom-ready';
import { registerBlockVariation } from '@wordpress/blocks';

domReady(() => {
	registerBlockVariation('pulsar/carousel', {
		name: 'carousel-posts',
		title: 'Posts Carousel',
		attributes: {
			templateLock: 'all',
			hasTrack: false,
			template: [['pulsar/posts', {}]],
		},
		isActive: ['template'],
	});
});

```

#### 2. Create a child block to be used as the template

[](#2-create-a-child-block-to-be-used-as-the-template)

```

// Barebones example of the pulsar/posts child block edit function.
// Markup must include `splide__track` and `splide__list`.

import { useBlockProps } from '@wordpress/block-editor';

/**
 * The edit function describes the structure of your block in the context of the
 * editor. This represents what the editor will render when the block is used.
 *
 * @return {WPElement} Element to render.
 */
export default function Edit() {
	const blockProps = useBlockProps({ className: 'splide__track' });

	return (

				// Your block content here

	);
}

```

Filters
-------

[](#filters)

### Carousel

[](#carousel-1)

```
pulsar_blocks\carousel\force_carousel
```

The carousel contains logic to disable carousel functionality if the total number of slides is equal or less than the number of slides per page. Use this filter if you would like to enable/disable this behaviour.

Example:

```
add_filter( 'pulsar_blocks\carousel\force_carousel', '__return_true' );
```

###  Health Score

48

—

FairBetter than 93% of packages

Maintenance88

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Recently: every ~20 days

Total

75

Last Release

67d ago

Major Versions

v0.18.2 → v1.0.02025-07-29

v0.8.3 → v1.5.32025-12-15

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/73229?v=4)[Brett Mason ](/maintainers/brettsmason)[@brettsmason](https://github.com/brettsmason)

---

Top Contributors

[![brettsmason](https://avatars.githubusercontent.com/u/73229?v=4)](https://github.com/brettsmason "brettsmason (361 commits)")[![DanielHudson2](https://avatars.githubusercontent.com/u/35522603?v=4)](https://github.com/DanielHudson2 "DanielHudson2 (37 commits)")[![edjeavons](https://avatars.githubusercontent.com/u/735284?v=4)](https://github.com/edjeavons "edjeavons (11 commits)")[![LittleGit1](https://avatars.githubusercontent.com/u/32986014?v=4)](https://github.com/LittleGit1 "LittleGit1 (10 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")

---

Tags

gutenberggutenberg-blockssplidejswordpresspluginwordpressblocksgutenbergpulsar

### Embed Badge

![Health badge](/badges/eighteen73-pulsar-blocks/health.svg)

```
[![Health](https://phpackages.com/badges/eighteen73-pulsar-blocks/health.svg)](https://phpackages.com/packages/eighteen73-pulsar-blocks)
```

###  Alternatives

[infinum/eightshift-libs

WordPress libs developed by Eightshift team to use in modern WordPress.

63125.5k3](/packages/infinum-eightshift-libs)[davidwebca/custom-editor-sidebar-width

WordPress plugin to allow users to set their desired Gutenberg sidebar width.

111.2k](/packages/davidwebca-custom-editor-sidebar-width)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
