55use Coderflex \LaravelCsv \Commands \LaravelCsvCommand ;
66use Coderflex \LaravelCsv \Http \Livewire \CsvImporter ;
77use Coderflex \LaravelCsv \Http \Livewire \HandleImports ;
8+ use Illuminate \Support \Facades \Blade ;
9+ use Illuminate \View \Compilers \BladeCompiler ;
810use Livewire \Livewire ;
911use Spatie \LaravelPackageTools \Package ;
1012use Spatie \LaravelPackageTools \PackageServiceProvider ;
@@ -29,11 +31,41 @@ public function configurePackage(Package $package): void
2931 public function bootingPackage ()
3032 {
3133 $ this ->registerLivewireComponents ();
34+
35+ $ this ->configureComponents ();
36+ }
37+
38+ /**
39+ * Configure Laravel CSV Blade components
40+ *
41+ * @return void
42+ */
43+ protected function configureComponents (): void
44+ {
45+ $ this ->callAfterResolving (BladeCompiler::class, function () {
46+ $ this ->registerComponent ('button ' );
47+ });
3248 }
3349
34- private function registerLivewireComponents ()
50+ /**
51+ * Register livewire components
52+ *
53+ * @return void
54+ */
55+ protected function registerLivewireComponents (): void
3556 {
3657 Livewire::component ('csv-importer ' , CsvImporter::class);
3758 Livewire::component ('handle-imports ' , HandleImports::class);
3859 }
60+
61+ /**
62+ * Register given component.
63+ *
64+ * @param string $component
65+ * @return void
66+ */
67+ protected function registerComponent (string $ component ): void
68+ {
69+ Blade::component ('laravel-csv::components. ' .$ component , 'csv- ' .$ component );
70+ }
3971}
0 commit comments