';
}
}
$part .= '
'.$title.'
';
diff --git a/app/Livewire/AlarmBookmaker.php b/app/Livewire/AlarmBookmaker.php
index 07984949..30198d1b 100644
--- a/app/Livewire/AlarmBookmaker.php
+++ b/app/Livewire/AlarmBookmaker.php
@@ -29,7 +29,7 @@ class AlarmBookmaker extends Component implements HasActions, HasSchemas, HasTab
use InteractsWithTable;
protected $listeners = [
- 'reload_alarm_bookmaker' => '$refresh',
+ 'refreshlarmBookmaker' => '$refresh',
];
public static $default_filter;
diff --git a/app/Livewire/ComparingBookmakerMenu.php b/app/Livewire/ComparingBookmakerMenu.php
index 38c22913..73ed0b55 100644
--- a/app/Livewire/ComparingBookmakerMenu.php
+++ b/app/Livewire/ComparingBookmakerMenu.php
@@ -34,7 +34,7 @@ class ComparingBookmakerMenu extends Component implements HasActions, HasSchemas
public $user;
protected $listeners = [
- 'refresh_comparing_bookmaker' => '$refresh',
+ 'refreshComparingBookmakerMenu' => '$refresh',
];
public function table(Table $table): Table
diff --git a/app/Livewire/MapperLeft.php b/app/Livewire/MapperLeft.php
index 0bc6ee69..92b57931 100644
--- a/app/Livewire/MapperLeft.php
+++ b/app/Livewire/MapperLeft.php
@@ -45,7 +45,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
public $user;
protected $listeners = [
- 'reload_data_left' => '$refresh',
+ 'refreshMapperLeft' => '$refresh',
];
public function removeTableFilter(string $filterName, ?string $field = null, bool $shouldTriggerUpdatedFiltersHook = true): void
@@ -62,7 +62,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
$this->search_left = '';
}
- $this->dispatch('reload_data_left');
+ $this->dispatch('refreshMapperLeft');
}
public function table(Table $table): Table
@@ -152,7 +152,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
->persistFiltersInSession()
->deferFilters(false)
->toolbarActions([
- Action::make('reload_data_left')
+ Action::make('refreshMapperLeft')
->hiddenLabel()
->icon('phosphor-x')
->color('danger')
@@ -162,7 +162,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
$this->tableSearch = ''; // Clears the main search bar
$livewire->fill(['tableSearch' => '']);
$livewire->resetTableFiltersForm(); // Clears all filters
- $this->dispatch('reload_data_left');
+ $this->dispatch('refreshMapperLeft');
}),
]);
}
@@ -177,7 +177,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
{
$this->search_left = $str;
- $this->dispatch('reload_data_left');
+ $this->dispatch('refreshMapperLeft');
}
public function leftAction(): Action
@@ -196,8 +196,8 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
StoreMapped::store($arguments, $this->elements_swopped);
$this->search_right = '';
$this->search_left = '';
- $this->dispatch('reload_data_left');
- $this->dispatch('reload_data_right');
+ $this->dispatch('refreshMapperLeft');
+ $this->dispatch('refreshMapperRight');
})
->closeModalByEscaping(false)
diff --git a/app/Livewire/MapperRight.php b/app/Livewire/MapperRight.php
index 05047312..9f2a58f1 100644
--- a/app/Livewire/MapperRight.php
+++ b/app/Livewire/MapperRight.php
@@ -42,7 +42,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
public $search_right = false;
protected $listeners = [
- 'reload_data_right' => '$refresh',
+ 'refreshMapperRight' => '$refresh',
];
public $user;
@@ -61,7 +61,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
$this->search_right = '';
}
- $this->dispatch('reload_data_right');
+ $this->dispatch('refreshMapperRight');
}
public function table(Table $table): Table
@@ -165,7 +165,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
->filtersFormColumns(3)
->deferFilters(false)
->toolbarActions([
- Action::make('reload_data_right')
+ Action::make('refreshMapperRight')
->hiddenLabel()
->icon('phosphor-x')
->color('danger')
@@ -175,8 +175,8 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
$this->tableSearch = ''; // Clears the main search bar
$livewire->fill(['tableSearch' => '']);
$livewire->resetTableFiltersForm(); // Clears all filters
- $this->dispatch('reload_data_right');
- $this->dispatch('reload_data_left');
+ $this->dispatch('refreshMapperRight');
+ $this->dispatch('refreshMapperLeft');
}),
]);
}
@@ -191,7 +191,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
{
$this->search_right = $str;
- $this->dispatch('reload_data_right');
+ $this->dispatch('refreshMapperRight');
}
public function rightAction(): Action
@@ -209,8 +209,8 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
StoreMapped::store($arguments, $this->elements_swopped);
$this->search_right = '';
$this->search_left = '';
- $this->dispatch('reload_data_left');
- $this->dispatch('reload_data_right');
+ $this->dispatch('refreshMapperLeft');
+ $this->dispatch('refreshMapperRight');
})
->closeModalByEscaping(false)
->modalCloseButton(false)
diff --git a/app/Livewire/MultilineBookmaker.php b/app/Livewire/MultilineBookmaker.php
index d70cf583..1a32a6a8 100644
--- a/app/Livewire/MultilineBookmaker.php
+++ b/app/Livewire/MultilineBookmaker.php
@@ -6,7 +6,6 @@ use App\Filament\Tables\Columns\BookmakerIcon;
use App\Models\Bookmaker;
use App\Models\MultilineClient;
use App\Models\MultilineSetting;
-use App\Models\User;
use Filament\Actions\Concerns\InteractsWithActions;
use Filament\Actions\Contracts\HasActions;
use Filament\Forms\Components\Radio;
@@ -32,18 +31,13 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
use InteractsWithTable;
protected $listeners = [
- 'reload_bookmaker_multiline' => '$refresh',
+ 'refreshMultilineBookmaker' => '$refresh',
];
- public $user;
-
public function table(Table $table): Table
{
-
- $this->user = User::getUser();
-
return $table
- ->query(MultilineClient::query()->where('client_bookmaker_id', $this->user->bookmaker_id)->where('sport_id', $this->user->sport_id))
+ ->query(MultilineClient::query()->where('client_bookmaker_id', auth()->user()->bookmaker_id)->where('sport_id', auth()->user()->sport_id))
->paginated(false)
->columns([
IconColumn::make('sport.icon')
@@ -62,7 +56,7 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
$table = MultilineSetting::where('id', $livewire->tableFilters['multiline_setting_id'])->value('table');
$bookies = DB::table($table)
- ->where('sport_id', $this->user->sport_id)
+ ->where('sport_id', auth()->user()->sport_id)
->groupBy('bookmaker_id')->pluck('bookmaker_id');
$res = Bookmaker::whereIn('id', $bookies)->pluck('name', 'id');
@@ -81,12 +75,13 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
Filter::make('multiline_setting_id')
->schema([
Radio::make('multiline_setting_id')
+ ->extraAttributes(['id' => 'multiline_setting'])
->inline()
- ->default(1)
+ ->default(fn ($record) => MultilineSetting::where('sport_id', auth()->user()->sport_id)->pluck('id')->first())
->columnSpan(6)
->columnSpanFull()
->hiddenLabel()
- ->options(fn () => MultilineSetting::where('sport_id', $this->user->sport_id)->orderBy('name')->pluck('name', 'id')),
+ ->options(fn () => MultilineSetting::where('sport_id', auth()->user()->sport_id)->orderBy('name')->pluck('name', 'id')),
])
->query(function (Builder $query, array $data): Builder {
return $query
diff --git a/app/Livewire/SportSwitcher.php b/app/Livewire/SportSwitcher.php
index 35bfde92..6f7b5977 100644
--- a/app/Livewire/SportSwitcher.php
+++ b/app/Livewire/SportSwitcher.php
@@ -48,6 +48,17 @@ class SportSwitcher extends Component
$this->dispatch('filterClearFilter');
$this->dispatch('refreshSportSwitcher');
+
+ $this->dispatch('refreshMultilineBookmaker');
+
+ $this->dispatch('refreshComparingBookmakerMenu');
+
+ $this->dispatch('refreshMapperLeft');
+
+ $this->dispatch('refreshMapperRight');
+
+ $this->dispatch('refreshlarmBookmaker');
+
}
public function render()
diff --git a/app/Livewire/TopMenuItems.php b/app/Livewire/TopMenuItems.php
index 691f7a4d..b352cc64 100644
--- a/app/Livewire/TopMenuItems.php
+++ b/app/Livewire/TopMenuItems.php
@@ -13,8 +13,8 @@ class TopMenuItems extends Component
public $current = '';
protected $listeners = [
- 'reload_data_left' => '$refresh',
- 'reload_data_right' => '$refresh',
+ 'refreshMapperLeft' => '$refresh',
+ 'refreshMapperRight' => '$refresh',
];
protected string $sport = '';
@@ -50,6 +50,6 @@ class TopMenuItems extends Component
{
User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id]);
- $this->dispatch('reload_data_right');
+ $this->dispatch('refreshMapperRight');
}
}
diff --git a/composer.json b/composer.json
index fe213890..40be5dc5 100644
--- a/composer.json
+++ b/composer.json
@@ -22,7 +22,8 @@
"laravel/framework": "^12.0",
"laravel/tinker": "^2.10.1",
"outhebox/blade-flags": "^1.5",
- "swisnl/filament-backgrounds": "^2.0"
+ "swisnl/filament-backgrounds": "^2.0",
+ "tonegabes/filament-better-options": "^1.2"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.16",
diff --git a/composer.lock b/composer.lock
index 39ec3de7..926a4c70 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "872a298c0c1cebe00cac20f0cb2539f7",
+ "content-hash": "b1f96a36e577a5a502013fb033525720",
"packages": [
{
"name": "agencetwogether/hookshelper",
@@ -543,16 +543,16 @@
},
{
"name": "brick/math",
- "version": "0.14.3",
+ "version": "0.14.4",
"source": {
"type": "git",
"url": "https://github.com/brick/math.git",
- "reference": "6af96b11de3f7d99730c118c200418c48274edb4"
+ "reference": "a8b53e6cc4d3a336543f042a4dfa0e3f2f2356a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/brick/math/zipball/6af96b11de3f7d99730c118c200418c48274edb4",
- "reference": "6af96b11de3f7d99730c118c200418c48274edb4",
+ "url": "https://api.github.com/repos/brick/math/zipball/a8b53e6cc4d3a336543f042a4dfa0e3f2f2356a4",
+ "reference": "a8b53e6cc4d3a336543f042a4dfa0e3f2f2356a4",
"shasum": ""
},
"require": {
@@ -591,7 +591,7 @@
],
"support": {
"issues": "https://github.com/brick/math/issues",
- "source": "https://github.com/brick/math/tree/0.14.3"
+ "source": "https://github.com/brick/math/tree/0.14.4"
},
"funding": [
{
@@ -599,7 +599,7 @@
"type": "github"
}
],
- "time": "2026-02-01T15:18:05+00:00"
+ "time": "2026-02-02T16:57:31+00:00"
},
{
"name": "carbonphp/carbon-doctrine-types",
@@ -2616,23 +2616,23 @@
},
{
"name": "jaybizzle/crawler-detect",
- "version": "v1.3.6",
+ "version": "v1.3.7",
"source": {
"type": "git",
"url": "https://github.com/JayBizzle/Crawler-Detect.git",
- "reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813"
+ "reference": "7f7a45b5d5df9c95ba6b2008544e6cf8e66de6f5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/61f2ef1ad2d0ae922c265931cb0a8032a1ed2813",
- "reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813",
+ "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/7f7a45b5d5df9c95ba6b2008544e6cf8e66de6f5",
+ "reference": "7f7a45b5d5df9c95ba6b2008544e6cf8e66de6f5",
"shasum": ""
},
"require": {
"php": ">=7.1.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.8|^5.5|^6.5|^9.4"
+ "phpunit/phpunit": "^4.8|^5.5|^6.5|^7.5|^8.5|^9.4"
},
"type": "library",
"autoload": {
@@ -2662,9 +2662,9 @@
],
"support": {
"issues": "https://github.com/JayBizzle/Crawler-Detect/issues",
- "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.6"
+ "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.7"
},
- "time": "2025-09-30T16:22:43+00:00"
+ "time": "2026-02-02T19:15:54+00:00"
},
{
"name": "jenssegers/agent",
@@ -4029,16 +4029,16 @@
},
{
"name": "livewire/livewire",
- "version": "v3.7.6",
+ "version": "v3.7.8",
"source": {
"type": "git",
"url": "https://github.com/livewire/livewire.git",
- "reference": "276ac156f6ae414990784854a2673e3d23c68b24"
+ "reference": "06ec7e8cd61bb01739b8f26396db6fe73b7e0607"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/livewire/livewire/zipball/276ac156f6ae414990784854a2673e3d23c68b24",
- "reference": "276ac156f6ae414990784854a2673e3d23c68b24",
+ "url": "https://api.github.com/repos/livewire/livewire/zipball/06ec7e8cd61bb01739b8f26396db6fe73b7e0607",
+ "reference": "06ec7e8cd61bb01739b8f26396db6fe73b7e0607",
"shasum": ""
},
"require": {
@@ -4093,7 +4093,7 @@
"description": "A front-end framework for Laravel.",
"support": {
"issues": "https://github.com/livewire/livewire/issues",
- "source": "https://github.com/livewire/livewire/tree/v3.7.6"
+ "source": "https://github.com/livewire/livewire/tree/v3.7.8"
},
"funding": [
{
@@ -4101,7 +4101,7 @@
"type": "github"
}
],
- "time": "2026-01-23T05:41:38+00:00"
+ "time": "2026-02-03T02:57:56+00:00"
},
{
"name": "masterminds/html5",
@@ -9054,6 +9054,136 @@
},
"time": "2025-12-02T11:56:42+00:00"
},
+ {
+ "name": "tonegabes/filament-better-options",
+ "version": "1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tonegabes/filament-better-options.git",
+ "reference": "6314bdf052108e19970f6f3e6885e05bb8801b5f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tonegabes/filament-better-options/zipball/6314bdf052108e19970f6f3e6885e05bb8801b5f",
+ "reference": "6314bdf052108e19970f6f3e6885e05bb8801b5f",
+ "shasum": ""
+ },
+ "require": {
+ "filament/forms": "^4.0",
+ "php": "^8.3",
+ "spatie/laravel-package-tools": "^1.15.0",
+ "tonegabes/filament-phosphor-icons": "^1.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.86",
+ "larastan/larastan": "^3.0",
+ "laravel/pint": "^1.0",
+ "phpstan/phpstan-deprecation-rules": "^2.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "ToneGabes\\BetterOptions\\BetterOptionsServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "ToneGabes\\BetterOptions\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Tone Gabes",
+ "email": "tonegabes@gmail.com",
+ "homepage": "https://tonegabes.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "Filament form components for better radio and checkbox options.",
+ "homepage": "https://github.com/tonegabes/filament-better-options",
+ "keywords": [
+ "Forms",
+ "checkbox",
+ "filament",
+ "laravel",
+ "php",
+ "plugin",
+ "tonegabes"
+ ],
+ "support": {
+ "issues": "https://github.com/tonegabes/filament-better-options/issues",
+ "source": "https://github.com/tonegabes/filament-better-options"
+ },
+ "time": "2025-10-22T19:20:56+00:00"
+ },
+ {
+ "name": "tonegabes/filament-phosphor-icons",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tonegabes/filament-phosphor-icons.git",
+ "reference": "f654722dee534ccddd005e667a73e8e64cb412cc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tonegabes/filament-phosphor-icons/zipball/f654722dee534ccddd005e667a73e8e64cb412cc",
+ "reference": "f654722dee534ccddd005e667a73e8e64cb412cc",
+ "shasum": ""
+ },
+ "require": {
+ "codeat3/blade-phosphor-icons": "^2.3",
+ "filament/filament": "^4.0",
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "laravel/pint": "^1.22"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "ToneGabes\\Filament\\Icons\\PhosphorIconsServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "ToneGabes\\Filament\\Icons\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Tone Gabes",
+ "email": "tonegabes@gmail.com",
+ "homepage": "https://tonegabes.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "Phosphor Icons Pack ready for Filament 4",
+ "keywords": [
+ "Iconset",
+ "Phosphor",
+ "filament",
+ "icons",
+ "laravel",
+ "library"
+ ],
+ "support": {
+ "issues": "https://github.com/tonegabes/filament-phosphor-icons/issues",
+ "source": "https://github.com/tonegabes/filament-phosphor-icons/tree/1.2.1"
+ },
+ "time": "2025-09-12T18:24:34+00:00"
+ },
{
"name": "ueberdosis/tiptap-php",
"version": "2.1.0",
@@ -11270,28 +11400,28 @@
},
{
"name": "phpunit/php-file-iterator",
- "version": "5.1.0",
+ "version": "5.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
+ "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
- "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903",
+ "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -11319,15 +11449,27 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator",
+ "type": "tidelift"
}
],
- "time": "2024-08-27T05:02:59+00:00"
+ "time": "2026-02-02T13:52:54+00:00"
},
{
"name": "phpunit/php-invoker",
diff --git a/public/css/tonegabes/better-options/better-options.css b/public/css/tonegabes/better-options/better-options.css
new file mode 100644
index 00000000..c964c54f
--- /dev/null
+++ b/public/css/tonegabes/better-options/better-options.css
@@ -0,0 +1 @@
+/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */@layer theme, base, components, utilities;@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% 0.114 19.571);--color-red-500:oklch(63.7% 0.237 25.331);--color-sky-400:oklch(74.6% 0.16 232.661);--color-gray-50:oklch(98.5% 0.002 247.839);--color-gray-100:oklch(96.7% 0.003 264.542);--color-gray-200:oklch(92.8% 0.006 264.531);--color-gray-300:oklch(87.2% 0.01 258.338);--color-gray-400:oklch(70.7% 0.022 261.325);--color-gray-500:oklch(55.1% 0.027 264.364);--color-gray-600:oklch(44.6% 0.03 256.802);--color-gray-700:oklch(37.3% 0.034 259.733);--color-gray-800:oklch(27.8% 0.033 256.848);--color-gray-900:oklch(21% 0.034 264.665);--color-gray-950:oklch(13% 0.028 261.692);--color-black:#000;--color-white:#fff;--spacing:0.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:0.75rem;--text-xs--line-height:calc(1 / 0.75);--text-sm:0.875rem;--text-sm--line-height:calc(1.25 / 0.875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--leading-loose:2;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4,0,0.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-50:var(--color-primary-50);--color-primary-100:var(--color-primary-100);--color-primary-200:var(--color-primary-200);--color-primary-300:var(--color-primary-300);--color-primary-400:var(--color-primary-400);--color-primary-500:var(--color-primary-500);--color-primary-600:var(--color-primary-600);--color-primary-700:var(--color-primary-700);--color-primary-800:var(--color-primary-800);--color-primary-900:var(--color-primary-900);--color-primary-950:var(--color-primary-950)}}@layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}::file-selector-button,button,input,optgroup,select,textarea{background-color:transparent;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::placeholder{color:currentcolor;@supports (color:color-mix(in lab,red,red)){&{color:color-mix(in oklab,currentcolor 50%,transparent)}}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}::file-selector-button,button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.static{position:static}.hidden{display:none}.select-all{-webkit-user-select:all;user-select:all}}.fi-fo-checkbox-list{display:flex;flex-direction:column;& .fi-fo-checkbox-list-search-input-wrp{margin-bottom:calc(var(--spacing) * 4)}& .fi-fo-checkbox-actions{margin-bottom:calc(var(--spacing) * 2)}& .fi-fo-checkbox-options{border-color:var(--color-gray-200);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;display:flex;flex-direction:column;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,rgba(0,0,0,.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);:where(&>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse))}:where(&>:not(:last-child)){border-color:var(--color-gray-200)}@media (prefers-color-scheme:dark){:where(&>:not(:last-child)){border-color:var(--color-gray-800)}}@media (prefers-color-scheme:dark){border-color:var(--color-gray-800)}& .fi-fo-checkbox-option:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}& .fi-fo-checkbox-option:last-child{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}& .fi-fo-checkbox-option{align-items:center;cursor:pointer;display:flex;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4);&:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500)}& .fi-fo-checkbox-option__indicator{flex-shrink:0;height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);fill:var(--color-gray-400);transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));--tw-duration:400ms;transition-duration:.4s;--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}& .fi-fo-checkbox-option__icon{color:var(--color-gray-400);flex-shrink:0;height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 10);@media (prefers-color-scheme:dark){color:var(--color-gray-700)}}& .fi-checkbox-input{flex-shrink:0}& .fi-fo-checkbox-option__content{align-items:center;display:flex;flex-grow:1;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));& .fi-fo-checkbox-option__header{display:flex;flex-direction:column;flex-grow:1}& .fi-fo-checkbox-option__label{overflow:hidden;--tw-font-weight:var(--font-weight-medium);color:var(--color-gray-950);font-weight:var(--font-weight-medium);overflow-wrap:break-word;@media (prefers-color-scheme:dark){color:var(--color-white)}}& .fi-fo-checkbox-option__description{color:var(--color-gray-500);@media (prefers-color-scheme:dark){color:var(--color-gray-400)}}& .fi-fo-checkbox-option__extra{--tw-font-weight:var(--font-weight-medium);color:var(--color-gray-900);font-weight:var(--font-weight-medium);@media (prefers-color-scheme:dark){color:var(--color-gray-50)}}}&.fi-invalid{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-red-300);& .fi-fo-checkbox-option__indicator{fill:var(--color-red-500)}}&.is-selected{background-color:var(--color-primary-500);@supports (color:color-mix(in lab,red,red)){&{background-color:color-mix(in oklab,var(--color-primary-500) 10%,transparent)}}--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500);& .fi-fo-checkbox-option__indicator{fill:var(--color-primary-500)}& .fi-fo-checkbox-option__icon{color:var(--color-primary-500)}}}}& .fi-fo-checkbox-list-no-search-results-message{color:var(--color-gray-500);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));@media (prefers-color-scheme:dark){color:var(--color-gray-400)}}}.fi-fo-checkbox-card{display:grid;& .fi-fo-checkbox-list-search-input-wrp{margin-bottom:calc(var(--spacing) * 4)}& .fi-fo-checkbox-actions{margin-bottom:calc(var(--spacing) * 2)}& .fi-fo-checkbox-options{gap:calc(var(--spacing) * 2);&.fi-grid-direction-col{&>.fi-fo-checkbox-option{break-inside:avoid}}& .fi-fo-checkbox-option{border-color:var(--color-gray-200);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;cursor:pointer;display:flex;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,rgba(0,0,0,.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));--tw-duration:200ms;transition-duration:.2s;--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out);@media (prefers-color-scheme:dark){border-color:var(--color-gray-800)}&:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500)}&:hover:not(.is-selected){background-color:var(--color-gray-50);scale:1.02;transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);@media (prefers-color-scheme:dark){background-color:color-mix(in srgb,#fff 5%,transparent);@supports (color:color-mix(in lab,red,red)){&{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}}}& .fi-fo-checkbox-option__indicator{flex-shrink:0;height:calc(var(--spacing) * 5);margin-top:calc(var(--spacing) * 1);width:calc(var(--spacing) * 5);fill:var(--color-gray-400);transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));--tw-duration:400ms;transition-duration:.4s;--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}& .fi-fo-checkbox-option__icon{color:var(--color-gray-400);flex-shrink:0;height:calc(var(--spacing) * 10);margin-top:calc(var(--spacing) * 1);width:calc(var(--spacing) * 10);@media (prefers-color-scheme:dark){color:var(--color-gray-700)}}& .fi-checkbox-input{flex-shrink:0;margin-top:calc(var(--spacing) * 1)}& .fi-fo-checkbox-option__content{display:grid;flex-grow:1;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6);& .fi-fo-checkbox-option__header{display:flex;flex-direction:column;flex-grow:1}& .fi-fo-checkbox-option__label{overflow:hidden;--tw-font-weight:var(--font-weight-medium);color:var(--color-gray-950);font-weight:var(--font-weight-medium);overflow-wrap:break-word;@media (prefers-color-scheme:dark){color:var(--color-white)}}& .fi-fo-checkbox-option__description{color:var(--color-gray-500);@media (prefers-color-scheme:dark){color:var(--color-gray-400)}}& .fi-fo-checkbox-option__extra{margin-top:calc(var(--spacing) * 4);--tw-font-weight:var(--font-weight-medium);color:var(--color-gray-900);font-weight:var(--font-weight-medium);@media (prefers-color-scheme:dark){color:var(--color-gray-50)}}}&.is-centered{align-items:center;& .fi-fo-checkbox-option__content{align-items:center;display:flex;gap:calc(var(--spacing) * 2)}& .fi-fo-checkbox-option__extra,& .fi-fo-checkbox-option__icon,& .fi-fo-checkbox-option__indicator{margin-top:calc(var(--spacing) * 0)}}&.fi-invalid{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-red-300);& .fi-fo-checkbox-option__indicator{fill:var(--color-red-500)}}&.is-selected{background-color:var(--color-primary-500);@supports (color:color-mix(in lab,red,red)){&{background-color:color-mix(in oklab,var(--color-primary-500) 10%,transparent)}}--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500);& .fi-fo-checkbox-option__indicator{fill:var(--color-primary-500)}& .fi-fo-checkbox-option__icon{color:var(--color-primary-500)}}}}& .fi-fo-checkbox-list-no-search-results-message{color:var(--color-gray-500);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));@media (prefers-color-scheme:dark){color:var(--color-gray-400)}}}.fi-fo-radio-list{border-color:var(--color-gray-200);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;display:flex;flex-direction:column;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,rgba(0,0,0,.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);:where(&>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse))}:where(&>:not(:last-child)){border-color:var(--color-gray-200)}@media (prefers-color-scheme:dark){:where(&>:not(:last-child)){border-color:var(--color-gray-800)}}@media (prefers-color-scheme:dark){border-color:var(--color-gray-800)}& .fi-grid-direction-col{& .fi-fo-radio-item{break-inside:avoid}}& .fi-fo-radio-item:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}& .fi-fo-radio-item:last-child{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}& .fi-fo-radio-item{align-items:center;cursor:pointer;display:flex;gap:calc(var(--spacing) * 4);justify-content:space-between;padding:calc(var(--spacing) * 4);&:hover{@media (hover:hover){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}&:hover{@media (hover:hover){--tw-ring-color:var(--color-primary-500)}}& .fi-fo-radio-item__icon{flex-shrink:0;height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 10);fill:var(--color-gray-400);@media (prefers-color-scheme:dark){fill:color-mix(in srgb,#fff 30%,transparent);@supports (color:color-mix(in lab,red,red)){&{fill:color-mix(in oklab,var(--color-white) 30%,transparent)}}}}& .fi-fo-radio-item__content{align-items:center;display:flex;flex-grow:1;gap:calc(var(--spacing) * 4)}& .fi-fo-radio-item__label{--tw-font-weight:var(--font-weight-medium);color:var(--color-gray-900);font-weight:var(--font-weight-medium);@media (prefers-color-scheme:dark){color:var(--color-gray-50)}}& .fi-fo-radio-item__description{margin-top:calc(var(--spacing) * -1);--tw-font-weight:var(--font-weight-normal);color:var(--color-gray-500);font-weight:var(--font-weight-normal);@media (prefers-color-scheme:dark){color:var(--color-gray-400)}}& .fi-fo-radio-item__extra{--tw-font-weight:var(--font-weight-medium);color:var(--color-black);font-weight:var(--font-weight-medium);@media (prefers-color-scheme:dark){color:var(--color-white)}}& .fi-fo-radio-item__indicator{flex-shrink:0;height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);fill:var(--color-gray-400);transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));--tw-duration:400ms;transition-duration:.4s;--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}& .is-indicator-partially-hidden{opacity:0;&:is(:where(.group\/radio-item):hover *){@media (hover:hover){opacity:30%}}}& .fi-radio-input{flex-shrink:0}&.fi-invalid{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-red-300);& .fi-fo-radio-item__indicator{fill:var(--color-red-500)}}&.is-selected{background-color:var(--color-primary-500);@supports (color:color-mix(in lab,red,red)){&{background-color:color-mix(in oklab,var(--color-primary-500) 10%,transparent)}}--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500);& .fi-fo-radio-item__icon,& .fi-fo-radio-item__indicator{fill:var(--color-primary-500)}& .fi-fo-radio-item__indicator,& .is-indicator-partially-hidden{opacity:100%}}}}.fi-fo-radio-cards{display:grid;gap:calc(var(--spacing) * 3);&>.fi-grid-direction-col{&>.fi-fo-radio-card{break-inside:avoid}}& .fi-fo-radio-card{border-color:var(--color-gray-200);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;cursor:pointer;display:flex;gap:calc(var(--spacing) * 4);padding:calc(var(--spacing) * 4);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,rgba(0,0,0,.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));--tw-duration:200ms;transition-duration:.2s;--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out);@media (prefers-color-scheme:dark){border-color:var(--color-gray-800)}&:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500)}&:hover:not(.is-selected){background-color:var(--color-gray-50);scale:1.02;transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);@media (prefers-color-scheme:dark){background-color:color-mix(in srgb,#fff 5%,transparent);@supports (color:color-mix(in lab,red,red)){&{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}}}& .fi-fo-radio-card__indicator{flex-shrink:0;height:calc(var(--spacing) * 5);margin-top:calc(var(--spacing) * 1);width:calc(var(--spacing) * 5);fill:var(--color-gray-400);transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));--tw-duration:400ms;transition-duration:.4s;--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}& .fi-fo-radio-card__icon{flex-shrink:0;height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 10);fill:var(--color-gray-400);@media (prefers-color-scheme:dark){fill:color-mix(in srgb,#fff 30%,transparent);@supports (color:color-mix(in lab,red,red)){&{fill:color-mix(in oklab,var(--color-white) 30%,transparent)}}}}& .fi-fo-radio-card__content{display:flex;flex-direction:column;flex-grow:1;gap:calc(var(--spacing) * 4);& .fi-fo-radio-card__label{--tw-font-weight:var(--font-weight-medium);color:var(--color-gray-900);font-weight:var(--font-weight-medium);@media (prefers-color-scheme:dark){color:var(--color-gray-50)}}& .fi-fo-radio-card__description{--tw-font-weight:var(--font-weight-normal);color:var(--color-gray-500);font-weight:var(--font-weight-normal);@media (prefers-color-scheme:dark){color:var(--color-gray-400)}}& .fi-fo-radio-card__extra{--tw-font-weight:var(--font-weight-medium);color:var(--color-gray-900);font-weight:var(--font-weight-medium);@media (prefers-color-scheme:dark){color:var(--color-gray-50)}}}& .is-indicator-partially-hidden{opacity:0;&:is(:where(.group\/radio-card):hover *){@media (hover:hover){opacity:30%}}}& .fi-radio-input{flex-shrink:0;margin-top:calc(var(--spacing) * 2)}&.is-centered{align-items:center;& .fi-radio-input{margin:calc(var(--spacing) * 0)}& .fi-fo-radio-card__indicator{margin-top:calc(var(--spacing) * 0)}& .fi-fo-radio-card__content{align-items:center;flex-direction:row}& .fi-fo-radio-card__header{flex-grow:1}}&.fi-invalid{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-red-300);& .fi-fo-radio-card__indicator{fill:var(--color-red-500)}}&.is-selected{background-color:var(--color-primary-500);scale:1.01;transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);@supports (color:color-mix(in lab,red,red)){&{background-color:color-mix(in oklab,var(--color-primary-500) 10%,transparent)}}--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500);& .fi-fo-radio-card__icon{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));--tw-duration:200ms;transition-duration:.2s}& .fi-fo-radio-card__icon,& .fi-fo-radio-card__indicator{fill:var(--color-primary-500)}& .fi-fo-radio-card__indicator,& .is-indicator-partially-hidden{opacity:100%}}&:has(input:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}}}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"
";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-font-weight:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-leading:initial}}}
\ No newline at end of file
diff --git a/public/js/tonegabes/better-options/components/better-checkbox.js b/public/js/tonegabes/better-options/components/better-checkbox.js
new file mode 100644
index 00000000..131ab300
--- /dev/null
+++ b/public/js/tonegabes/better-options/components/better-checkbox.js
@@ -0,0 +1,140 @@
+export default function checkboxListFormComponent({ livewireId }) {
+ return {
+ areAllCheckboxesChecked: false,
+ checkboxListOptions: [],
+ search: "",
+ visibleCheckboxListOptions: [],
+
+ // Cache selectors for better performance
+ selectors: {
+ option: ".fi-fo-checkbox-option",
+ label: ".fi-fo-checkbox-option__label",
+ description: ".fi-fo-checkbox-option__description",
+ checkbox: "input[type=checkbox]",
+ checkedOrDisabled:
+ "input[type=checkbox]:checked, input[type=checkbox]:disabled",
+ },
+
+ init() {
+ this.cacheElements();
+ this.bindEvents();
+
+ this.$nextTick(() => {
+ this.checkIfAllCheckboxesAreChecked();
+ });
+ },
+
+ cacheElements() {
+ this.checkboxListOptions = Array.from(
+ this.$root.querySelectorAll(this.selectors.option)
+ );
+ this.updateVisibleCheckboxListOptions();
+ },
+
+ bindEvents() {
+ // Livewire hook for updates
+ Livewire.hook("commit", ({ component, succeed }) => {
+ succeed(() => {
+ this.$nextTick(() => {
+ if (component.id !== livewireId) {
+ return;
+ }
+ this.cacheElements();
+ this.checkIfAllCheckboxesAreChecked();
+ });
+ });
+ });
+
+ // Debounced search watcher
+ this.$watch(
+ "search",
+ this.debounce(() => {
+ this.updateVisibleCheckboxListOptions();
+ this.checkIfAllCheckboxesAreChecked();
+ }, 150)
+ );
+ },
+
+ // Simple debounce implementation
+ debounce(func, wait) {
+ let timeout;
+ return function executedFunction(...args) {
+ const later = () => {
+ clearTimeout(timeout);
+ func(...args);
+ };
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ };
+ },
+
+ isFoundInSearch(checkboxItem) {
+ if (!this.search || this.search.trim() === "") {
+ return true;
+ }
+
+ const searchTerm = this.search.toLowerCase();
+
+ // Cache elements to avoid repeated queries
+ const labelElement = checkboxItem.querySelector(this.selectors.label);
+ const descriptionElement = checkboxItem.querySelector(
+ this.selectors.description
+ );
+
+ const labelText = labelElement?.innerText?.toLowerCase() || "";
+ const descriptionText =
+ descriptionElement?.innerText?.toLowerCase() || "";
+
+ return (
+ labelText.includes(searchTerm) || descriptionText.includes(searchTerm)
+ );
+ },
+
+ checkIfAllCheckboxesAreChecked() {
+ if (this.visibleCheckboxListOptions.length === 0) {
+ this.areAllCheckboxesChecked = false;
+ return;
+ }
+
+ this.areAllCheckboxesChecked =
+ this.visibleCheckboxListOptions.length ===
+ this.visibleCheckboxListOptions.filter((checkboxLabel) =>
+ checkboxLabel.querySelector(this.selectors.checkedOrDisabled)
+ ).length;
+ },
+
+ toggleAllCheckboxes() {
+ this.checkIfAllCheckboxesAreChecked();
+ const shouldCheck = !this.areAllCheckboxesChecked;
+
+ // Batch DOM operations for better performance
+ const checkboxesToUpdate = [];
+
+ this.visibleCheckboxListOptions.forEach((checkboxLabel) => {
+ const checkbox = checkboxLabel.querySelector(this.selectors.checkbox);
+ if (checkbox && !checkbox.disabled) {
+ checkboxesToUpdate.push(checkbox);
+ }
+ });
+
+ // Update all checkboxes at once
+ checkboxesToUpdate.forEach((checkbox) => {
+ checkbox.checked = shouldCheck;
+ checkbox.dispatchEvent(new Event("change"));
+ });
+
+ this.areAllCheckboxesChecked = shouldCheck;
+ },
+
+ updateVisibleCheckboxListOptions() {
+ if (!this.search || this.search.trim() === "") {
+ this.visibleCheckboxListOptions = [...this.checkboxListOptions];
+ return;
+ }
+
+ this.visibleCheckboxListOptions = this.checkboxListOptions.filter(
+ (checkboxListItem) => this.isFoundInSearch(checkboxListItem)
+ );
+ },
+ };
+}
diff --git a/resources/css/filament/admin/theme.css b/resources/css/filament/admin/theme.css
index aa553767..06fc05a6 100644
--- a/resources/css/filament/admin/theme.css
+++ b/resources/css/filament/admin/theme.css
@@ -19,6 +19,13 @@ button[wire\:click="resetTableFiltersForm"] {
/* background-color: #0f172b; */
}
+/* stripes in popups */
+@layer utilities {
+ .striped div:nth-child(even) {
+ @apply bg-gray-100
+ }
+}
+
/* .fi-ta-header-toolbar {
@apply flex-row-reverse;
} */
@@ -62,6 +69,19 @@ button[wire\:click="resetTableFiltersForm"] {
}
}
+/* Styling Radio Boxes */
+#multiline_setting {
+ @apply !grid grid-cols-3 gap-5 mb-4
+}
+
+#multiline_setting input {
+ @apply checked:border-blue-500
+}
+
+#multiline_setting .fi-fo-radio-label {
+ @apply p-3 border border-gray-700 rounded-xl cursor-pointer has-checked:bg-blue-50 has-checked:text-blue-900 has-checked:ring-blue-200 dark:has-checked:bg-blue-950 dark:has-checked:text-blue-200 dark:has-checked:ring-blue-900
+}
+
#mapper_right .fi-ta-filter-indicators button,
#mapper_left .fi-ta-filter-indicators button {
display: none;
diff --git a/resources/views/components/sport-header.blade.php b/resources/views/components/sport-header.blade.php
new file mode 100644
index 00000000..365706ce
--- /dev/null
+++ b/resources/views/components/sport-header.blade.php
@@ -0,0 +1,19 @@
+
+ @switch(auth()->user()->sport_id)
+ @case(1)
+
+ @break
+ @case(1)
+
+ @break
+ @case(3)
+
+ @break
+ @case(4)
+
+ @break
+ @default
+
+ @endswitch
+
{{ $slot }}
+
\ No newline at end of file
diff --git a/resources/views/filament/resources/events/widgets/alarm-widget.blade.php b/resources/views/filament/resources/events/widgets/alarm-widget.blade.php
index 6471c109..5d90a645 100644
--- a/resources/views/filament/resources/events/widgets/alarm-widget.blade.php
+++ b/resources/views/filament/resources/events/widgets/alarm-widget.blade.php
@@ -1,6 +1,5 @@
-
-
{{ $title }}
+
+
{{ $title }}
@if ($red)
diff --git a/resources/views/filament/tables/columns/column-odds.blade.php b/resources/views/filament/tables/columns/column-odds.blade.php
index 4e6a67f8..3079ffe9 100644
--- a/resources/views/filament/tables/columns/column-odds.blade.php
+++ b/resources/views/filament/tables/columns/column-odds.blade.php
@@ -12,11 +12,9 @@
@endphp
@if ($getColumns() == 2)
-
+
@else
-
+
@endif
diff --git a/resources/views/livewire/alarm-bookmaker.blade.php b/resources/views/livewire/alarm-bookmaker.blade.php
index c3fedc4a..af4e2de8 100644
--- a/resources/views/livewire/alarm-bookmaker.blade.php
+++ b/resources/views/livewire/alarm-bookmaker.blade.php
@@ -1,3 +1,7 @@
+
+ {{ auth()->user()->sport->name }} Alarm Configuration
+
+
{{ $this->table }}
diff --git a/resources/views/livewire/comparing-bookmaker-menu.blade.php b/resources/views/livewire/comparing-bookmaker-menu.blade.php
index 68bcdf74..26399ea4 100644
--- a/resources/views/livewire/comparing-bookmaker-menu.blade.php
+++ b/resources/views/livewire/comparing-bookmaker-menu.blade.php
@@ -1,3 +1,8 @@
diff --git a/resources/views/livewire/multiline-bookmaker.blade.php b/resources/views/livewire/multiline-bookmaker.blade.php
index c3fedc4a..0f82126e 100644
--- a/resources/views/livewire/multiline-bookmaker.blade.php
+++ b/resources/views/livewire/multiline-bookmaker.blade.php
@@ -1,3 +1,7 @@
+
+ {{ auth()->user()->sport->name }} Multiline Configuration
+
+
{{ $this->table }}
diff --git a/resources/views/livewire/partner-programm.blade.php b/resources/views/livewire/partner-programm.blade.php
deleted file mode 100644
index ad9a90f6..00000000
--- a/resources/views/livewire/partner-programm.blade.php
+++ /dev/null
@@ -1,3 +0,0 @@
-
- {{-- To attain knowledge, add things every day; To attain wisdom, subtract things every day. --}}
-
diff --git a/resources/views/livewire/top-menu-items.blade.php b/resources/views/livewire/top-menu-items.blade.php
index fdb4efd6..8bf9e81c 100644
--- a/resources/views/livewire/top-menu-items.blade.php
+++ b/resources/views/livewire/top-menu-items.blade.php
@@ -72,7 +72,9 @@
-
Event Mapper
+
+ {{ auth()->user()->sport->name }} Event Mapper
+
@php
if (!auth()->user()->provider_id) {
auth()->user()->provider_id = 2;