From 8bffefabeff7c753f696fd9223411906bfc441af Mon Sep 17 00:00:00 2001 From: Saeed Vaziry <61919774+saeedvaziry@users.noreply.github.com> Date: Sun, 4 Feb 2024 18:11:22 +0100 Subject: [PATCH] Upgrade to Livewire 3 (#103) * upgrade to livewire 3 * fix updater * fix modal events * fix modal events --- app/Helpers/Toast.php | 5 +- app/Http/Livewire/Application/Deploy.php | 4 +- .../Livewire/Application/DeploymentScript.php | 4 +- .../Livewire/Application/DeploymentsList.php | 2 +- app/Http/Livewire/Application/Env.php | 2 +- app/Http/Livewire/Broadcast.php | 2 +- app/Http/Livewire/Cronjobs/CreateCronjob.php | 4 +- app/Http/Livewire/Cronjobs/CronjobsList.php | 2 +- .../Databases/DatabaseBackupFiles.php | 4 +- .../Livewire/Databases/DatabaseBackups.php | 8 +- app/Http/Livewire/Databases/DatabaseList.php | 6 +- .../Livewire/Databases/DatabaseUserList.php | 12 +- .../Livewire/Firewall/CreateFirewallRule.php | 4 +- .../Livewire/Firewall/FirewallRulesList.php | 2 +- .../NotificationChannels/AddChannel.php | 4 +- .../NotificationChannels/ChannelsList.php | 2 +- app/Http/Livewire/Php/InstalledVersions.php | 2 +- .../Profile/UpdateProfileInformation.php | 2 +- app/Http/Livewire/Projects/CreateProject.php | 4 +- app/Http/Livewire/Queues/CreateQueue.php | 4 +- app/Http/Livewire/Queues/QueuesList.php | 2 +- app/Http/Livewire/ServerLogs/LogsList.php | 2 +- .../ServerProviders/ConnectProvider.php | 4 +- .../ServerProviders/ProvidersList.php | 2 +- .../Livewire/ServerSshKeys/AddExistingKey.php | 4 +- app/Http/Livewire/ServerSshKeys/AddNewKey.php | 4 +- .../Livewire/ServerSshKeys/ServerKeysList.php | 2 +- app/Http/Livewire/Servers/ShowServer.php | 2 +- .../Livewire/Services/InstallPHPMyAdmin.php | 4 +- app/Http/Livewire/Sites/SitesList.php | 2 +- app/Http/Livewire/SourceControls/Connect.php | 4 +- .../SourceControls/SourceControlsList.php | 2 +- app/Http/Livewire/SshKeys/AddKey.php | 4 +- app/Http/Livewire/SshKeys/KeysList.php | 2 +- app/Http/Livewire/Ssl/CreateSsl.php | 4 +- app/Http/Livewire/Ssl/SslsList.php | 4 +- .../StorageProviders/ConnectProvider.php | 4 +- .../StorageProviders/ProvidersList.php | 2 +- app/Traits/RefreshComponentOnBroadcast.php | 2 +- composer.json | 2 +- composer.lock | 36 ++-- config/livewire.php | 159 ++++++++++++++++++ public/build/assets/app-887de6f7.css | 1 + public/build/assets/app-9aa488bb.js | 24 --- public/build/assets/app-ae945733.css | 1 - public/build/assets/app-e6b0cd9c.js | 101 +++++++++++ public/build/manifest.json | 4 +- resources/js/app.js | 29 +--- .../views/components/confirm-modal.blade.php | 2 +- resources/views/layouts/app.blade.php | 16 +- .../layouts/partials/color-scheme.blade.php | 1 - .../application/change-branch.blade.php | 4 +- .../application/deployment-script.blade.php | 4 +- .../views/livewire/application/env.blade.php | 4 +- .../cronjobs/create-cronjob.blade.php | 10 +- .../partials/create-backup-modal.blade.php | 12 +- .../partials/create-database-modal.blade.php | 14 +- .../create-database-user-modal.blade.php | 10 +- .../database-user-password-modal.blade.php | 4 +- .../link-database-user-modal.blade.php | 4 +- .../partials/restore-backup-modal.blade.php | 4 +- .../firewall/create-firewall-rule.blade.php | 12 +- .../add-channel.blade.php | 14 +- .../php/partials/install-extension.blade.php | 4 +- .../php/partials/update-php-ini.blade.php | 4 +- .../profile/update-password.blade.php | 8 +- .../update-profile-information.blade.php | 10 +- .../projects/create-project.blade.php | 4 +- .../livewire/projects/edit-project.blade.php | 4 +- .../livewire/queues/create-queue.blade.php | 12 +- .../connect-provider.blade.php | 12 +- .../check-connection.blade.php | 4 +- .../server-settings/edit-server.blade.php | 8 +- .../server-settings/reboot-server.blade.php | 4 +- .../add-existing-key.blade.php | 4 +- .../server-ssh-keys/add-new-key.blade.php | 6 +- .../livewire/servers/create-server.blade.php | 24 +-- .../services/install-phpmyadmin.blade.php | 6 +- .../sites/change-php-version.blade.php | 4 +- .../livewire/sites/create-site.blade.php | 8 +- .../partials/create/fields/branch.blade.php | 2 +- .../partials/create/fields/composer.blade.php | 2 +- .../create/fields/php-version.blade.php | 2 +- .../create/fields/repository.blade.php | 2 +- .../create/fields/source-control.blade.php | 2 +- .../create/fields/web-directory.blade.php | 2 +- .../sites/partials/create/wordpress.blade.php | 14 +- .../update-source-control-provider.blade.php | 4 +- .../livewire/sites/update-v-host.blade.php | 4 +- .../source-controls/connect.blade.php | 10 +- .../views/livewire/ssh-keys/add-key.blade.php | 6 +- .../views/livewire/ssl/create-ssl.blade.php | 8 +- .../connect-provider.blade.php | 22 +-- tests/Feature/Http/CronjobTest.php | 4 +- tests/Feature/Http/QueuesTest.php | 4 +- tests/Feature/Http/ServerKeysTest.php | 6 +- tests/Feature/Http/SslTest.php | 4 +- update.sh | 1 + 98 files changed, 529 insertions(+), 303 deletions(-) create mode 100644 config/livewire.php create mode 100644 public/build/assets/app-887de6f7.css delete mode 100644 public/build/assets/app-9aa488bb.js delete mode 100644 public/build/assets/app-ae945733.css create mode 100644 public/build/assets/app-e6b0cd9c.js diff --git a/app/Helpers/Toast.php b/app/Helpers/Toast.php index 12aed46..18d8ba4 100644 --- a/app/Helpers/Toast.php +++ b/app/Helpers/Toast.php @@ -32,9 +32,6 @@ public function info(string $message): void private function toast(string $type, string $message): void { - $this->component->dispatchBrowserEvent('toast', [ - 'type' => $type, - 'message' => $message, - ]); + $this->component->dispatch('toast', type: $type, message: $message); } } diff --git a/app/Http/Livewire/Application/Deploy.php b/app/Http/Livewire/Application/Deploy.php index be69821..a84b377 100644 --- a/app/Http/Livewire/Application/Deploy.php +++ b/app/Http/Livewire/Application/Deploy.php @@ -23,9 +23,9 @@ public function deploy(): void $this->toast()->success(__('Deployment started!')); - $this->emitTo(DeploymentsList::class, '$refresh'); + $this->dispatch('$refresh')->to(DeploymentsList::class); - $this->emitTo(DeploymentScript::class, '$refresh'); + $this->dispatch('$refresh')->to(DeploymentScript::class); } catch (SourceControlIsNotConnected $e) { session()->flash('toast.type', 'error'); session()->flash('toast.message', $e->getMessage()); diff --git a/app/Http/Livewire/Application/DeploymentScript.php b/app/Http/Livewire/Application/DeploymentScript.php index 6753559..0299909 100644 --- a/app/Http/Livewire/Application/DeploymentScript.php +++ b/app/Http/Livewire/Application/DeploymentScript.php @@ -27,8 +27,8 @@ public function save(): void session()->flash('status', 'script-updated'); - $this->emitTo(Deploy::class, '$refresh'); - $this->emitTo(AutoDeployment::class, '$refresh'); + $this->dispatch('$refresh')->to(Deploy::class); + $this->dispatch('$refresh')->to(AutoDeployment::class); } public function render(): View diff --git a/app/Http/Livewire/Application/DeploymentsList.php b/app/Http/Livewire/Application/DeploymentsList.php index 5ae4f07..7f030c2 100644 --- a/app/Http/Livewire/Application/DeploymentsList.php +++ b/app/Http/Livewire/Application/DeploymentsList.php @@ -22,7 +22,7 @@ public function showLog(int $id): void $deployment = $this->site->deployments()->findOrFail($id); $this->logContent = $deployment->log->content; - $this->dispatchBrowserEvent('open-modal', 'show-log'); + $this->dispatch('open-modal', 'show-log'); } public function render(): View diff --git a/app/Http/Livewire/Application/Env.php b/app/Http/Livewire/Application/Env.php index dad9442..38ec33a 100644 --- a/app/Http/Livewire/Application/Env.php +++ b/app/Http/Livewire/Application/Env.php @@ -27,7 +27,7 @@ public function save(): void session()->flash('status', 'updating-env'); - $this->emit(Deploy::class, '$refresh'); + $this->dispatch('$refresh')->to(Deploy::class); } public function render(): View diff --git a/app/Http/Livewire/Broadcast.php b/app/Http/Livewire/Broadcast.php index f8972f1..78f38f9 100644 --- a/app/Http/Livewire/Broadcast.php +++ b/app/Http/Livewire/Broadcast.php @@ -13,7 +13,7 @@ public function render(): View $event = Cache::get('broadcast'); if ($event) { Cache::forget('broadcast'); - $this->emit('broadcast', $event); + $this->dispatch('broadcast', $event); } return view('livewire.broadcast'); diff --git a/app/Http/Livewire/Cronjobs/CreateCronjob.php b/app/Http/Livewire/Cronjobs/CreateCronjob.php index 22d565c..90147f8 100644 --- a/app/Http/Livewire/Cronjobs/CreateCronjob.php +++ b/app/Http/Livewire/Cronjobs/CreateCronjob.php @@ -22,9 +22,9 @@ public function create(): void { app(\App\Actions\CronJob\CreateCronJob::class)->create($this->server, $this->all()); - $this->emitTo(CronjobsList::class, '$refresh'); + $this->dispatch('$refresh')->to(CronjobsList::class); - $this->dispatchBrowserEvent('created', true); + $this->dispatch('created'); } public function render(): View diff --git a/app/Http/Livewire/Cronjobs/CronjobsList.php b/app/Http/Livewire/Cronjobs/CronjobsList.php index 0d34f1e..184c7f5 100644 --- a/app/Http/Livewire/Cronjobs/CronjobsList.php +++ b/app/Http/Livewire/Cronjobs/CronjobsList.php @@ -23,7 +23,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/Databases/DatabaseBackupFiles.php b/app/Http/Livewire/Databases/DatabaseBackupFiles.php index 9f9857a..1d2d2a9 100644 --- a/app/Http/Livewire/Databases/DatabaseBackupFiles.php +++ b/app/Http/Livewire/Databases/DatabaseBackupFiles.php @@ -45,7 +45,7 @@ public function restore(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('restored', true); + $this->dispatch('restored'); } public function delete(): void @@ -55,7 +55,7 @@ public function delete(): void $file->delete(); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/Databases/DatabaseBackups.php b/app/Http/Livewire/Databases/DatabaseBackups.php index 90a37f8..4c0d62a 100644 --- a/app/Http/Livewire/Databases/DatabaseBackups.php +++ b/app/Http/Livewire/Databases/DatabaseBackups.php @@ -40,7 +40,7 @@ public function create(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('backup-created', true); + $this->dispatch('backup-created'); } public function files(int $id): void @@ -48,7 +48,7 @@ public function files(int $id): void $backup = Backup::query()->findOrFail($id); $this->backup = $backup; $this->files = $backup->files()->orderByDesc('id')->simplePaginate(1); - $this->dispatchBrowserEvent('show-files', true); + $this->dispatch('show-files'); } public function backup(): void @@ -57,7 +57,7 @@ public function backup(): void $this->files = $this->backup?->files()->orderByDesc('id')->simplePaginate(); - $this->dispatchBrowserEvent('backup-running', true); + $this->dispatch('backup-running'); } public function delete(): void @@ -67,7 +67,7 @@ public function delete(): void $backup->delete(); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/Databases/DatabaseList.php b/app/Http/Livewire/Databases/DatabaseList.php index 3ca2d7b..881aa37 100644 --- a/app/Http/Livewire/Databases/DatabaseList.php +++ b/app/Http/Livewire/Databases/DatabaseList.php @@ -40,7 +40,7 @@ public function create(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('database-created', true); + $this->dispatch('database-created'); } public function delete(): void @@ -52,9 +52,9 @@ public function delete(): void $this->refreshComponent([]); - $this->emitTo(DatabaseUserList::class, '$refresh'); + $this->dispatch('$refresh')->to(DatabaseUserList::class); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/Databases/DatabaseUserList.php b/app/Http/Livewire/Databases/DatabaseUserList.php index 782c1c0..cf64ac9 100644 --- a/app/Http/Livewire/Databases/DatabaseUserList.php +++ b/app/Http/Livewire/Databases/DatabaseUserList.php @@ -38,7 +38,7 @@ public function create(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('database-user-created', true); + $this->dispatch('database-user-created'); } public function delete(): void @@ -50,9 +50,9 @@ public function delete(): void $this->refreshComponent([]); - $this->emitTo(DatabaseList::class, '$refresh'); + $this->dispatch('$refresh')->to(DatabaseList::class); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function viewPassword(int $id): void @@ -62,7 +62,7 @@ public function viewPassword(int $id): void $this->viewPassword = $databaseUser->password; - $this->dispatchBrowserEvent('open-modal', 'database-user-password'); + $this->dispatch('open-modal', 'database-user-password'); } public function showLink(int $id): void @@ -73,7 +73,7 @@ public function showLink(int $id): void $this->linkId = $id; $this->link = $databaseUser->databases ?? []; - $this->dispatchBrowserEvent('open-modal', 'link-database-user'); + $this->dispatch('open-modal', 'link-database-user'); } public function link(): void @@ -85,7 +85,7 @@ public function link(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('linked', true); + $this->dispatch('linked'); } public function render(): View diff --git a/app/Http/Livewire/Firewall/CreateFirewallRule.php b/app/Http/Livewire/Firewall/CreateFirewallRule.php index cc9986d..2777076 100644 --- a/app/Http/Livewire/Firewall/CreateFirewallRule.php +++ b/app/Http/Livewire/Firewall/CreateFirewallRule.php @@ -28,9 +28,9 @@ public function create(): void { app(CreateRule::class)->create($this->server, $this->all()); - $this->emitTo(FirewallRulesList::class, '$refresh'); + $this->dispatch('$refresh')->to(FirewallRulesList::class); - $this->dispatchBrowserEvent('created', true); + $this->dispatch('created'); } public function render(): View diff --git a/app/Http/Livewire/Firewall/FirewallRulesList.php b/app/Http/Livewire/Firewall/FirewallRulesList.php index 59c0ce7..92925aa 100644 --- a/app/Http/Livewire/Firewall/FirewallRulesList.php +++ b/app/Http/Livewire/Firewall/FirewallRulesList.php @@ -25,7 +25,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/NotificationChannels/AddChannel.php b/app/Http/Livewire/NotificationChannels/AddChannel.php index 9acd6e5..f68b68a 100644 --- a/app/Http/Livewire/NotificationChannels/AddChannel.php +++ b/app/Http/Livewire/NotificationChannels/AddChannel.php @@ -26,9 +26,9 @@ public function add(): void $this->all() ); - $this->emitTo(ChannelsList::class, '$refresh'); + $this->dispatch('$refresh')->to(ChannelsList::class); - $this->dispatchBrowserEvent('added', true); + $this->dispatch('added'); } public function render(): View diff --git a/app/Http/Livewire/NotificationChannels/ChannelsList.php b/app/Http/Livewire/NotificationChannels/ChannelsList.php index 4c34cd7..b8aab5f 100644 --- a/app/Http/Livewire/NotificationChannels/ChannelsList.php +++ b/app/Http/Livewire/NotificationChannels/ChannelsList.php @@ -25,7 +25,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/Php/InstalledVersions.php b/app/Http/Livewire/Php/InstalledVersions.php index b9d1a8d..3b7f71c 100644 --- a/app/Http/Livewire/Php/InstalledVersions.php +++ b/app/Http/Livewire/Php/InstalledVersions.php @@ -56,7 +56,7 @@ public function uninstall(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function loadIni(int $id): void diff --git a/app/Http/Livewire/Profile/UpdateProfileInformation.php b/app/Http/Livewire/Profile/UpdateProfileInformation.php index 6d87f1c..58dc440 100644 --- a/app/Http/Livewire/Profile/UpdateProfileInformation.php +++ b/app/Http/Livewire/Profile/UpdateProfileInformation.php @@ -33,7 +33,7 @@ public function submit(): void session()->flash('status', 'profile-updated'); - $this->emitTo(UserDropdown::class, '$refresh'); + $this->dispatch('$refresh')->to(UserDropdown::class); } public function sendVerificationEmail(): void diff --git a/app/Http/Livewire/Projects/CreateProject.php b/app/Http/Livewire/Projects/CreateProject.php index 93ef0ee..8966fc5 100644 --- a/app/Http/Livewire/Projects/CreateProject.php +++ b/app/Http/Livewire/Projects/CreateProject.php @@ -21,9 +21,9 @@ public function create(): void app(\App\Actions\Projects\CreateProject::class) ->create(auth()->user(), $this->inputs); - $this->emitTo(ProjectsList::class, '$refresh'); + $this->dispatch('$refresh')->to(ProjectsList::class); - $this->dispatchBrowserEvent('created', true); + $this->dispatch('created'); } public function render(): View diff --git a/app/Http/Livewire/Queues/CreateQueue.php b/app/Http/Livewire/Queues/CreateQueue.php index 2ce35b5..e6eeb30 100644 --- a/app/Http/Livewire/Queues/CreateQueue.php +++ b/app/Http/Livewire/Queues/CreateQueue.php @@ -24,9 +24,9 @@ public function create(): void { app(\App\Actions\Queue\CreateQueue::class)->create($this->site, $this->all()); - $this->emitTo(QueuesList::class, '$refresh'); + $this->dispatch('$refresh')->to(QueuesList::class); - $this->dispatchBrowserEvent('created', true); + $this->dispatch('created'); } public function render(): View diff --git a/app/Http/Livewire/Queues/QueuesList.php b/app/Http/Livewire/Queues/QueuesList.php index 30d90fa..983961e 100644 --- a/app/Http/Livewire/Queues/QueuesList.php +++ b/app/Http/Livewire/Queues/QueuesList.php @@ -24,7 +24,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function start(Queue $queue): void diff --git a/app/Http/Livewire/ServerLogs/LogsList.php b/app/Http/Livewire/ServerLogs/LogsList.php index f78bfbf..8e21e31 100644 --- a/app/Http/Livewire/ServerLogs/LogsList.php +++ b/app/Http/Livewire/ServerLogs/LogsList.php @@ -27,7 +27,7 @@ public function showLog(int $id): void $log = $this->server->logs()->findOrFail($id); $this->logContent = $log->content; - $this->dispatchBrowserEvent('open-modal', 'show-log'); + $this->dispatch('open-modal', 'show-log'); } public function render(): View diff --git a/app/Http/Livewire/ServerProviders/ConnectProvider.php b/app/Http/Livewire/ServerProviders/ConnectProvider.php index 2c87207..7f315f4 100644 --- a/app/Http/Livewire/ServerProviders/ConnectProvider.php +++ b/app/Http/Livewire/ServerProviders/ConnectProvider.php @@ -22,9 +22,9 @@ public function connect(): void { app(CreateServerProvider::class)->create(auth()->user(), $this->all()); - $this->emitTo(ProvidersList::class, '$refresh'); + $this->dispatch('$refresh')->to(ProvidersList::class); - $this->dispatchBrowserEvent('connected', true); + $this->dispatch('connected'); } public function render(): View diff --git a/app/Http/Livewire/ServerProviders/ProvidersList.php b/app/Http/Livewire/ServerProviders/ProvidersList.php index 3d9f793..5fb7ded 100644 --- a/app/Http/Livewire/ServerProviders/ProvidersList.php +++ b/app/Http/Livewire/ServerProviders/ProvidersList.php @@ -25,7 +25,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/ServerSshKeys/AddExistingKey.php b/app/Http/Livewire/ServerSshKeys/AddExistingKey.php index bc5902f..c91040e 100644 --- a/app/Http/Livewire/ServerSshKeys/AddExistingKey.php +++ b/app/Http/Livewire/ServerSshKeys/AddExistingKey.php @@ -19,9 +19,9 @@ public function add(): void $key->deployTo($this->server); - $this->emitTo(ServerKeysList::class, '$refresh'); + $this->dispatch('$refresh')->to(ServerKeysList::class); - $this->dispatchBrowserEvent('added', true); + $this->dispatch('added'); } public function render(): View diff --git a/app/Http/Livewire/ServerSshKeys/AddNewKey.php b/app/Http/Livewire/ServerSshKeys/AddNewKey.php index edf4496..3817249 100644 --- a/app/Http/Livewire/ServerSshKeys/AddNewKey.php +++ b/app/Http/Livewire/ServerSshKeys/AddNewKey.php @@ -24,9 +24,9 @@ public function add(): void $key->deployTo($this->server); - $this->emitTo(ServerKeysList::class, '$refresh'); + $this->dispatch('$refresh')->to(ServerKeysList::class); - $this->dispatchBrowserEvent('added', true); + $this->dispatch('added'); } public function render(): View diff --git a/app/Http/Livewire/ServerSshKeys/ServerKeysList.php b/app/Http/Livewire/ServerSshKeys/ServerKeysList.php index b90ece4..09f1b18 100644 --- a/app/Http/Livewire/ServerSshKeys/ServerKeysList.php +++ b/app/Http/Livewire/ServerSshKeys/ServerKeysList.php @@ -28,7 +28,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/Servers/ShowServer.php b/app/Http/Livewire/Servers/ShowServer.php index b08d7ab..0948cf7 100644 --- a/app/Http/Livewire/Servers/ShowServer.php +++ b/app/Http/Livewire/Servers/ShowServer.php @@ -21,7 +21,7 @@ public function refreshComponent(array $data): void return; } - $this->emit('refreshComponent'); + $this->dispatch('refreshComponent'); } public function render(): View diff --git a/app/Http/Livewire/Services/InstallPHPMyAdmin.php b/app/Http/Livewire/Services/InstallPHPMyAdmin.php index 7629c1f..92eabfe 100644 --- a/app/Http/Livewire/Services/InstallPHPMyAdmin.php +++ b/app/Http/Livewire/Services/InstallPHPMyAdmin.php @@ -19,9 +19,9 @@ public function install(): void { app(InstallPHPMyAdminAction::class)->install($this->server, $this->all()); - $this->dispatchBrowserEvent('started', true); + $this->dispatch('started'); - $this->emitTo(ServicesList::class, '$refresh'); + $this->dispatch('$refresh')->to(ServicesList::class); } public function render(): View diff --git a/app/Http/Livewire/Sites/SitesList.php b/app/Http/Livewire/Sites/SitesList.php index 80e9fc6..b522e8d 100644 --- a/app/Http/Livewire/Sites/SitesList.php +++ b/app/Http/Livewire/Sites/SitesList.php @@ -26,7 +26,7 @@ public function refreshComponent(array $data): void return; } - $this->emit('refreshComponent'); + $this->dispatch('refreshComponent'); } public function render(): View diff --git a/app/Http/Livewire/SourceControls/Connect.php b/app/Http/Livewire/SourceControls/Connect.php index 4073fe7..9cadffa 100644 --- a/app/Http/Livewire/SourceControls/Connect.php +++ b/app/Http/Livewire/SourceControls/Connect.php @@ -20,9 +20,9 @@ public function connect(): void { app(ConnectSourceControl::class)->connect($this->all()); - $this->emitTo(SourceControlsList::class, '$refresh'); + $this->dispatch('$refresh')->to(SourceControlsList::class); - $this->dispatchBrowserEvent('connected', true); + $this->dispatch('connected'); } public function render(): View diff --git a/app/Http/Livewire/SourceControls/SourceControlsList.php b/app/Http/Livewire/SourceControls/SourceControlsList.php index d739123..64ce831 100644 --- a/app/Http/Livewire/SourceControls/SourceControlsList.php +++ b/app/Http/Livewire/SourceControls/SourceControlsList.php @@ -25,7 +25,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/SshKeys/AddKey.php b/app/Http/Livewire/SshKeys/AddKey.php index d8c0615..d6099c6 100644 --- a/app/Http/Livewire/SshKeys/AddKey.php +++ b/app/Http/Livewire/SshKeys/AddKey.php @@ -19,9 +19,9 @@ public function add(): void $this->all() ); - $this->emitTo(KeysList::class, '$refresh'); + $this->dispatch('$refresh')->to(KeysList::class); - $this->dispatchBrowserEvent('added', true); + $this->dispatch('added'); } public function render(): View diff --git a/app/Http/Livewire/SshKeys/KeysList.php b/app/Http/Livewire/SshKeys/KeysList.php index 4b53741..9b5a401 100644 --- a/app/Http/Livewire/SshKeys/KeysList.php +++ b/app/Http/Livewire/SshKeys/KeysList.php @@ -25,7 +25,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Http/Livewire/Ssl/CreateSsl.php b/app/Http/Livewire/Ssl/CreateSsl.php index 604443b..2277e4b 100644 --- a/app/Http/Livewire/Ssl/CreateSsl.php +++ b/app/Http/Livewire/Ssl/CreateSsl.php @@ -23,9 +23,9 @@ public function create(): void { app(\App\Actions\SSL\CreateSSL::class)->create($this->site, $this->all()); - $this->emitTo(SslsList::class, '$refresh'); + $this->dispatch('$refresh')->to(SslsList::class); - $this->dispatchBrowserEvent('created', true); + $this->dispatch('created'); } public function render(): View diff --git a/app/Http/Livewire/Ssl/SslsList.php b/app/Http/Livewire/Ssl/SslsList.php index d16eb44..f7fb5a5 100644 --- a/app/Http/Livewire/Ssl/SslsList.php +++ b/app/Http/Livewire/Ssl/SslsList.php @@ -25,7 +25,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function refreshComponent(array $data): void @@ -34,7 +34,7 @@ public function refreshComponent(array $data): void $this->toast()->error(__('SSL creation failed!')); } - $this->emit('refreshComponent'); + $this->dispatch('refreshComponent'); } public function render(): View diff --git a/app/Http/Livewire/StorageProviders/ConnectProvider.php b/app/Http/Livewire/StorageProviders/ConnectProvider.php index 06f1d4a..4499896 100644 --- a/app/Http/Livewire/StorageProviders/ConnectProvider.php +++ b/app/Http/Livewire/StorageProviders/ConnectProvider.php @@ -32,9 +32,9 @@ public function connect(): void { app(CreateStorageProvider::class)->create(auth()->user(), $this->all()); - $this->emitTo(ProvidersList::class, '$refresh'); + $this->dispatch('$refresh')->to(ProvidersList::class); - $this->dispatchBrowserEvent('connected', true); + $this->dispatch('connected'); } public function render(): View diff --git a/app/Http/Livewire/StorageProviders/ProvidersList.php b/app/Http/Livewire/StorageProviders/ProvidersList.php index 2370b3e..865a05f 100644 --- a/app/Http/Livewire/StorageProviders/ProvidersList.php +++ b/app/Http/Livewire/StorageProviders/ProvidersList.php @@ -25,7 +25,7 @@ public function delete(): void $this->refreshComponent([]); - $this->dispatchBrowserEvent('confirmed', true); + $this->dispatch('confirmed'); } public function render(): View diff --git a/app/Traits/RefreshComponentOnBroadcast.php b/app/Traits/RefreshComponentOnBroadcast.php index c77ff3c..032666d 100644 --- a/app/Traits/RefreshComponentOnBroadcast.php +++ b/app/Traits/RefreshComponentOnBroadcast.php @@ -15,6 +15,6 @@ public function getListeners(): array public function refreshComponent(array $data): void { - $this->emit('refreshComponent'); + $this->dispatch('refreshComponent'); } } diff --git a/composer.json b/composer.json index e60d056..babcbc2 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ "laravel/sanctum": "^3.2", "laravel/socialite": "^5.2", "laravel/tinker": "^2.8", - "livewire/livewire": "^2.12", + "livewire/livewire": "^3.0", "opcodesio/log-viewer": "^2.5", "owenvoke/blade-fontawesome": "^2.5", "phpseclib/phpseclib": "~3.0" diff --git a/composer.lock b/composer.lock index f80056a..d0723ae 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": "b3f98cafe7fcc5d3ce67ad09a8f66661", + "content-hash": "2c898cb3ae37c6267db77c5c95d0f926", "packages": [ { "name": "aws/aws-crt-php", @@ -2931,34 +2931,36 @@ }, { "name": "livewire/livewire", - "version": "v2.12.6", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "7d3a57b3193299cf1a0639a3935c696f4da2cf92" + "reference": "c0489d4a76382f6dcf6e2702112f86aa089d0c8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/7d3a57b3193299cf1a0639a3935c696f4da2cf92", - "reference": "7d3a57b3193299cf1a0639a3935c696f4da2cf92", + "url": "https://api.github.com/repos/livewire/livewire/zipball/c0489d4a76382f6dcf6e2702112f86aa089d0c8d", + "reference": "c0489d4a76382f6dcf6e2702112f86aa089d0c8d", "shasum": "" }, "require": { - "illuminate/database": "^7.0|^8.0|^9.0|^10.0", - "illuminate/support": "^7.0|^8.0|^9.0|^10.0", - "illuminate/validation": "^7.0|^8.0|^9.0|^10.0", + "illuminate/database": "^10.0|^11.0", + "illuminate/routing": "^10.0|^11.0", + "illuminate/support": "^10.0|^11.0", + "illuminate/validation": "^10.0|^11.0", "league/mime-type-detection": "^1.9", - "php": "^7.2.5|^8.0", - "symfony/http-kernel": "^5.0|^6.0" + "php": "^8.1", + "symfony/http-kernel": "^6.2|^7.0" }, "require-dev": { "calebporzio/sushi": "^2.1", - "laravel/framework": "^7.0|^8.0|^9.0|^10.0", + "laravel/framework": "^10.0|^11.0", + "laravel/prompts": "^0.1.6", "mockery/mockery": "^1.3.1", - "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0", - "orchestra/testbench-dusk": "^5.2|^6.0|^7.0|^8.0", - "phpunit/phpunit": "^8.4|^9.0", - "psy/psysh": "@stable" + "orchestra/testbench": "8.20.0|^9.0", + "orchestra/testbench-dusk": "8.20.0|^9.0", + "phpunit/phpunit": "^10.4", + "psy/psysh": "^0.11.22|^0.12" }, "type": "library", "extra": { @@ -2992,7 +2994,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v2.12.6" + "source": "https://github.com/livewire/livewire/tree/v3.4.4" }, "funding": [ { @@ -3000,7 +3002,7 @@ "type": "github" } ], - "time": "2023-08-11T04:02:34+00:00" + "time": "2024-01-28T19:07:11+00:00" }, { "name": "monolog/monolog", diff --git a/config/livewire.php b/config/livewire.php new file mode 100644 index 0000000..b660277 --- /dev/null +++ b/config/livewire.php @@ -0,0 +1,159 @@ + 'App\\Http\\Livewire', + + /* + |--------------------------------------------------------------------------- + | View Path + |--------------------------------------------------------------------------- + | + | This value is used to specify where Livewire component Blade templates are + | stored when running file creation commands like `artisan make:livewire`. + | It is also used if you choose to omit a component's render() method. + | + */ + + 'view_path' => resource_path('views/livewire'), + + /* + |--------------------------------------------------------------------------- + | Layout + |--------------------------------------------------------------------------- + | The view that will be used as the layout when rendering a single component + | as an entire page via `Route::get('/post/create', CreatePost::class);`. + | In this case, the view returned by CreatePost will render into $slot. + | + */ + + 'layout' => 'layouts.app', + + /* + |--------------------------------------------------------------------------- + | Lazy Loading Placeholder + |--------------------------------------------------------------------------- + | Livewire allows you to lazy load components that would otherwise slow down + | the initial page load. Every component can have a custom placeholder or + | you can define the default placeholder view for all components below. + | + */ + + 'lazy_placeholder' => null, + + /* + |--------------------------------------------------------------------------- + | Temporary File Uploads + |--------------------------------------------------------------------------- + | + | Livewire handles file uploads by storing uploads in a temporary directory + | before the file is stored permanently. All file uploads are directed to + | a global endpoint for temporary storage. You may configure this below: + | + */ + + 'temporary_file_upload' => [ + 'disk' => null, // Example: 'local', 's3' | Default: 'default' + 'rules' => null, // Example: ['file', 'mimes:png,jpg'] | Default: ['required', 'file', 'max:12288'] (12MB) + 'directory' => null, // Example: 'tmp' | Default: 'livewire-tmp' + 'middleware' => null, // Example: 'throttle:5,1' | Default: 'throttle:60,1' + 'preview_mimes' => [ // Supported file types for temporary pre-signed file URLs... + 'png', 'gif', 'bmp', 'svg', 'wav', 'mp4', + 'mov', 'avi', 'wmv', 'mp3', 'm4a', + 'jpg', 'jpeg', 'mpga', 'webp', 'wma', + ], + 'max_upload_time' => 5, // Max duration (in minutes) before an upload is invalidated... + ], + + /* + |--------------------------------------------------------------------------- + | Render On Redirect + |--------------------------------------------------------------------------- + | + | This value determines if Livewire will run a component's `render()` method + | after a redirect has been triggered using something like `redirect(...)` + | Setting this to true will render the view once more before redirecting + | + */ + + 'render_on_redirect' => false, + + /* + |--------------------------------------------------------------------------- + | Eloquent Model Binding + |--------------------------------------------------------------------------- + | + | Previous versions of Livewire supported binding directly to eloquent model + | properties using wire:model by default. However, this behavior has been + | deemed too "magical" and has therefore been put under a feature flag. + | + */ + + 'legacy_model_binding' => false, + + /* + |--------------------------------------------------------------------------- + | Auto-inject Frontend Assets + |--------------------------------------------------------------------------- + | + | By default, Livewire automatically injects its JavaScript and CSS into the + |
and of pages containing Livewire components. By disabling + | this behavior, you need to use @livewireStyles and @livewireScripts. + | + */ + + 'inject_assets' => true, + + /* + |--------------------------------------------------------------------------- + | Navigate (SPA mode) + |--------------------------------------------------------------------------- + | + | By adding `wire:navigate` to links in your Livewire application, Livewire + | will prevent the default link handling and instead request those pages + | via AJAX, creating an SPA-like effect. Configure this behavior here. + | + */ + + 'navigate' => [ + 'show_progress_bar' => true, + 'progress_bar_color' => '#2299dd', + ], + + /* + |--------------------------------------------------------------------------- + | HTML Morph Markers + |--------------------------------------------------------------------------- + | + | Livewire intelligently "morphs" existing HTML into the newly rendered HTML + | after each update. To make this process more reliable, Livewire injects + | "markers" into the rendered Blade surrounding @if, @class & @foreach. + | + */ + + 'inject_morph_markers' => true, + + /* + |--------------------------------------------------------------------------- + | Pagination Theme + |--------------------------------------------------------------------------- + | + | When enabling Livewire's pagination feature by using the `WithPagination` + | trait, Livewire will use Tailwind templates to render pagination views + | on the page. If you want Bootstrap CSS, you can specify: "bootstrap" + | + */ + + 'pagination_theme' => 'tailwind', +]; diff --git a/public/build/assets/app-887de6f7.css b/public/build/assets/app-887de6f7.css new file mode 100644 index 0000000..b878ca9 --- /dev/null +++ b/public/build/assets/app-887de6f7.css @@ -0,0 +1 @@ +.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #ffffff;text-shadow:0 1px 0 #ffffff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{box-sizing:border-box}#toast-container>div{border-radius:.5rem;position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;background-position:15px center;background-repeat:no-repeat;color:#fff}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{cursor:pointer;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.toast-error{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.toast-info{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.toast-warning{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width: 240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width: 241px) and (max-width: 480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width: 481px) and (max-width: 768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}/*! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com*/*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e2e8f0}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#94a3b8}input::placeholder,textarea::placeholder{opacity:1;color:#94a3b8}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#64748b;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#64748b;opacity:1}input::placeholder,textarea::placeholder{color:#64748b;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#64748b;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-1{top:.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.float-right{float:right}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.-ml-px{margin-left:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.max-h-\[350px\]{max-height:350px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-full{min-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-grow{flex-grow:1}.origin-top{transform-origin:top}.origin-top-left{transform-origin:top left}.origin-top-right{transform-origin:top right}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-primary-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity: 1;border-color:rgb(129 140 248 / var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-sans{font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-0{outline-width:0px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity: .05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}[x-cloak]{display:none!important}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.hover\:text-gray-400:hover{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:opacity-50:hover{opacity:.5}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity))}.focus\:border-gray-300:focus{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity))}.focus\:border-primary-700:focus{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.focus\:border-red-700:focus{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity))}.focus\:bg-gray-100:focus{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.focus\:bg-gray-50:focus{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.focus\:bg-primary-100:focus{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity))}.focus\:text-gray-700:focus{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.focus\:text-gray-800:focus{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.focus\:text-primary-800:focus{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity))}.focus\:ring-gray-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(51 65 85 / var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\:bg-gray-100:active{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.active\:bg-primary-700:active{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.active\:bg-red-600:active{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.active\:text-gray-500:active{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.active\:text-gray-700:active{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.disabled\:opacity-25:disabled{opacity:.25}:is(.dark .dark\:border-r-2){border-right-width:2px}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(15 23 42 / var(--tw-border-opacity))}:is(.dark .dark\:border-primary-600){--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}:is(.dark .dark\:border-t-transparent){border-top-color:transparent}:is(.dark .dark\:border-opacity-20){--tw-border-opacity: .2}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1e293b80}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-500){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-900\/50){background-color:#312e8180}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-500){--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-10){--tw-bg-opacity: .1}:is(.dark .dark\:bg-opacity-20){--tw-bg-opacity: .2}:is(.dark .dark\:bg-opacity-30){--tw-bg-opacity: .3}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:text-gray-100){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary-300){--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-gray-700:hover){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-200:hover){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-gray-600:focus){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-gray-700:focus){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-300:focus){--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-600:focus){--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-700:focus){--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:bg-gray-700:focus){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:focus\:bg-primary-900:focus){--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}:is(.dark .dark\:focus\:text-gray-200:focus){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:text-gray-300:focus){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:text-primary-200:focus){--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-indigo-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(67 56 202 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-opacity-40:focus){--tw-ring-opacity: .4}:is(.dark .dark\:focus\:ring-offset-gray-800:focus){--tw-ring-offset-color: #1e293b}@media (min-width: 640px){.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:w-full{width:100%}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:flex-1{flex:1 1 0%}.sm\:translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-bl-md{border-bottom-left-radius:.375rem}.sm\:rounded-br-md{border-bottom-right-radius:.375rem}.sm\:rounded-tl-md{border-top-left-radius:.375rem}.sm\:rounded-tr-md{border-top-right-radius:.375rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:block{display:block}.md\:justify-start{justify-content:flex-start}.md\:text-left{text-align:left}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}} diff --git a/public/build/assets/app-9aa488bb.js b/public/build/assets/app-9aa488bb.js deleted file mode 100644 index a696d50..0000000 --- a/public/build/assets/app-9aa488bb.js +++ /dev/null @@ -1,24 +0,0 @@ -function Yo(e,n){return function(){return e.apply(n,arguments)}}const{toString:Ru}=Object.prototype,{getPrototypeOf:mi}=Object,Kn=(e=>n=>{const i=Ru.call(n);return e[i]||(e[i]=i.slice(8,-1).toLowerCase())})(Object.create(null)),Ge=e=>(e=e.toLowerCase(),n=>Kn(n)===e),Jn=e=>n=>typeof n===e,{isArray:Bt}=Array,pn=Jn("undefined");function Pu(e){return e!==null&&!pn(e)&&e.constructor!==null&&!pn(e.constructor)&&Be(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Zo=Ge("ArrayBuffer");function ju(e){let n;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?n=ArrayBuffer.isView(e):n=e&&e.buffer&&Zo(e.buffer),n}const Lu=Jn("string"),Be=Jn("function"),es=Jn("number"),Xn=e=>e!==null&&typeof e=="object",ku=e=>e===!0||e===!1,In=e=>{if(Kn(e)!=="object")return!1;const n=mi(e);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Mu=Ge("Date"),Iu=Ge("File"),Hu=Ge("Blob"),qu=Ge("FileList"),Fu=e=>Xn(e)&&Be(e.pipe),Bu=e=>{let n;return e&&(typeof FormData=="function"&&e instanceof FormData||Be(e.append)&&((n=Kn(e))==="formdata"||n==="object"&&Be(e.toString)&&e.toString()==="[object FormData]"))},$u=Ge("URLSearchParams"),Uu=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function yn(e,n,{allOwnKeys:i=!1}={}){if(e===null||typeof e>"u")return;let a,f;if(typeof e!="object"&&(e=[e]),Bt(e))for(a=0,f=e.length;a0&&mr(h,!m&&Se(t,"script")),b},cleanData:function(t){for(var r,o,s,c=u.event.special,l=0;(o=t[l])!==void 0;l++)if(ct(o)){if(r=o[V.expando]){if(r.events)for(s in r.events)c[s]?u.event.remove(o,s):u.removeEvent(o,s,r.handle);o[V.expando]=void 0}o[Q.expando]&&(o[Q.expando]=void 0)}}}),u.fn.extend({detach:function(t){return Zi(this,t,!0)},remove:function(t){return Zi(this,t)},text:function(t){return Ue(this,function(r){return r===void 0?u.text(this):this.empty().each(function(){(this.nodeType===1||this.nodeType===11||this.nodeType===9)&&(this.textContent=r)})},null,t,arguments.length)},append:function(){return Lt(this,arguments,function(t){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var r=Qi(this,t);r.appendChild(t)}})},prepend:function(){return Lt(this,arguments,function(t){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var r=Qi(this,t);r.insertBefore(t,r.firstChild)}})},before:function(){return Lt(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return Lt(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,r=0;(t=this[r])!=null;r++)t.nodeType===1&&(u.cleanData(Se(t,!1)),t.textContent="");return this},clone:function(t,r){return t=t??!1,r=r??t,this.map(function(){return u.clone(this,t,r)})},html:function(t){return Ue(this,function(r){var o=this[0]||{},s=0,c=this.length;if(r===void 0&&o.nodeType===1)return o.innerHTML;if(typeof r=="string"&&!Ia.test(r)&&!He[(Ki.exec(r)||["",""])[1].toLowerCase()]){r=u.htmlPrefilter(r);try{for(;s