PHPackages                             mireo91/repeatablefields - 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. mireo91/repeatablefields

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

mireo91/repeatablefields
========================

Neos package for adding repeatables fields to neos-ui react

v2.2.7(5mo ago)1642.0k↓53.8%17[2 issues](https://github.com/mireo91/RepeatableFields/issues)[4 PRs](https://github.com/mireo91/RepeatableFields/pulls)2GPL-3.0-or-laterJavaScriptCI failing

Since Apr 3Pushed 2w ago1 watchersCompare

[ Source](https://github.com/mireo91/RepeatableFields)[ Packagist](https://packagist.org/packages/mireo91/repeatablefields)[ RSS](/packages/mireo91-repeatablefields/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (2)Versions (39)Used By (2)

RepeatableFields
================

[](#repeatablefields)

Neos package for adding repeatables fields to neos-ui react

Demo View
---------

[](#demo-view)

[![Demo of repeatable fields](repeatable.gif)](repeatable.gif)

Installation
------------

[](#installation)

```
composer require mireo91/repeatablefields
```

Configuration
-------------

[](#configuration)

Create property with type `reapeatable`.

```
  ...
  properties:
    repeatableProperty:
      type: repeatable
      ui:
        label: 'Repeatable Field Group'
        inspector:
          group: document
          editorOptions:
#            you can use data source to dynamically set editorOptions (example: {predefinedProperties: [...]})
#            dataSourceUri: ""
#            dataSourceIdentifier:
#            dataSourceDisableCaching: false
#            dataSourceAdditionalData:
#              apiKey: 'foo-bar-baz'
            buttonAddLabel: 'Add row' #default label
            max: 100 #default max
            min: 0   #default min
            indexKey: field0 # when set nested data are not available but you can get data like (.property("repeatableProperty.[value of field0].field1"))
            controls:  #default all set to true
              move: true
              remove: true
              add: true
              collapse: true
            # Automatically sort by on property
            # Should only used with numeric or string values
            # You can pass multiple properties
            sortBy:
              - property: field0
                direction: desc # asc or desc. If not set, it will be asc
              - property: field1
            # Allow to remove entries with predefined properties. Defaults to false
            allowRemovePredefinedProperties: true
            predefinedProperties:
              - label: Group label
                properties:
                  field0:
                    defaultValue: defalut value for index 0 field0
                    editorOptions:
                      readonly: true
                  field2:
                    defaultValue: defalut value for index 0 field1
              - properties:
                  field0:
                    defaultValue: defalut value for index 1 field0
              - properties:
                  field0:
                    defaultValue: defalut value for index 2 field0
#                ...
            # collapse view on load. controls.collapse must be true. defaults to false
            collapsed: true
            # Set preview
            preview:
              text:  'ItemEval: item.field0'
              image: 'ItemEval: item.field1'
            properties:
              field0:
                # The order of the fields can be altered by setting position. It is the same logic as @position in Fusion
                # https://neos.readthedocs.io/en/stable/References/NeosFusionReference.html#neos-fusion-join
                position: 10
                editorOptions:
                  placeholder: 'default field editor'
              field1:
                type: 'Neos\Media\Domain\Model\ImageInterface' # type for property mapper
                label: 'Image field'
                # Hidden based on another property in the property list. node, parentNode and documentNode are also available
                hidden: 'ItemEval: !!item.field0 && documentNode.properties.pageProperty'
                editorOptions:
                  placeholder: 'placeholder test'
              field2:
                editor: 'Neos.Neos/Inspector/Editors/TextAreaEditor'
                label: 'Textarea editor'
                editorOptions:
                  placeholder: 'test placeholder 2'
```

Important notice
----------------

[](#important-notice)

Please don't name any property (in the example `fieldN`) `_UUID_`, as this is used internaly to set a unique key to the items

Nested
------

[](#nested)

In fusion you can get data by path `q(node).property('repetableProperty').field1` so you get nested data form specific repeatable field

Important changes between v1.x.x
--------------------------------

[](#important-changes-between-v1xx)

Right now when you want to uprade to v2.x.x be aware that you may need to adjust some fusion because of better property mapping of object type fileds

Issues
------

[](#issues)

- early version

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance82

Actively maintained with recent releases

Popularity40

Moderate usage in the ecosystem

Community23

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 52.9% 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 ~72 days

Recently: every ~59 days

Total

35

Last Release

171d ago

Major Versions

v0.1 → v1.02019-05-04

v1.8.2 → v2.0.02022-11-16

v1.x-dev → v2.0.12023-01-10

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3800479?v=4)[mireo91](/maintainers/mireo91)[@mireo91](https://github.com/mireo91)

---

Top Contributors

[![jonnitto](https://avatars.githubusercontent.com/u/4510166?v=4)](https://github.com/jonnitto "jonnitto (73 commits)")[![mireo91](https://avatars.githubusercontent.com/u/3800479?v=4)](https://github.com/mireo91 "mireo91 (56 commits)")[![c4ll-m3-j4ck](https://avatars.githubusercontent.com/u/7119811?v=4)](https://github.com/c4ll-m3-j4ck "c4ll-m3-j4ck (3 commits)")[![Benjamin-K](https://avatars.githubusercontent.com/u/3098031?v=4)](https://github.com/Benjamin-K "Benjamin-K (2 commits)")[![Sebobo](https://avatars.githubusercontent.com/u/596967?v=4)](https://github.com/Sebobo "Sebobo (1 commits)")[![crydotsnake](https://avatars.githubusercontent.com/u/39345336?v=4)](https://github.com/crydotsnake "crydotsnake (1 commits)")[![koehnlein](https://avatars.githubusercontent.com/u/16088567?v=4)](https://github.com/koehnlein "koehnlein (1 commits)")[![MarcoPNS](https://avatars.githubusercontent.com/u/35105681?v=4)](https://github.com/MarcoPNS "MarcoPNS (1 commits)")

### Embed Badge

![Health badge](/badges/mireo91-repeatablefields/health.svg)

```
[![Health](https://phpackages.com/badges/mireo91-repeatablefields/health.svg)](https://phpackages.com/packages/mireo91-repeatablefields)
```

###  Alternatives

[neos/neos-base-distribution

Neos Base Distribution

4366.0k](/packages/neos-neos-base-distribution)[techdivision/ckstyles

Neos package which enables you adding your custom style classes for the CkEditor with a simple Yaml configuration

21179.5k](/packages/techdivision-ckstyles)[neos/seo

SEO configuration and tools for Neos

141.0M31](/packages/neos-seo)[sitegeist/taxonomy

Manage vocabularies and taxonomies as separate node-hierarchy.

1595.1k1](/packages/sitegeist-taxonomy)[shel/neos-colorpicker

A plugin for Neos CMS which provides a colorpicker editor

14104.7k6](/packages/shel-neos-colorpicker)[sitegeist/kaleidoscope

Responsive-images for Neos

29370.3k12](/packages/sitegeist-kaleidoscope)

PHPackages © 2026

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