diff --git a/composer.json b/composer.json index e97c7ea0f7..fe8a366b75 100644 --- a/composer.json +++ b/composer.json @@ -37,7 +37,7 @@ "psr-4": { "Filament\\": [ "packages/forms/src", - "packages/support/src", + "packages/tables/src", "src" ], "Filament\\Database\\Factories\\": "database/factories" @@ -53,7 +53,7 @@ "providers": [ "Filament\\FilamentServiceProvider", "Filament\\FormsServiceProvider", - "Filament\\SupportServiceProvider" + "Filament\\TablesServiceProvider" ], "aliases": { "FilamentManager": "Filament\\Filament" @@ -62,7 +62,7 @@ }, "replace": { "filament/forms": "self.version", - "filament/support": "self.version" + "filament/tables": "self.version" }, "config": { "sort-packages": true diff --git a/packages/forms/composer.json b/packages/forms/composer.json index 22f33eac00..3a3de8742a 100644 --- a/packages/forms/composer.json +++ b/packages/forms/composer.json @@ -11,7 +11,6 @@ "php": "^7.4|^8.0", "blade-ui-kit/blade-heroicons": "^0.3", "danharrin/date-format-converter": "^0.2.0", - "filament/support": "^1.0", "illuminate/database": "^8.0", "illuminate/http": "^8.0", "illuminate/support": "^8.0", @@ -26,7 +25,7 @@ "extra": { "laravel": { "providers": [ - "Filament\\FormsServiceProvider" + "TablesServiceProvider" ] } }, diff --git a/packages/forms/resources/views/components/form.blade.php b/packages/forms/resources/views/components/container.blade.php similarity index 78% rename from packages/forms/resources/views/components/form.blade.php rename to packages/forms/resources/views/components/container.blade.php index 8a6a75b291..e37a78cd9e 100644 --- a/packages/forms/resources/views/components/form.blade.php +++ b/packages/forms/resources/views/components/container.blade.php @@ -9,11 +9,11 @@ {{ $attributes }} > @if (count($fields)) - + @foreach ($fields as $field) {{ $field->render() }} @endforeach - + @endif {{ $slot }} diff --git a/packages/forms/resources/views/components/form-grid.blade.php b/packages/forms/resources/views/components/grid.blade.php similarity index 100% rename from packages/forms/resources/views/components/form-grid.blade.php rename to packages/forms/resources/views/components/grid.blade.php diff --git a/packages/forms/resources/views/components/subform.blade.php b/packages/forms/resources/views/components/section.blade.php similarity index 73% rename from packages/forms/resources/views/components/subform.blade.php rename to packages/forms/resources/views/components/section.blade.php index d3866b9ebb..9339199b28 100644 --- a/packages/forms/resources/views/components/subform.blade.php +++ b/packages/forms/resources/views/components/section.blade.php @@ -5,11 +5,11 @@
@if (count($fields)) - + @foreach ($fields as $field) {{ $field->render() }} @endforeach - + @endif {{ $slot }} diff --git a/packages/forms/resources/views/components/tabs.blade.php b/packages/forms/resources/views/components/tabs.blade.php index afb6b54b2a..9d4b4f08d6 100644 --- a/packages/forms/resources/views/components/tabs.blade.php +++ b/packages/forms/resources/views/components/tabs.blade.php @@ -4,11 +4,11 @@ 'tabs' => [], ]) -
@@ -29,4 +29,4 @@ {{ $slot }}
- +
diff --git a/packages/forms/resources/views/components/tags.blade.php b/packages/forms/resources/views/components/tags-input.blade.php similarity index 100% rename from packages/forms/resources/views/components/tags.blade.php rename to packages/forms/resources/views/components/tags-input.blade.php diff --git a/packages/forms/resources/views/components/input.blade.php b/packages/forms/resources/views/components/text-input.blade.php similarity index 100% rename from packages/forms/resources/views/components/input.blade.php rename to packages/forms/resources/views/components/text-input.blade.php diff --git a/packages/forms/resources/views/fields/checkbox.blade.php b/packages/forms/resources/views/fields/checkbox.blade.php index 414f59524d..d89c936b7a 100644 --- a/packages/forms/resources/views/fields/checkbox.blade.php +++ b/packages/forms/resources/views/fields/checkbox.blade.php @@ -1,4 +1,4 @@ - - - + diff --git a/packages/forms/resources/views/fields/date-time.blade.php b/packages/forms/resources/views/fields/date-time.blade.php index 30d2904613..3de1d0e746 100644 --- a/packages/forms/resources/views/fields/date-time.blade.php +++ b/packages/forms/resources/views/fields/date-time.blade.php @@ -1,4 +1,4 @@ - - - + diff --git a/packages/forms/resources/views/fields/date.blade.php b/packages/forms/resources/views/fields/date.blade.php index d623cc8912..fcc8d12f42 100644 --- a/packages/forms/resources/views/fields/date.blade.php +++ b/packages/forms/resources/views/fields/date.blade.php @@ -1,4 +1,4 @@ - - - + diff --git a/packages/forms/resources/views/fields/fieldset.blade.php b/packages/forms/resources/views/fields/fieldset.blade.php index f72610e9a1..d75296da31 100644 --- a/packages/forms/resources/views/fields/fieldset.blade.php +++ b/packages/forms/resources/views/fields/fieldset.blade.php @@ -5,5 +5,5 @@ @endif - + diff --git a/packages/forms/resources/views/fields/file.blade.php b/packages/forms/resources/views/fields/file.blade.php index d1665c0108..305728378a 100644 --- a/packages/forms/resources/views/fields/file.blade.php +++ b/packages/forms/resources/views/fields/file.blade.php @@ -40,7 +40,7 @@ $field->placeholder = __($field->placeholder); @endphp -
- + diff --git a/packages/forms/resources/views/fields/rich-editor.blade.php b/packages/forms/resources/views/fields/rich-editor.blade.php index e19ae2d1e3..9954ce8404 100644 --- a/packages/forms/resources/views/fields/rich-editor.blade.php +++ b/packages/forms/resources/views/fields/rich-editor.blade.php @@ -28,7 +28,7 @@ @endpushonce - @endunless - + diff --git a/packages/forms/resources/views/fields/select.blade.php b/packages/forms/resources/views/fields/select.blade.php index 7110203d53..3235742cc2 100644 --- a/packages/forms/resources/views/fields/select.blade.php +++ b/packages/forms/resources/views/fields/select.blade.php @@ -1,4 +1,4 @@ - - - + diff --git a/packages/forms/resources/views/fields/tab.blade.php b/packages/forms/resources/views/fields/tab.blade.php index c60151d0ed..2bb61f5290 100644 --- a/packages/forms/resources/views/fields/tab.blade.php +++ b/packages/forms/resources/views/fields/tab.blade.php @@ -1,3 +1,3 @@ - - - + + + diff --git a/packages/forms/resources/views/fields/tabs.blade.php b/packages/forms/resources/views/fields/tabs.blade.php index e4378f1dcc..32a8a985b4 100644 --- a/packages/forms/resources/views/fields/tabs.blade.php +++ b/packages/forms/resources/views/fields/tabs.blade.php @@ -1,5 +1,5 @@ - + @foreach($field->fields as $tab) {{ $tab->render() }} @endforeach - + diff --git a/packages/forms/resources/views/fields/tags.blade.php b/packages/forms/resources/views/fields/tags.blade.php index fd1e14734e..410d5501aa 100644 --- a/packages/forms/resources/views/fields/tags.blade.php +++ b/packages/forms/resources/views/fields/tags.blade.php @@ -1,4 +1,4 @@ - - - + diff --git a/packages/forms/resources/views/fields/text.blade.php b/packages/forms/resources/views/fields/text.blade.php index 6ae273ac1f..c60001ce16 100644 --- a/packages/forms/resources/views/fields/text.blade.php +++ b/packages/forms/resources/views/fields/text.blade.php @@ -1,4 +1,4 @@ - - - + diff --git a/packages/forms/resources/views/fields/textarea.blade.php b/packages/forms/resources/views/fields/textarea.blade.php index 0e4b8b4c3d..8abae9ea39 100644 --- a/packages/forms/resources/views/fields/textarea.blade.php +++ b/packages/forms/resources/views/fields/textarea.blade.php @@ -1,4 +1,4 @@ - - - + diff --git a/packages/forms/src/Fields/Field.php b/packages/forms/src/Fields/Field.php index 0657a74843..a888a4666d 100644 --- a/packages/forms/src/Fields/Field.php +++ b/packages/forms/src/Fields/Field.php @@ -240,7 +240,7 @@ class Field { if ($this->hidden) return; - $view = $this->view ?? 'filament::fields.' . Str::of(class_basename(static::class))->kebab(); + $view = $this->view ?? 'forms::fields.' . Str::of(class_basename(static::class))->kebab(); return view($view, ['field' => $this]); } diff --git a/packages/forms/src/Form.php b/packages/forms/src/Form.php index 00759e2fed..403cf438ec 100644 --- a/packages/forms/src/Form.php +++ b/packages/forms/src/Form.php @@ -102,9 +102,4 @@ class Form { $this->rules = $rules; } - - public function render() - { - return view('filament::components.fields'); - } } diff --git a/packages/forms/src/FormsServiceProvider.php b/packages/forms/src/FormsServiceProvider.php index 2d54227b01..4956447955 100644 --- a/packages/forms/src/FormsServiceProvider.php +++ b/packages/forms/src/FormsServiceProvider.php @@ -2,15 +2,20 @@ namespace Filament; -use Filament\Support\Providers\ServiceProvider; -use Filament\Support\RegistersLivewireComponentDirectories; +use Illuminate\Filesystem\Filesystem; +use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Blade; +use Illuminate\Support\ServiceProvider; +use Illuminate\Support\Str; +use Livewire\Component; +use Livewire\Livewire; +use Symfony\Component\Finder\SplFileInfo; class FormsServiceProvider extends ServiceProvider { - use RegistersLivewireComponentDirectories; - public function boot() { + $this->bootDirectives(); $this->bootLoaders(); $this->bootLivewireComponents(); $this->bootPublishing(); @@ -21,16 +26,29 @@ class FormsServiceProvider extends ServiceProvider $this->mergeConfigFrom(__DIR__ . '/../config/forms.php', 'forms'); } + protected function bootDirectives() + { + Blade::directive('pushonce', function ($expression) { + [$pushName, $pushSub] = explode(':', trim(substr($expression, 1, -1))); + $key = '__pushonce_' . str_replace('-', '_', $pushName) . '_' . str_replace('-', '_', $pushSub); + return "{$key})): \$__env->{$key} = 1; \$__env->startPush('{$pushName}'); ?>"; + }); + + Blade::directive('endpushonce', function () { + return 'stopPush(); endif; ?>'; + }); + } + protected function bootLoaders() { - $this->loadViewsFrom(__DIR__ . '/../resources/views', 'filament'); + $this->loadViewsFrom(__DIR__ . '/../resources/views', 'forms'); $this->loadTranslationsFrom(__DIR__ . '/../resources/lang', 'forms'); } protected function bootLivewireComponents() { - $this->registerLivewireComponentDirectory(__DIR__ . '/Http/Livewire', 'Filament\\Forms\\Http\\Livewire', 'filament.forms.'); + $this->registerLivewireComponentDirectory(__DIR__ . '/Http/Livewire', 'Filament\\Forms\\Http\\Livewire', 'forms.'); } protected function bootPublishing() @@ -44,11 +62,69 @@ class FormsServiceProvider extends ServiceProvider ], 'forms-config'); $this->publishes([ - __DIR__ . '/../resources/lang' => resource_path('lang/vendor/filament'), + __DIR__ . '/../resources/lang' => resource_path('lang/vendor/forms'), ], 'forms-lang'); $this->publishes([ - __DIR__ . '/../resources/views' => resource_path('views/vendor/filament'), + __DIR__ . '/../resources/views' => resource_path('views/vendor/forms'), ], 'forms-views'); } + + protected function mergeConfigFrom($path, $key) + { + $config = $this->app['config']->get($key, []); + + $this->app['config']->set($key, $this->mergeConfig(require $path, $config)); + } + + protected function mergeConfig(array $original, array $merging) + { + $array = array_merge($original, $merging); + + foreach ($original as $key => $value) { + if (! is_array($value)) { + continue; + } + + if (! Arr::exists($merging, $key)) { + continue; + } + + if (is_numeric($key)) { + continue; + } + + $array[$key] = $this->mergeConfig($value, $merging[$key]); + } + + return $array; + } + + protected function registerLivewireComponentDirectory($directory, $namespace, $aliasPrefix = '') + { + $filesystem = new Filesystem(); + + if (! $filesystem->isDirectory($directory)) return; + + collect($filesystem->allFiles($directory)) + ->map(function (SplFileInfo $file) use ($namespace) { + return (string) Str::of($namespace) + ->append('\\', $file->getRelativePathname()) + ->replace(['/', '.php'], ['\\', '']); + }) + ->filter(function ($class) { + return is_subclass_of($class, Component::class) && ! (new \ReflectionClass($class))->isAbstract(); + }) + ->each(function ($class) use ($namespace, $aliasPrefix) { + $alias = Str::of($class) + ->after($namespace . '\\') + ->replace(['/', '\\'], '.') + ->prepend($aliasPrefix) + ->explode('.') + ->map([Str::class, 'kebab']) + ->implode('.'); + + Livewire::component($alias, $class); + }); + } } diff --git a/packages/support/src/Support/Providers/ServiceProvider.php b/packages/support/src/Support/Providers/ServiceProvider.php deleted file mode 100644 index 32d2e9bb48..0000000000 --- a/packages/support/src/Support/Providers/ServiceProvider.php +++ /dev/null @@ -1,39 +0,0 @@ -app['config']->get($key, []); - - $this->app['config']->set($key, $this->mergeConfig(require $path, $config)); - } - - protected function mergeConfig(array $original, array $merging) - { - $array = array_merge($original, $merging); - - foreach ($original as $key => $value) { - if (! is_array($value)) { - continue; - } - - if (! Arr::exists($merging, $key)) { - continue; - } - - if (is_numeric($key)) { - continue; - } - - $array[$key] = $this->mergeConfig($value, $merging[$key]); - } - - return $array; - } -} diff --git a/packages/support/src/Support/RegistersLivewireComponentDirectories.php b/packages/support/src/Support/RegistersLivewireComponentDirectories.php deleted file mode 100644 index 437635af93..0000000000 --- a/packages/support/src/Support/RegistersLivewireComponentDirectories.php +++ /dev/null @@ -1,40 +0,0 @@ -isDirectory($directory)) return; - - collect($filesystem->allFiles($directory)) - ->map(function (SplFileInfo $file) use ($namespace) { - return (string) Str::of($namespace) - ->append('\\', $file->getRelativePathname()) - ->replace(['/', '.php'], ['\\', '']); - }) - ->filter(function ($class) { - return is_subclass_of($class, Component::class) && ! (new \ReflectionClass($class))->isAbstract(); - }) - ->each(function ($class) use ($namespace, $aliasPrefix) { - $alias = Str::of($class) - ->after($namespace . '\\') - ->replace(['/', '\\'], '.') - ->prepend($aliasPrefix) - ->explode('.') - ->map([Str::class, 'kebab']) - ->implode('.'); - - Livewire::component($alias, $class); - }); - } -} diff --git a/packages/support/src/SupportServiceProvider.php b/packages/support/src/SupportServiceProvider.php deleted file mode 100644 index d2f366abd7..0000000000 --- a/packages/support/src/SupportServiceProvider.php +++ /dev/null @@ -1,48 +0,0 @@ -bootDirectives(); - $this->bootLoaders(); - $this->bootPublishing(); - } - - protected function bootDirectives() - { - Blade::directive('pushonce', function ($expression) { - [$pushName, $pushSub] = explode(':', trim(substr($expression, 1, -1))); - - $key = '__pushonce_' . str_replace('-', '_', $pushName) . '_' . str_replace('-', '_', $pushSub); - - return "{$key})): \$__env->{$key} = 1; \$__env->startPush('{$pushName}'); ?>"; - }); - - Blade::directive('endpushonce', function () { - return 'stopPush(); endif; ?>'; - }); - } - - protected function bootLoaders() - { - $this->loadViewsFrom(__DIR__ . '/../resources/views', 'filament'); - } - - protected function bootPublishing() - { - if (! $this->app->runningInConsole()) { - return; - } - - $this->publishes([ - __DIR__ . '/../resources/views' => resource_path('views/vendor/filament'), - ], 'filament-views'); - } -} diff --git a/packages/support/composer.json b/packages/tables/composer.json similarity index 77% rename from packages/support/composer.json rename to packages/tables/composer.json index 384922dcff..dbebadadf1 100644 --- a/packages/support/composer.json +++ b/packages/tables/composer.json @@ -1,5 +1,6 @@ { - "name": "filament/support", + "name": "filament/tables", + "description": "Effortlessly build TALL-powered tables.", "license": "MIT", "homepage": "https://github.com/laravel-filament/filament", "support": { @@ -8,7 +9,7 @@ }, "require": { "php": "^7.4|^8.0", - "illuminate/filesystem": "^8.0", + "blade-ui-kit/blade-heroicons": "^0.3", "illuminate/support": "^8.0", "livewire/livewire": "^2.2" }, @@ -20,7 +21,7 @@ "extra": { "laravel": { "providers": [ - "Filament\\SupportServiceProvider" + "Filament\\TablesServiceProvider" ] } }, diff --git a/packages/tables/src/HasTable.php b/packages/tables/src/HasTable.php new file mode 100644 index 0000000000..5b30f67219 --- /dev/null +++ b/packages/tables/src/HasTable.php @@ -0,0 +1,8 @@ +bootLoaders(); + $this->bootPublishing(); + } + + protected function bootLoaders() + { + $this->loadViewsFrom(__DIR__ . '/../resources/views', 'tables'); + + $this->loadTranslationsFrom(__DIR__ . '/../resources/lang', 'tables'); + } + + protected function bootPublishing() + { + if (! $this->app->runningInConsole()) { + return; + } + + $this->publishes([ + __DIR__ . '/../resources/lang' => resource_path('lang/vendor/tables'), + ], 'tables-lang'); + + $this->publishes([ + __DIR__ . '/../resources/views' => resource_path('views/vendor/tables'), + ], 'tables-views'); + } +} diff --git a/resources/views/actions/create-record.blade.php b/resources/views/actions/create-record.blade.php index 65c99298fc..8105fff8cb 100644 --- a/resources/views/actions/create-record.blade.php +++ b/resources/views/actions/create-record.blade.php @@ -3,7 +3,7 @@ - + Create - + diff --git a/resources/views/actions/edit-record.blade.php b/resources/views/actions/edit-record.blade.php index 450624d660..a5ad62b25f 100644 --- a/resources/views/actions/edit-record.blade.php +++ b/resources/views/actions/edit-record.blade.php @@ -42,7 +42,7 @@ - + Update - + diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index 784fc7de49..129303e7d0 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -1,8 +1,8 @@ - + {{ __('filament::auth.login') }} - + diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index c6d8b0a83e..e8e74854eb 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -1,7 +1,7 @@ - + {{ __('filament::auth.register') }} - + diff --git a/resources/views/auth/request-password.blade.php b/resources/views/auth/request-password.blade.php index dc6d110d65..393c826153 100644 --- a/resources/views/auth/request-password.blade.php +++ b/resources/views/auth/request-password.blade.php @@ -1,7 +1,7 @@ - + {{ __('filament::auth.sendPasswordReset') }} - + diff --git a/resources/views/auth/reset-password.blade.php b/resources/views/auth/reset-password.blade.php index de6b88639f..92e6e3b3e2 100644 --- a/resources/views/auth/reset-password.blade.php +++ b/resources/views/auth/reset-password.blade.php @@ -1,7 +1,7 @@ - + {{ __('filament::auth.resetPassword') }} - + diff --git a/packages/support/resources/views/components/button.blade.php b/resources/views/components/button.blade.php similarity index 100% rename from packages/support/resources/views/components/button.blade.php rename to resources/views/components/button.blade.php diff --git a/packages/support/resources/views/components/card-header.blade.php b/resources/views/components/card-header.blade.php similarity index 100% rename from packages/support/resources/views/components/card-header.blade.php rename to resources/views/components/card-header.blade.php diff --git a/packages/support/resources/views/components/card.blade.php b/resources/views/components/card.blade.php similarity index 100% rename from packages/support/resources/views/components/card.blade.php rename to resources/views/components/card.blade.php diff --git a/resources/views/components/datatable.blade.php b/resources/views/components/datatable.blade.php index d457837855..fa8575b315 100644 --- a/resources/views/components/datatable.blade.php +++ b/resources/views/components/datatable.blade.php @@ -9,7 +9,7 @@
- - + {{ __('filament::edit-account.update') }} - +
diff --git a/src/FilamentServiceProvider.php b/src/FilamentServiceProvider.php index f2156faabf..208e72a528 100644 --- a/src/FilamentServiceProvider.php +++ b/src/FilamentServiceProvider.php @@ -6,16 +6,20 @@ use Filament\Commands\MakeUserCommand; use Filament\Http\Middleware\AuthorizeResourceRoute; use Filament\Models\FilamentUser; use Filament\Providers\RouteServiceProvider; -use Filament\Support\Providers\ServiceProvider; -use Filament\Support\RegistersLivewireComponentDirectories; use Filament\View\Components; +use Illuminate\Filesystem\Filesystem; use Illuminate\Routing\Router; use BladeUI\Icons\Factory as BladeUIFactory; +use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Blade; +use Illuminate\Support\ServiceProvider; +use Illuminate\Support\Str; +use Livewire\Component; +use Livewire\Livewire; +use Symfony\Component\Finder\SplFileInfo; class FilamentServiceProvider extends ServiceProvider { - use RegistersLivewireComponentDirectories; - public $singletons = [ FilamentManager::class => FilamentManager::class, Navigation::class => Navigation::class, @@ -24,6 +28,7 @@ class FilamentServiceProvider extends ServiceProvider public function boot() { $this->bootCommands(); + $this->bootDirectives(); $this->bootLoaders(); $this->bootLivewireComponents(); $this->bootMiddleware(); @@ -53,6 +58,19 @@ class FilamentServiceProvider extends ServiceProvider ]); } + protected function bootDirectives() + { + Blade::directive('pushonce', function ($expression) { + [$pushName, $pushSub] = explode(':', trim(substr($expression, 1, -1))); + $key = '__pushonce_' . str_replace('-', '_', $pushName) . '_' . str_replace('-', '_', $pushSub); + return "{$key})): \$__env->{$key} = 1; \$__env->startPush('{$pushName}'); ?>"; + }); + + Blade::directive('endpushonce', function () { + return 'stopPush(); endif; ?>'; + }); + } + protected function bootLoaders() { $this->loadViewComponentsAs('filament', [ @@ -141,11 +159,69 @@ class FilamentServiceProvider extends ServiceProvider 'path' => __DIR__ . '/../resources/svg', 'prefix' => 'filamenticon', ]); - }); + }); } protected function registerProviders() { $this->app->register(RouteServiceProvider::class); } + + protected function mergeConfigFrom($path, $key) + { + $config = $this->app['config']->get($key, []); + + $this->app['config']->set($key, $this->mergeConfig(require $path, $config)); + } + + protected function mergeConfig(array $original, array $merging) + { + $array = array_merge($original, $merging); + + foreach ($original as $key => $value) { + if (! is_array($value)) { + continue; + } + + if (! Arr::exists($merging, $key)) { + continue; + } + + if (is_numeric($key)) { + continue; + } + + $array[$key] = $this->mergeConfig($value, $merging[$key]); + } + + return $array; + } + + protected function registerLivewireComponentDirectory($directory, $namespace, $aliasPrefix = '') + { + $filesystem = new Filesystem(); + + if (! $filesystem->isDirectory($directory)) return; + + collect($filesystem->allFiles($directory)) + ->map(function (SplFileInfo $file) use ($namespace) { + return (string) Str::of($namespace) + ->append('\\', $file->getRelativePathname()) + ->replace(['/', '.php'], ['\\', '']); + }) + ->filter(function ($class) { + return is_subclass_of($class, Component::class) && ! (new \ReflectionClass($class))->isAbstract(); + }) + ->each(function ($class) use ($namespace, $aliasPrefix) { + $alias = Str::of($class) + ->after($namespace . '\\') + ->replace(['/', '\\'], '.') + ->prepend($aliasPrefix) + ->explode('.') + ->map([Str::class, 'kebab']) + ->implode('.'); + + Livewire::component($alias, $class); + }); + } } diff --git a/tests/TestCase.php b/tests/TestCase.php index 18abb1e7db..98308ed713 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -36,7 +36,7 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase \BladeUI\Icons\BladeIconsServiceProvider::class, \Filament\FilamentServiceProvider::class, \Filament\FormsServiceProvider::class, - \Filament\SupportServiceProvider::class, + \Filament\TablesServiceProvider::class, \Livewire\LivewireServiceProvider::class, \Thomaswelton\LaravelGravatar\LaravelGravatarServiceProvider::class, \Watson\Active\ActiveServiceProvider::class,