Skip to content

Commit 96d4aa3

Browse files
committed
fix: support standalone Filament usage without panel dependency
Replace `filament/filament` (full panel) requirement with individual sub-packages (actions, forms, schemas, support, tables). This allows the package to be installed in projects using standalone Filament components without triggering NoDefaultPanelSetException. Panel-specific classes (BoardPage, BoardResourcePage, FlowforgePlugin) remain available but are only autoloaded when explicitly used. Closes #84
1 parent e01707c commit 96d4aa3

File tree

4 files changed

+28
-3
lines changed

4 files changed

+28
-3
lines changed

composer.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,19 @@
2121
],
2222
"require": {
2323
"php": "^8.3",
24-
"filament/filament": "^5.0",
24+
"filament/actions": "^5.0",
25+
"filament/forms": "^5.0",
26+
"filament/schemas": "^5.0",
27+
"filament/support": "^5.0",
28+
"filament/tables": "^5.0",
2529
"spatie/laravel-package-tools": "^1.15.0",
2630
"ext-bcmath": "*"
2731
},
32+
"suggest": {
33+
"filament/filament": "Required for BoardPage, BoardResourcePage, and FlowforgePlugin panel integration (^5.0)"
34+
},
2835
"require-dev": {
36+
"filament/filament": "^5.0",
2937
"larastan/larastan": "^3.0",
3038
"laravel/pint": "^1.0",
3139
"nunomaduro/collision": "^8.0",

src/BoardPage.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@
1414
/**
1515
* Board page for standard Filament pages.
1616
* Extends Filament's base Page class with kanban board functionality.
17+
*
18+
* Requires the `filament/filament` package (Panel Builder).
19+
* For standalone usage, use the InteractsWithBoard trait directly.
20+
*
21+
* @see \Relaticle\Flowforge\Concerns\InteractsWithBoard
1722
*/
1823
abstract class BoardPage extends Page implements HasActions, HasBoard, HasForms
1924
{

src/BoardResourcePage.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,15 @@
1616
* Board page for Filament resource pages.
1717
* Extends Filament's resource Page class with kanban board functionality.
1818
*
19+
* Requires the `filament/filament` package (Panel Builder).
20+
* For standalone usage, use the InteractsWithBoard trait directly.
21+
*
1922
* CRITICAL: This class doesn't use InteractsWithRecord trait itself, but child
2023
* classes might. To handle the trait conflict, we override getDefaultActionRecord()
2124
* to intelligently route to either board card records or resource records based
2225
* on whether a recordKey is present in the mounted action context.
26+
*
27+
* @see \Relaticle\Flowforge\Concerns\InteractsWithBoard
2328
*/
2429
abstract class BoardResourcePage extends Page implements HasActions, HasBoard, HasForms
2530
{

src/FlowforgePlugin.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,15 @@
66
use Filament\Panel;
77
use Livewire\Livewire;
88

9-
// use Relaticle\Flowforge\Livewire\KanbanBoard;
10-
9+
/**
10+
* Filament Panel plugin for FlowForge.
11+
*
12+
* This class requires the full `filament/filament` package (Panel Builder).
13+
* For standalone Livewire usage without a panel, use the InteractsWithBoard
14+
* trait directly on your Livewire component instead.
15+
*
16+
* @see \Relaticle\Flowforge\Concerns\InteractsWithBoard
17+
*/
1118
class FlowforgePlugin implements Plugin
1219
{
1320
public function getId(): string

0 commit comments

Comments
 (0)