diff --git a/packages/forms/resources/views/components/checkbox.blade.php b/packages/forms/resources/views/components/checkbox.blade.php
index ed52084d33..1a27e06dd4 100644
--- a/packages/forms/resources/views/components/checkbox.blade.php
+++ b/packages/forms/resources/views/components/checkbox.blade.php
@@ -7,7 +7,9 @@
:label="$formComponent->getLabel()"
:required="$formComponent->isRequired()"
>
-
+ @if ($formComponent->isInline())
+
+ @endif
isAutofocused() ? 'autofocus' : null !!}
{!! $formComponent->isDisabled() ? 'disabled' : null !!}
@@ -18,5 +20,7 @@
class="rounded text-primary-600 shadow-sm focus:border-primary-700 focus:ring focus:ring-blue-200 focus:ring-opacity-50 {{ $errors->has($formComponent->getName()) ? 'border-danger-600 ' : 'border-gray-300' }}"
{!! Filament\format_attributes($formComponent->getExtraAttributes()) !!}
/>
-
+ @if ($formComponent->isInline())
+
+ @endif
diff --git a/packages/forms/resources/views/components/toggle.blade.php b/packages/forms/resources/views/components/toggle.blade.php
index 123cf4fd4b..5eedbe0042 100644
--- a/packages/forms/resources/views/components/toggle.blade.php
+++ b/packages/forms/resources/views/components/toggle.blade.php
@@ -7,7 +7,9 @@
:label="$formComponent->getLabel()"
:required="$formComponent->isRequired()"
>
-
+ @if ($formComponent->isInline())
+
+ @endif
-
+ @if ($formComponent->isInline())
+
+ @endif
diff --git a/packages/forms/src/Components/Checkbox.php b/packages/forms/src/Components/Checkbox.php
index 9f871ba6df..8b30ad1484 100644
--- a/packages/forms/src/Components/Checkbox.php
+++ b/packages/forms/src/Components/Checkbox.php
@@ -5,9 +5,12 @@ namespace Filament\Forms\Components;
class Checkbox extends Field
{
use Concerns\CanBeAutofocused;
+ use Concerns\CanBeInline;
protected function setUp()
{
$this->default(false);
+
+ $this->inline();
}
}
diff --git a/packages/forms/src/Components/Concerns/CanBeInline.php b/packages/forms/src/Components/Concerns/CanBeInline.php
new file mode 100644
index 0000000000..d8bddd91df
--- /dev/null
+++ b/packages/forms/src/Components/Concerns/CanBeInline.php
@@ -0,0 +1,31 @@
+configure(function () {
+ $this->isInline = true;
+ });
+
+ return $this;
+ }
+
+ public function stacked()
+ {
+ $this->configure(function () {
+ $this->isInline = false;
+ });
+
+ return $this;
+ }
+
+ public function isInline()
+ {
+ return $this->isInline;
+ }
+}
diff --git a/packages/forms/src/Components/Toggle.php b/packages/forms/src/Components/Toggle.php
index 1479a7d545..9c33a3b197 100644
--- a/packages/forms/src/Components/Toggle.php
+++ b/packages/forms/src/Components/Toggle.php
@@ -8,6 +8,7 @@ use Filament\Forms\Components\Field;
class Toggle extends Field
{
use Concerns\CanBeAutofocused;
+ use Concerns\CanBeInline;
protected $onIcon;
@@ -16,6 +17,8 @@ class Toggle extends Field
protected function setUp()
{
$this->default(false);
+
+ $this->inline();
}
public function onIcon($icon)
diff --git a/src/Resources/Forms/Components/Concerns/CanBeInline.php b/src/Resources/Forms/Components/Concerns/CanBeInline.php
new file mode 100644
index 0000000000..bdf6860ad8
--- /dev/null
+++ b/src/Resources/Forms/Components/Concerns/CanBeInline.php
@@ -0,0 +1,8 @@
+