PHPackages                             arkounay/ux-media - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. arkounay/ux-media

ActiveSymfony-bundle[File &amp; Storage](/categories/file-storage)

arkounay/ux-media
=================

Async document upload form type using ArtgrisFileManager

4.3.0(3mo ago)1913.9k↓40.7%8[2 issues](https://github.com/Arkounay/ux-media/issues)MITTwigPHP &gt;=8.0

Since Oct 7Pushed 3mo ago3 watchersCompare

[ Source](https://github.com/Arkounay/ux-media)[ Packagist](https://packagist.org/packages/arkounay/ux-media)[ RSS](/packages/arkounay-ux-media/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (49)Used By (0)

Ux Media
========

[](#ux-media)

Symfony UX async document upload form type using ArtgrisFileManager, a [MediaBundle](https://github.com/artgris/MediaBundle) version that works without having to use most of its dependecies like jQuery / jQuery UI / Font awesome etc (but **still requires bootstrap 5**)

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

[](#installation)

**Before you start, make sure you have [StimulusBundle](https://symfony.com/bundles/StimulusBundle/current/index.html) configured in your app.**

Install the bundle using Composer and Symfony Flex:

```
composer require arkounay/ux-media
```

If you're using WebpackEncore, install your assets and restart Encore (not needed if you're using AssetMapper):

```
npm install --force
npm run watch

# or use yarn
yarn install --force
yarn watch
```

### Configuration prerequisites

[](#configuration-prerequisites)

This bundles uses [FileManagerBundle](https://github.com/artgris/FileManagerBundle). Make sure its routing is enabled, as well as UxMedia routes :

`config/routes.yaml`:

```
artgris_file_manager:
    resource: "@ArtgrisFileManagerBundle/Controller"
    type:     attribute
    prefix:   /admin/manager

ux_media:
    resource: "@ArkounayUxMediaBundle/Controller"
    type:     attribute
    prefix:   /admin/ux-media
```

Also, make sure you have a conf that is defined :

`packages/artgris_file_manager.yaml`:

```
artgris_file_manager:
    conf:
        default:
            dir: '%kernel.project_dir%/public/uploads'
```

If your project is **NOT** using bootstrap, you need to enable the bootstrap\_modal controller and enable scss :

- Add Encore.enableSassLoader() to your webpack.config.js file
- Install sass ` yarn add sass-loader@^12.0.0 sass --dev`

And import the propoer bootstrap scss class :

```
{
    "controllers": {
        "@arkounay/ux-collection": {
            "collection": {
                "enabled": true,
                "fetch": "eager",
                "autoimport": {
                    "@arkounay/ux-collection/src/style.css": true,
                    "@arkounay/ux-collection/src/style-when-not-using-bootstrap-5.css": false
                }
            }
        },
        "@arkounay/ux-media": {
            "media": {
                "enabled": true,
                "fetch": "eager",
                "autoimport": {
                    "@arkounay/ux-media/src/style.css": true
                }
            },
            "upload": {
                "enabled": true,
                "fetch": "eager"
            },
            "crop": {
                "enabled": true,
                "fetch": "eager",
                "autoimport": {
                    "cropperjs/dist/cropper.min.css": true,
                    "@arkounay/ux-media/src/crop_style.css": true
                }
            },
            "bootstrap_modal": {
                "enabled": true,
                "fetch": "eager"
            }
        }
    },
    "entrypoints": []
}
```

Usage
-----

[](#usage)

Works like [Artgris/MediaBundle](https://github.com/artgris/MediaBundle) except you have to use UxMediaType and UxMediaCollectionType

```
$builder->add('Media', UxMediaType::class, [
    'conf' => 'default',
    'tree' => true,
    'display_file_manager' => true,
    'display_clear_button' => true,
    'allow_crop' => true,
    'crop_options' => [
        'display_crop_data' => true,
        'allow_flip' => true,
        'allow_rotation' => true,
        'ratio' => false,
    ]
])
```

### EasyAdmin integration

[](#easyadmin-integration)

For [easyadmin](https://github.com/EasyCorp/EasyAdminBundle) 3+ you need to manually specify the form theme by overriding configureCrud in your DashboardController to add the themes s`@ArkounayUxCollection/ux_collection_form_theme.html.twig` and `@ArkounayUxMedia/ux_media_form_theme.html.twig`

```
public function configureCrud(): Crud
{
    return Crud::new()
        ->addFormTheme('@ArkounayUxCollection/ux_collection_form_theme.html.twig')
        ->addFormTheme('@ArkounayUxMedia/ux_media_form_theme.html.twig')
    ;
}
```

If you're using WebpackEncore, you will need to configure your admin to use it so Symfony UX is taken into account, for example:

```
public function configureAssets(Assets $assets): Assets
{
    return parent::configureAssets($assets)
        ->addWebpackEncoreEntry('app');
}
```

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance75

Regular maintenance activity

Popularity37

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 67.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 ~34 days

Recently: every ~105 days

Total

47

Last Release

118d ago

Major Versions

1.0.5 → 2.0.02021-12-14

1.0.6 → 2.2.02022-01-14

1.1.0 → 2.3.12022-09-19

2.3.2 → 3.0.02022-09-20

3.6.1 → 4.0.02024-03-01

PHP version history (2 changes)1.0.0PHP &gt;=7.2

2.0.0PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/a6e42acfea7651328f0b5c55d9aa4ba51c0327ce23962a2f2bff34d423dcd77e?d=identicon)[Arkounay](/maintainers/Arkounay)

---

Top Contributors

[![Arkounay](https://avatars.githubusercontent.com/u/9340719?v=4)](https://github.com/Arkounay "Arkounay (38 commits)")[![xDeSwa](https://avatars.githubusercontent.com/u/33868586?v=4)](https://github.com/xDeSwa "xDeSwa (10 commits)")[![kpeu3u](https://avatars.githubusercontent.com/u/7635185?v=4)](https://github.com/kpeu3u "kpeu3u (3 commits)")[![comtrast-remi](https://avatars.githubusercontent.com/u/76279330?v=4)](https://github.com/comtrast-remi "comtrast-remi (1 commits)")[![da-dindi](https://avatars.githubusercontent.com/u/55762875?v=4)](https://github.com/da-dindi "da-dindi (1 commits)")[![devcut](https://avatars.githubusercontent.com/u/12175420?v=4)](https://github.com/devcut "devcut (1 commits)")[![florian-mueller](https://avatars.githubusercontent.com/u/2380802?v=4)](https://github.com/florian-mueller "florian-mueller (1 commits)")[![artgris](https://avatars.githubusercontent.com/u/22889596?v=4)](https://github.com/artgris "artgris (1 commits)")

---

Tags

fileuploadformsymfonysymfony-bundlesymfony-formsymfony-uxsymfony-ux

### Embed Badge

![Health badge](/badges/arkounay-ux-media/health.svg)

```
[![Health](https://phpackages.com/badges/arkounay-ux-media/health.svg)](https://phpackages.com/packages/arkounay-ux-media)
```

###  Alternatives

[artgris/filemanager-bundle

FileManager is a simple Multilingual File Manager Bundle for Symfony

182420.8k9](/packages/artgris-filemanager-bundle)[helios-ag/fm-elfinder-bundle

ElFinder bundle, adds ElFinder file manager to your Symfony project

2814.8M27](/packages/helios-ag-fm-elfinder-bundle)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[symfony/ux-dropzone

File input dropzones for Symfony Forms

541.5M4](/packages/symfony-ux-dropzone)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[ibexa/oss

A meta package for installing Ibexa Open Source

19772.4k11](/packages/ibexa-oss)

PHPackages © 2026

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