From 8866e8438ed5cb974893c351a46d202229508106 Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Wed, 10 Jun 2026 15:14:55 +0100 Subject: [PATCH] major update --- AGENTS.md | 198 ------------ FIX_NOTES.md | 22 -- FIX_NOTES_PLATFORM_CONFIG_MENU.md | 35 --- Feature/Auth/AuthenticationTest.php | 81 ----- Feature/Auth/EmailVerificationTest.php | 88 ------ Feature/Auth/PasswordConfirmationTest.php | 21 -- Feature/Auth/PasswordResetTest.php | 81 ----- Feature/Auth/RegistrationTest.php | 41 --- Feature/Auth/TwoFactorChallengeTest.php | 42 --- Feature/DashboardTest.php | 27 -- Feature/ExampleTest.php | 18 -- Feature/Settings/ProfileUpdateTest.php | 90 ------ Feature/Settings/SecurityTest.php | 132 -------- TestCase.php | 44 --- Unit/ExampleTest.php | 16 - filament/ColumnView.stub | 3 - filament/ComponentView.stub | 3 - filament/EntryView.stub | 8 - filament/FieldView.stub | 11 - filament/LivewireFormView.stub | 11 - filament/LivewireSchemaView.stub | 5 - filament/LivewireTableView.stub | 3 - filament/PageView.stub | 3 - .../RichContentCustomBlockPreviewView.stub | 3 - filament/RichContentCustomBlockView.stub | 3 - filament/ThemeCss.stub | 4 - filament/WidgetView.stub | 5 - mcp-app-resource.stub | 24 -- mcp-app-resource.view.stub | 17 -- mcp-prompt.stub | 35 --- mcp-resource.stub | 22 -- mcp-server.stub | 26 -- mcp-tool.stub | 35 --- .../filament/anonymous-partial.blade.php | 1 - .../views/vendor/filament/assets.blade.php | 19 -- .../filament/components/actions.blade.php | 57 ---- .../filament/components/avatar.blade.php | 18 -- .../filament/components/badge.blade.php | 183 ------------ .../filament/components/breadcrumbs.blade.php | 44 --- .../components/button/group.blade.php | 3 - .../components/button/index.blade.php | 238 --------------- .../filament/components/callout.blade.php | 84 ------ .../vendor/filament/components/card.blade.php | 5 - .../components/dropdown/header.blade.php | 34 --- .../components/dropdown/index.blade.php | 66 ---- .../components/dropdown/list/index.blade.php | 3 - .../components/dropdown/list/item.blade.php | 191 ------------ .../filament/components/empty-state.blade.php | 70 ----- .../filament/components/fieldset.blade.php | 25 -- .../filament/components/icon-button.blade.php | 139 --------- .../vendor/filament/components/icon.blade.php | 7 - .../components/input/checkbox.blade.php | 26 -- .../filament/components/input/index.blade.php | 14 - .../components/input/one-time-code.blade.php | 43 --- .../filament/components/input/radio.blade.php | 14 - .../components/input/select.blade.php | 15 - .../components/input/wrapper.blade.php | 179 ----------- .../vendor/filament/components/link.blade.php | 176 ----------- .../components/loading-indicator.blade.php | 1 - .../components/loading-section.blade.php | 14 - .../components/modal/description.blade.php | 5 - .../components/modal/heading.blade.php | 5 - .../filament/components/modal/index.blade.php | 281 ------------------ .../components/pagination/index.blade.php | 208 ------------- .../components/pagination/item.blade.php | 39 --- .../components/section/description.blade.php | 5 - .../components/section/heading.blade.php | 5 - .../components/section/index.blade.php | 140 --------- .../filament/components/tabs/index.blade.php | 22 -- .../filament/components/tabs/item.blade.php | 145 --------- .../filament/components/toggle.blade.php | 67 ----- stubs/filament/ColumnView.stub | 3 - stubs/filament/ComponentView.stub | 3 - stubs/filament/EntryView.stub | 8 - stubs/filament/FieldView.stub | 11 - stubs/filament/LivewireFormView.stub | 11 - stubs/filament/LivewireSchemaView.stub | 5 - stubs/filament/LivewireTableView.stub | 3 - stubs/filament/PageView.stub | 3 - .../RichContentCustomBlockPreviewView.stub | 3 - .../filament/RichContentCustomBlockView.stub | 3 - stubs/filament/ThemeCss.stub | 4 - stubs/filament/WidgetView.stub | 5 - stubs/mcp-app-resource.stub | 24 -- stubs/mcp-app-resource.view.stub | 17 -- stubs/mcp-prompt.stub | 35 --- stubs/mcp-resource.stub | 22 -- stubs/mcp-server.stub | 26 -- stubs/mcp-tool.stub | 35 --- 89 files changed, 3969 deletions(-) delete mode 100644 AGENTS.md delete mode 100644 FIX_NOTES.md delete mode 100644 FIX_NOTES_PLATFORM_CONFIG_MENU.md delete mode 100644 Feature/Auth/AuthenticationTest.php delete mode 100644 Feature/Auth/EmailVerificationTest.php delete mode 100644 Feature/Auth/PasswordConfirmationTest.php delete mode 100644 Feature/Auth/PasswordResetTest.php delete mode 100644 Feature/Auth/RegistrationTest.php delete mode 100644 Feature/Auth/TwoFactorChallengeTest.php delete mode 100644 Feature/DashboardTest.php delete mode 100644 Feature/ExampleTest.php delete mode 100644 Feature/Settings/ProfileUpdateTest.php delete mode 100644 Feature/Settings/SecurityTest.php delete mode 100644 TestCase.php delete mode 100644 Unit/ExampleTest.php delete mode 100644 filament/ColumnView.stub delete mode 100644 filament/ComponentView.stub delete mode 100644 filament/EntryView.stub delete mode 100644 filament/FieldView.stub delete mode 100644 filament/LivewireFormView.stub delete mode 100644 filament/LivewireSchemaView.stub delete mode 100644 filament/LivewireTableView.stub delete mode 100644 filament/PageView.stub delete mode 100644 filament/RichContentCustomBlockPreviewView.stub delete mode 100644 filament/RichContentCustomBlockView.stub delete mode 100644 filament/ThemeCss.stub delete mode 100644 filament/WidgetView.stub delete mode 100644 mcp-app-resource.stub delete mode 100644 mcp-app-resource.view.stub delete mode 100644 mcp-prompt.stub delete mode 100644 mcp-resource.stub delete mode 100644 mcp-server.stub delete mode 100644 mcp-tool.stub delete mode 100644 resources/views/vendor/filament/anonymous-partial.blade.php delete mode 100644 resources/views/vendor/filament/assets.blade.php delete mode 100644 resources/views/vendor/filament/components/actions.blade.php delete mode 100644 resources/views/vendor/filament/components/avatar.blade.php delete mode 100644 resources/views/vendor/filament/components/badge.blade.php delete mode 100644 resources/views/vendor/filament/components/breadcrumbs.blade.php delete mode 100644 resources/views/vendor/filament/components/button/group.blade.php delete mode 100644 resources/views/vendor/filament/components/button/index.blade.php delete mode 100644 resources/views/vendor/filament/components/callout.blade.php delete mode 100644 resources/views/vendor/filament/components/card.blade.php delete mode 100644 resources/views/vendor/filament/components/dropdown/header.blade.php delete mode 100644 resources/views/vendor/filament/components/dropdown/index.blade.php delete mode 100644 resources/views/vendor/filament/components/dropdown/list/index.blade.php delete mode 100644 resources/views/vendor/filament/components/dropdown/list/item.blade.php delete mode 100644 resources/views/vendor/filament/components/empty-state.blade.php delete mode 100644 resources/views/vendor/filament/components/fieldset.blade.php delete mode 100644 resources/views/vendor/filament/components/icon-button.blade.php delete mode 100644 resources/views/vendor/filament/components/icon.blade.php delete mode 100644 resources/views/vendor/filament/components/input/checkbox.blade.php delete mode 100644 resources/views/vendor/filament/components/input/index.blade.php delete mode 100644 resources/views/vendor/filament/components/input/one-time-code.blade.php delete mode 100644 resources/views/vendor/filament/components/input/radio.blade.php delete mode 100644 resources/views/vendor/filament/components/input/select.blade.php delete mode 100644 resources/views/vendor/filament/components/input/wrapper.blade.php delete mode 100644 resources/views/vendor/filament/components/link.blade.php delete mode 100644 resources/views/vendor/filament/components/loading-indicator.blade.php delete mode 100644 resources/views/vendor/filament/components/loading-section.blade.php delete mode 100644 resources/views/vendor/filament/components/modal/description.blade.php delete mode 100644 resources/views/vendor/filament/components/modal/heading.blade.php delete mode 100644 resources/views/vendor/filament/components/modal/index.blade.php delete mode 100644 resources/views/vendor/filament/components/pagination/index.blade.php delete mode 100644 resources/views/vendor/filament/components/pagination/item.blade.php delete mode 100644 resources/views/vendor/filament/components/section/description.blade.php delete mode 100644 resources/views/vendor/filament/components/section/heading.blade.php delete mode 100644 resources/views/vendor/filament/components/section/index.blade.php delete mode 100644 resources/views/vendor/filament/components/tabs/index.blade.php delete mode 100644 resources/views/vendor/filament/components/tabs/item.blade.php delete mode 100644 resources/views/vendor/filament/components/toggle.blade.php delete mode 100644 stubs/filament/ColumnView.stub delete mode 100644 stubs/filament/ComponentView.stub delete mode 100644 stubs/filament/EntryView.stub delete mode 100644 stubs/filament/FieldView.stub delete mode 100644 stubs/filament/LivewireFormView.stub delete mode 100644 stubs/filament/LivewireSchemaView.stub delete mode 100644 stubs/filament/LivewireTableView.stub delete mode 100644 stubs/filament/PageView.stub delete mode 100644 stubs/filament/RichContentCustomBlockPreviewView.stub delete mode 100644 stubs/filament/RichContentCustomBlockView.stub delete mode 100644 stubs/filament/ThemeCss.stub delete mode 100644 stubs/filament/WidgetView.stub delete mode 100644 stubs/mcp-app-resource.stub delete mode 100644 stubs/mcp-app-resource.view.stub delete mode 100644 stubs/mcp-prompt.stub delete mode 100644 stubs/mcp-resource.stub delete mode 100644 stubs/mcp-server.stub delete mode 100644 stubs/mcp-tool.stub diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index a5325d82..00000000 --- a/AGENTS.md +++ /dev/null @@ -1,198 +0,0 @@ - -=== foundation rules === - -# Laravel Boost Guidelines - -The Laravel Boost guidelines are specifically curated by Laravel maintainers for this application. These guidelines should be followed closely to ensure the best experience when building Laravel applications. - -## Foundational Context - -This application is a Laravel application and its main Laravel ecosystems package & versions are below. You are an expert with them all. Ensure you abide by these specific packages & versions. - -- php - 8.3 -- filament/filament (FILAMENT) - v5 -- laravel/breeze (BREEZE) - v2 -- laravel/fortify (FORTIFY) - v1 -- laravel/framework (LARAVEL) - v13 -- laravel/horizon (HORIZON) - v5 -- laravel/octane (OCTANE) - v2 -- laravel/prompts (PROMPTS) - v0 -- livewire/flux (FLUXUI_FREE) - v2 -- livewire/livewire (LIVEWIRE) - v4 -- laravel/boost (BOOST) - v2 -- laravel/mcp (MCP) - v0 -- laravel/pail (PAIL) - v1 -- laravel/pint (PINT) - v1 -- laravel/sail (SAIL) - v1 -- phpunit/phpunit (PHPUNIT) - v12 -- tailwindcss (TAILWINDCSS) - v4 - -## Skills Activation - -This project has domain-specific skills available in `**/skills/**`. You MUST activate the relevant skill whenever you work in that domain—don't wait until you're stuck. - -## Conventions - -- You must follow all existing code conventions used in this application. When creating or editing a file, check sibling files for the correct structure, approach, and naming. -- Use descriptive names for variables and methods. For example, `isRegisteredForDiscounts`, not `discount()`. -- Check for existing components to reuse before writing a new one. - -## Verification Scripts - -- Do not create verification scripts or tinker when tests cover that functionality and prove they work. Unit and feature tests are more important. - -## Application Structure & Architecture - -- Stick to existing directory structure; don't create new base folders without approval. -- Do not change the application's dependencies without approval. - -## Frontend Bundling - -- If the user doesn't see a frontend change reflected in the UI, it could mean they need to run `npm run build`, `npm run dev`, or `composer run dev`. Ask them. - -## Documentation Files - -- You must only create documentation files if explicitly requested by the user. - -## Replies - -- Be concise in your explanations - focus on what's important rather than explaining obvious details. - -=== boost rules === - -# Laravel Boost - -## Tools - -- Laravel Boost is an MCP server with tools designed specifically for this application. Prefer Boost tools over manual alternatives like shell commands or file reads. -- Use `database-query` to run read-only queries against the database instead of writing raw SQL in tinker. -- Use `database-schema` to inspect table structure before writing migrations or models. -- Use `get-absolute-url` to resolve the correct scheme, domain, and port for project URLs. Always use this before sharing a URL with the user. -- Use `browser-logs` to read browser logs, errors, and exceptions. Only recent logs are useful, ignore old entries. - -## Searching Documentation (IMPORTANT) - -- Always use `search-docs` before making code changes. Do not skip this step. It returns version-specific docs based on installed packages automatically. -- Pass a `packages` array to scope results when you know which packages are relevant. -- Use multiple broad, topic-based queries: `['rate limiting', 'routing rate limiting', 'routing']`. Expect the most relevant results first. -- Do not add package names to queries because package info is already shared. Use `test resource table`, not `filament 4 test resource table`. - -### Search Syntax - -1. Use words for auto-stemmed AND logic: `rate limit` matches both "rate" AND "limit". -2. Use `"quoted phrases"` for exact position matching: `"infinite scroll"` requires adjacent words in order. -3. Combine words and phrases for mixed queries: `middleware "rate limit"`. -4. Use multiple queries for OR logic: `queries=["authentication", "middleware"]`. - -## Artisan - -- Run Artisan commands directly via the command line (e.g., `php artisan route:list`). Use `php artisan list` to discover available commands and `php artisan [command] --help` to check parameters. -- Inspect routes with `php artisan route:list`. Filter with: `--method=GET`, `--name=users`, `--path=api`, `--except-vendor`, `--only-vendor`. -- Read configuration values using dot notation: `php artisan config:show app.name`, `php artisan config:show database.default`. Or read config files directly from the `config/` directory. - -## Tinker - -- Execute PHP in app context for debugging and testing code. Do not create models without user approval, prefer tests with factories instead. Prefer existing Artisan commands over custom tinker code. -- Always use single quotes to prevent shell expansion: `php artisan tinker --execute 'Your::code();'` - - Double quotes for PHP strings inside: `php artisan tinker --execute 'User::where("active", true)->count();'` - -=== php rules === - -# PHP - -- Always use curly braces for control structures, even for single-line bodies. -- Use PHP 8 constructor property promotion: `public function __construct(public GitHub $github) { }`. Do not leave empty zero-parameter `__construct()` methods unless the constructor is private. -- Use explicit return type declarations and type hints for all method parameters: `function isAccessible(User $user, ?string $path = null): bool` -- Use TitleCase for Enum keys: `FavoritePerson`, `BestLake`, `Monthly`. -- Prefer PHPDoc blocks over inline comments. Only add inline comments for exceptionally complex logic. -- Use array shape type definitions in PHPDoc blocks. - -=== deployments rules === - -# Deployment - -- Laravel can be deployed using [Laravel Cloud](https://cloud.laravel.com/), which is the fastest way to deploy and scale production Laravel applications. - -=== tests rules === - -# Test Enforcement - -- Every change must be programmatically tested. Write a new test or update an existing test, then run the affected tests to make sure they pass. -- Run the minimum number of tests needed to ensure code quality and speed. Use `php artisan test --compact` with a specific filename or filter. - -=== laravel/core rules === - -# Do Things the Laravel Way - -- Use `php artisan make:` commands to create new files (i.e. migrations, controllers, models, etc.). You can list available Artisan commands using `php artisan list` and check their parameters with `php artisan [command] --help`. -- If you're creating a generic PHP class, use `php artisan make:class`. -- Pass `--no-interaction` to all Artisan commands to ensure they work without user input. You should also pass the correct `--options` to ensure correct behavior. - -### Model Creation - -- When creating new models, create useful factories and seeders for them too. Ask the user if they need any other things, using `php artisan make:model --help` to check the available options. - -## APIs & Eloquent Resources - -- For APIs, default to using Eloquent API Resources and API versioning unless existing API routes do not, then you should follow existing application convention. - -## URL Generation - -- When generating links to other pages, prefer named routes and the `route()` function. - -## Testing - -- When creating models for tests, use the factories for the models. Check if the factory has custom states that can be used before manually setting up the model. -- Faker: Use methods such as `$this->faker->word()` or `fake()->randomDigit()`. Follow existing conventions whether to use `$this->faker` or `fake()`. -- When creating tests, make use of `php artisan make:test [options] {name}` to create a feature test, and pass `--unit` to create a unit test. Most tests should be feature tests. - -## Vite Error - -- If you receive an "Illuminate\Foundation\ViteException: Unable to locate file in Vite manifest" error, you can run `npm run build` or ask the user to run `npm run dev` or `composer run dev`. - -=== octane/core rules === - -# Laravel Octane - -This application uses Laravel Octane, a long-running PHP server. The application bootstraps once and handles many requests within the same process. - -- Never store request-specific state in singletons or static properties, because it can leak across requests. -- Use `config('octane.server')` to detect the active driver (`swoole`, `roadrunner`, or `frankenphp`). -- Prefer scoped bindings (`$this->app->scoped()`) over singletons for per-request services. - -When working on Octane-specific features (concurrency, shared tables, memory, driver configuration, testing), invoke `octane-development` for detailed rules. - -=== livewire/core rules === - -# Livewire - -- Livewire allow to build dynamic, reactive interfaces in PHP without writing JavaScript. -- You can use Alpine.js for client-side interactions instead of JavaScript frameworks. -- Keep state server-side so the UI reflects it. Validate and authorize in actions as you would in HTTP requests. - -=== pint/core rules === - -# Laravel Pint Code Formatter - -- If you have modified any PHP files, you must run `vendor/bin/pint --dirty --format agent` before finalizing changes to ensure your code matches the project's expected style. -- Do not run `vendor/bin/pint --test --format agent`, simply run `vendor/bin/pint --format agent` to fix any formatting issues. - -=== phpunit/core rules === - -# PHPUnit - -- This application uses PHPUnit for testing. All tests must be written as PHPUnit classes. Use `php artisan make:test --phpunit {name}` to create a new test. -- If you see a test using "Pest", convert it to PHPUnit. -- Every time a test has been updated, run that singular test. -- When the tests relating to your feature are passing, ask the user if they would like to also run the entire test suite to make sure everything is still passing. -- Tests should cover all happy paths, failure paths, and edge cases. -- You must not remove any tests or test files from the tests directory without approval. These are not temporary or helper files; these are core to the application. - -## Running Tests - -- Run the minimal number of tests, using an appropriate filter, before finalizing. -- To run all tests: `php artisan test --compact`. -- To run all tests in a file: `php artisan test --compact tests/Feature/ExampleTest.php`. -- To filter on a particular test name: `php artisan test --compact --filter=testName` (recommended after making a change to a related file). - - diff --git a/FIX_NOTES.md b/FIX_NOTES.md deleted file mode 100644 index d31575b3..00000000 --- a/FIX_NOTES.md +++ /dev/null @@ -1,22 +0,0 @@ -# WMS Fix Notes - -This build patches only the current uploaded code. - -## Fixed - -- Duplicate two-factor migration made safe. -- Primary two-factor migration adds columns one at a time for SQLite safety. -- Module page slot is wrapped in a visible `.wms-content` main container. -- Sidebar remains traditional: desktop/tablet icon rail, mobile drawer. -- Sidebar widened for "Warehouse Management System". -- Laravel cache folders are included so "Please provide a valid cache path" does not recur after unzip. - -## After unzip - -```bash -composer install -npm install -php artisan optimize:clear -php artisan test -npm run build -``` diff --git a/FIX_NOTES_PLATFORM_CONFIG_MENU.md b/FIX_NOTES_PLATFORM_CONFIG_MENU.md deleted file mode 100644 index da2a0f0b..00000000 --- a/FIX_NOTES_PLATFORM_CONFIG_MENU.md +++ /dev/null @@ -1,35 +0,0 @@ -# Platform config and module menu fix - -Applied fixes: - -- Added `Modules/Platform/config/platform.php`. -- Hardened `Modules/Platform/Providers/PlatformServiceProvider.php` so config loading is safe. -- Removed stale generated files from `bootstrap/cache`. -- Updated `resources/views/layouts/app.blade.php` so it works for both: - - component pages using `` - - legacy placeholder module pages using `@extends('layouts.app')` and `@section('content')` -- Added placeholder module entries to the left navigation: - - Inventory Management - - Shipping - - Carrier Management - - Transportation - - Replenishment - - M3 Integration - - Document Archive - - Analytics - - Reporting - - Audit - - Security - - Configuration -- Added compatibility CSS for the placeholder module pages that use Bootstrap-style classes. -- Ensured cache/runtime directories exist. - -Run: - -```bash -composer install -npm install -php artisan optimize:clear -php artisan test -npm run build -``` diff --git a/Feature/Auth/AuthenticationTest.php b/Feature/Auth/AuthenticationTest.php deleted file mode 100644 index 49e27d17..00000000 --- a/Feature/Auth/AuthenticationTest.php +++ /dev/null @@ -1,81 +0,0 @@ -get(route('login')); - - $response->assertOk(); - } - - public function test_users_can_authenticate_using_the_login_screen(): void - { - $user = User::factory()->create(); - - $response = $this->csrfPost(route('login.store'), [ - 'email' => $user->email, - 'password' => 'password', - ]); - - $response - ->assertSessionHasNoErrors() - ->assertRedirect(route('dashboard', absolute: false)); - - $this->assertAuthenticated(); - } - - public function test_users_can_not_authenticate_with_invalid_password(): void - { - $user = User::factory()->create(); - - $response = $this->csrfPost(route('login.store'), [ - 'email' => $user->email, - 'password' => 'wrong-password', - ]); - - $response->assertSessionHasErrorsIn('email'); - - $this->assertGuest(); - } - - public function test_users_with_two_factor_enabled_are_redirected_to_two_factor_challenge(): void - { - $this->skipUnlessFortifyHas(Features::twoFactorAuthentication()); - - Features::twoFactorAuthentication([ - 'confirm' => true, - 'confirmPassword' => true, - ]); - - $user = User::factory()->withTwoFactor()->create(); - - $response = $this->csrfPost(route('login.store'), [ - 'email' => $user->email, - 'password' => 'password', - ]); - - $response->assertRedirect(route('two-factor.login')); - $this->assertGuest(); - } - - public function test_users_can_logout(): void - { - $user = User::factory()->create(); - - $response = $this->actingAs($user)->csrfPost(route('logout')); - - $response->assertRedirect(route('home')); - - $this->assertGuest(); - } -} diff --git a/Feature/Auth/EmailVerificationTest.php b/Feature/Auth/EmailVerificationTest.php deleted file mode 100644 index c434b63a..00000000 --- a/Feature/Auth/EmailVerificationTest.php +++ /dev/null @@ -1,88 +0,0 @@ -skipUnlessFortifyHas(Features::emailVerification()); - } - - public function test_email_verification_screen_can_be_rendered(): void - { - $user = User::factory()->unverified()->create(); - - $response = $this->actingAs($user)->get(route('verification.notice')); - - $response->assertOk(); - } - - public function test_email_can_be_verified(): void - { - $user = User::factory()->unverified()->create(); - - Event::fake(); - - $verificationUrl = URL::temporarySignedRoute( - 'verification.verify', - now()->addMinutes(60), - ['id' => $user->id, 'hash' => sha1($user->email)], - ); - - $response = $this->actingAs($user)->get($verificationUrl); - - Event::assertDispatched(Verified::class); - - $this->assertTrue($user->fresh()->hasVerifiedEmail()); - $response->assertRedirect(route('dashboard', absolute: false).'?verified=1'); - } - - public function test_email_is_not_verified_with_invalid_hash(): void - { - $user = User::factory()->unverified()->create(); - - $verificationUrl = URL::temporarySignedRoute( - 'verification.verify', - now()->addMinutes(60), - ['id' => $user->id, 'hash' => sha1('wrong-email')], - ); - - $this->actingAs($user)->get($verificationUrl); - - $this->assertFalse($user->fresh()->hasVerifiedEmail()); - } - - public function test_already_verified_user_visiting_verification_link_is_redirected_without_firing_event_again(): void - { - $user = User::factory()->create([ - 'email_verified_at' => now(), - ]); - - Event::fake(); - - $verificationUrl = URL::temporarySignedRoute( - 'verification.verify', - now()->addMinutes(60), - ['id' => $user->id, 'hash' => sha1($user->email)], - ); - - $this->actingAs($user)->get($verificationUrl) - ->assertRedirect(route('dashboard', absolute: false).'?verified=1'); - - $this->assertTrue($user->fresh()->hasVerifiedEmail()); - Event::assertNotDispatched(Verified::class); - } -} diff --git a/Feature/Auth/PasswordConfirmationTest.php b/Feature/Auth/PasswordConfirmationTest.php deleted file mode 100644 index b86e36c1..00000000 --- a/Feature/Auth/PasswordConfirmationTest.php +++ /dev/null @@ -1,21 +0,0 @@ -create(); - - $response = $this->actingAs($user)->get(route('password.confirm')); - - $response->assertOk(); - } -} diff --git a/Feature/Auth/PasswordResetTest.php b/Feature/Auth/PasswordResetTest.php deleted file mode 100644 index 93673ed8..00000000 --- a/Feature/Auth/PasswordResetTest.php +++ /dev/null @@ -1,81 +0,0 @@ -skipUnlessFortifyHas(Features::resetPasswords()); - } - - public function test_reset_password_link_screen_can_be_rendered(): void - { - $response = $this->get(route('password.request')); - - $response->assertOk(); - } - - public function test_reset_password_link_can_be_requested(): void - { - Notification::fake(); - - $user = User::factory()->create(); - - $this->csrfPost(route('password.email'), ['email' => $user->email]); - - Notification::assertSentTo($user, ResetPassword::class); - } - - public function test_reset_password_screen_can_be_rendered(): void - { - Notification::fake(); - - $user = User::factory()->create(); - - $this->csrfPost(route('password.email'), ['email' => $user->email]); - - Notification::assertSentTo($user, ResetPassword::class, function ($notification) { - $response = $this->get(route('password.reset', $notification->token)); - - $response->assertOk(); - - return true; - }); - } - - public function test_password_can_be_reset_with_valid_token(): void - { - Notification::fake(); - - $user = User::factory()->create(); - - $this->csrfPost(route('password.email'), ['email' => $user->email]); - - Notification::assertSentTo($user, ResetPassword::class, function ($notification) use ($user) { - $response = $this->csrfPost(route('password.update'), [ - 'token' => $notification->token, - 'email' => $user->email, - 'password' => 'password', - 'password_confirmation' => 'password', - ]); - - $response - ->assertSessionHasNoErrors() - ->assertRedirect(route('login', absolute: false)); - - return true; - }); - } -} diff --git a/Feature/Auth/RegistrationTest.php b/Feature/Auth/RegistrationTest.php deleted file mode 100644 index 7837d049..00000000 --- a/Feature/Auth/RegistrationTest.php +++ /dev/null @@ -1,41 +0,0 @@ -skipUnlessFortifyHas(Features::registration()); - } - - public function test_registration_screen_can_be_rendered(): void - { - $response = $this->get(route('register')); - - $response->assertOk(); - } - - public function test_new_users_can_register(): void - { - $response = $this->csrfPost(route('register.store'), [ - 'name' => 'John Doe', - 'email' => 'test@example.com', - 'password' => 'password', - 'password_confirmation' => 'password', - ]); - - $response->assertSessionHasNoErrors() - ->assertRedirect(route('dashboard', absolute: false)); - - $this->assertAuthenticated(); - } -} diff --git a/Feature/Auth/TwoFactorChallengeTest.php b/Feature/Auth/TwoFactorChallengeTest.php deleted file mode 100644 index a8fc8aef..00000000 --- a/Feature/Auth/TwoFactorChallengeTest.php +++ /dev/null @@ -1,42 +0,0 @@ -skipUnlessFortifyHas(Features::twoFactorAuthentication()); - } - - public function test_two_factor_challenge_redirects_to_login_when_not_authenticated(): void - { - $response = $this->get(route('two-factor.login')); - - $response->assertRedirect(route('login')); - } - - public function test_two_factor_challenge_can_be_rendered(): void - { - Features::twoFactorAuthentication([ - 'confirm' => true, - 'confirmPassword' => true, - ]); - - $user = User::factory()->withTwoFactor()->create(); - - $this->csrfPost(route('login.store'), [ - 'email' => $user->email, - 'password' => 'password', - ])->assertRedirect(route('two-factor.login')); - } -} diff --git a/Feature/DashboardTest.php b/Feature/DashboardTest.php deleted file mode 100644 index 3c5cd7da..00000000 --- a/Feature/DashboardTest.php +++ /dev/null @@ -1,27 +0,0 @@ -get(route('dashboard')); - $response->assertRedirect(route('login')); - } - - public function test_authenticated_users_can_visit_the_dashboard(): void - { - $user = User::factory()->create(); - $this->actingAs($user); - - $response = $this->get(route('dashboard')); - $response->assertOk(); - } -} diff --git a/Feature/ExampleTest.php b/Feature/ExampleTest.php deleted file mode 100644 index 70d12f02..00000000 --- a/Feature/ExampleTest.php +++ /dev/null @@ -1,18 +0,0 @@ -get(route('home')); - - $response->assertOk(); - } -} diff --git a/Feature/Settings/ProfileUpdateTest.php b/Feature/Settings/ProfileUpdateTest.php deleted file mode 100644 index fccf19fd..00000000 --- a/Feature/Settings/ProfileUpdateTest.php +++ /dev/null @@ -1,90 +0,0 @@ -actingAs($user = User::factory()->create()); - - $this->get('/settings/profile')->assertOk(); - } - - public function test_profile_information_can_be_updated(): void - { - $user = User::factory()->create(); - - $this->actingAs($user); - - $response = Livewire::test(Profile::class) - ->set('name', 'Test User') - ->set('email', 'test@example.com') - ->call('updateProfileInformation'); - - $response->assertHasNoErrors(); - - $user->refresh(); - - $this->assertEquals('Test User', $user->name); - $this->assertEquals('test@example.com', $user->email); - $this->assertNull($user->email_verified_at); - } - - public function test_email_verification_status_is_unchanged_when_email_address_is_unchanged(): void - { - $user = User::factory()->create(); - - $this->actingAs($user); - - $response = Livewire::test(Profile::class) - ->set('name', 'Test User') - ->set('email', $user->email) - ->call('updateProfileInformation'); - - $response->assertHasNoErrors(); - - $this->assertNotNull($user->refresh()->email_verified_at); - } - - public function test_user_can_delete_their_account(): void - { - $user = User::factory()->create(); - - $this->actingAs($user); - - $response = Livewire::test('settings.delete-user-form') - ->set('password', 'password') - ->call('deleteUser'); - - $response - ->assertHasNoErrors() - ->assertRedirect('/'); - - $this->assertNull($user->fresh()); - $this->assertFalse(auth()->check()); - } - - public function test_correct_password_must_be_provided_to_delete_account(): void - { - $user = User::factory()->create(); - - $this->actingAs($user); - - $response = Livewire::test('settings.delete-user-form') - ->set('password', 'wrong-password') - ->call('deleteUser'); - - $response->assertHasErrors(['password']); - - $this->assertNotNull($user->fresh()); - } -} diff --git a/Feature/Settings/SecurityTest.php b/Feature/Settings/SecurityTest.php deleted file mode 100644 index 9bbb7ead..00000000 --- a/Feature/Settings/SecurityTest.php +++ /dev/null @@ -1,132 +0,0 @@ -skipUnlessFortifyHas(Features::twoFactorAuthentication()); - - Features::twoFactorAuthentication([ - 'confirm' => true, - 'confirmPassword' => true, - ]); - Features::passkeys([ - 'confirmPassword' => true, - ]); - } - - public function test_security_settings_page_can_be_rendered(): void - { - $user = User::factory()->create(); - - $response = $this->actingAs($user) - ->withSession(['auth.password_confirmed_at' => time()]) - ->get(route('security.edit')); - - $response->assertOk(); - - $response->assertSee('Passkeys'); - $response->assertSee('No passkeys yet'); - $response->assertSee('Two-factor authentication'); - $response->assertSee('Enable 2FA'); - } - - public function test_security_settings_page_requires_password_confirmation_when_enabled(): void - { - $user = User::factory()->create(); - - $response = $this->actingAs($user) - ->get(route('security.edit')); - - $response->assertRedirect(route('password.confirm')); - } - - public function test_security_settings_page_renders_without_two_factor_when_feature_is_disabled(): void - { - config(['fortify.features' => []]); - - $user = User::factory()->create(); - - $this->actingAs($user) - ->withSession(['auth.password_confirmed_at' => time()]) - ->get(route('security.edit')) - ->assertOk() - ->assertSee('Update password') - ->assertDontSee('Manage your passkeys for passwordless sign-in') - ->assertDontSee('Add a passkey to sign in without a password') - ->assertDontSee('Two-factor authentication'); - } - - public function test_two_factor_authentication_disabled_when_confirmation_abandoned_between_requests(): void - { - $user = User::factory()->create(); - - $user->forceFill([ - 'two_factor_secret' => encrypt('test-secret'), - 'two_factor_recovery_codes' => encrypt(json_encode(['code1', 'code2'])), - 'two_factor_confirmed_at' => null, - ])->save(); - - $this->actingAs($user); - - $component = Livewire::test(Security::class); - - $component->assertSet('twoFactorEnabled', false); - - $this->assertDatabaseHas('users', [ - 'id' => $user->id, - 'two_factor_secret' => null, - 'two_factor_recovery_codes' => null, - ]); - } - - public function test_password_can_be_updated(): void - { - $user = User::factory()->create([ - 'password' => Hash::make('password'), - ]); - - $this->actingAs($user); - - $response = Livewire::test(Security::class) - ->set('current_password', 'password') - ->set('password', 'new-password') - ->set('password_confirmation', 'new-password') - ->call('updatePassword'); - - $response->assertHasNoErrors(); - - $this->assertTrue(Hash::check('new-password', $user->refresh()->password)); - } - - public function test_correct_password_must_be_provided_to_update_password(): void - { - $user = User::factory()->create([ - 'password' => Hash::make('password'), - ]); - - $this->actingAs($user); - - $response = Livewire::test(Security::class) - ->set('current_password', 'wrong-password') - ->set('password', 'new-password') - ->set('password_confirmation', 'new-password') - ->call('updatePassword'); - - $response->assertHasErrors(['current_password']); - } -} diff --git a/TestCase.php b/TestCase.php deleted file mode 100644 index 78677242..00000000 --- a/TestCase.php +++ /dev/null @@ -1,44 +0,0 @@ - false, - 'session.driver' => 'array', - 'cache.default' => 'array', - 'mail.default' => 'array', - ]); - - $this->withoutMiddleware(ValidateCsrfToken::class); - } - - /** - * POST with a real CSRF token for Fortify/web form tests. - * - * @param array $data - */ - protected function csrfPost(string $uri, array $data = []): \Illuminate\Testing\TestResponse - { - $token = 'test-csrf-token'; - - return $this->withSession(['_token' => $token]) - ->post($uri, ['_token' => $token, ...$data]); - } - - protected function skipUnlessFortifyHas(string $feature, ?string $message = null): void - { - if (! Features::enabled($feature)) { - $this->markTestSkipped($message ?? "Fortify feature [{$feature}] is not enabled."); - } - } -} diff --git a/Unit/ExampleTest.php b/Unit/ExampleTest.php deleted file mode 100644 index e93a27fa..00000000 --- a/Unit/ExampleTest.php +++ /dev/null @@ -1,16 +0,0 @@ -assertTrue(true); - } -} diff --git a/filament/ColumnView.stub b/filament/ColumnView.stub deleted file mode 100644 index a9e74304..00000000 --- a/filament/ColumnView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
- {{ $getState() }} -
diff --git a/filament/ComponentView.stub b/filament/ComponentView.stub deleted file mode 100644 index 20ec68fe..00000000 --- a/filament/ComponentView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
- {{-- Use $getChildSchema() to render the child schema() of this component. --}} -
diff --git a/filament/EntryView.stub b/filament/EntryView.stub deleted file mode 100644 index e3e5f53a..00000000 --- a/filament/EntryView.stub +++ /dev/null @@ -1,8 +0,0 @@ - -
- {{ $getState() }} -
-
diff --git a/filament/FieldView.stub b/filament/FieldView.stub deleted file mode 100644 index a8c9a008..00000000 --- a/filament/FieldView.stub +++ /dev/null @@ -1,11 +0,0 @@ - -
- {{-- Interact with the `state` property in Alpine.js --}} -
-
diff --git a/filament/LivewireFormView.stub b/filament/LivewireFormView.stub deleted file mode 100644 index bdddb320..00000000 --- a/filament/LivewireFormView.stub +++ /dev/null @@ -1,11 +0,0 @@ -
-
- {{ $this->form }} - - -
- - -
diff --git a/filament/LivewireSchemaView.stub b/filament/LivewireSchemaView.stub deleted file mode 100644 index 5507edb5..00000000 --- a/filament/LivewireSchemaView.stub +++ /dev/null @@ -1,5 +0,0 @@ -
- {{ $this->content }} - - -
diff --git a/filament/LivewireTableView.stub b/filament/LivewireTableView.stub deleted file mode 100644 index c3fedc4a..00000000 --- a/filament/LivewireTableView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
- {{ $this->table }} -
diff --git a/filament/PageView.stub b/filament/PageView.stub deleted file mode 100644 index bb8ed159..00000000 --- a/filament/PageView.stub +++ /dev/null @@ -1,3 +0,0 @@ - - {{-- Page content --}} - diff --git a/filament/RichContentCustomBlockPreviewView.stub b/filament/RichContentCustomBlockPreviewView.stub deleted file mode 100644 index cd3a0532..00000000 --- a/filament/RichContentCustomBlockPreviewView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
- {{-- Custom block preview --}} -
diff --git a/filament/RichContentCustomBlockView.stub b/filament/RichContentCustomBlockView.stub deleted file mode 100644 index eb70f329..00000000 --- a/filament/RichContentCustomBlockView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
- {{-- Custom block --}} -
diff --git a/filament/ThemeCss.stub b/filament/ThemeCss.stub deleted file mode 100644 index 91c829b1..00000000 --- a/filament/ThemeCss.stub +++ /dev/null @@ -1,4 +0,0 @@ -@import '../../../../vendor/filament/filament/resources/css/theme.css'; - -@source '../../../../app/Filament/{{ classDirectory }}**/*'; -@source '../../../../resources/views/filament/{{ viewDirectory }}**/*'; diff --git a/filament/WidgetView.stub b/filament/WidgetView.stub deleted file mode 100644 index 784d725c..00000000 --- a/filament/WidgetView.stub +++ /dev/null @@ -1,5 +0,0 @@ - - - {{-- Widget content --}} - - diff --git a/mcp-app-resource.stub b/mcp-app-resource.stub deleted file mode 100644 index c845ab68..00000000 --- a/mcp-app-resource.stub +++ /dev/null @@ -1,24 +0,0 @@ - $this->title(), - ]); - } -} diff --git a/mcp-app-resource.view.stub b/mcp-app-resource.view.stub deleted file mode 100644 index 2117c61c..00000000 --- a/mcp-app-resource.view.stub +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -
- -

-
-
diff --git a/mcp-prompt.stub b/mcp-prompt.stub deleted file mode 100644 index f9bb38c6..00000000 --- a/mcp-prompt.stub +++ /dev/null @@ -1,35 +0,0 @@ - - */ - public function arguments(): array - { - return [ - // - ]; - } -} diff --git a/mcp-resource.stub b/mcp-resource.stub deleted file mode 100644 index 62cd6828..00000000 --- a/mcp-resource.stub +++ /dev/null @@ -1,22 +0,0 @@ - - */ - public function schema(JsonSchema $schema): array - { - return [ - // - ]; - } -} diff --git a/resources/views/vendor/filament/anonymous-partial.blade.php b/resources/views/vendor/filament/anonymous-partial.blade.php deleted file mode 100644 index e588c8dc..00000000 --- a/resources/views/vendor/filament/anonymous-partial.blade.php +++ /dev/null @@ -1 +0,0 @@ -{!! value($html) !!} diff --git a/resources/views/vendor/filament/assets.blade.php b/resources/views/vendor/filament/assets.blade.php deleted file mode 100644 index 11de7717..00000000 --- a/resources/views/vendor/filament/assets.blade.php +++ /dev/null @@ -1,19 +0,0 @@ -@if (isset($data)) - -@endif - -@foreach ($assets as $asset) - @if (! $asset->isLoadedOnRequest()) - {{ $asset->getHtml() }} - @endif -@endforeach - - diff --git a/resources/views/vendor/filament/components/actions.blade.php b/resources/views/vendor/filament/components/actions.blade.php deleted file mode 100644 index aee116b2..00000000 --- a/resources/views/vendor/filament/components/actions.blade.php +++ /dev/null @@ -1,57 +0,0 @@ -@php - use Filament\Support\Enums\Alignment; -@endphp - -@props([ - 'actions' => [], - 'alignment' => Alignment::Start, - 'fullWidth' => false, -]) - -@php - if (is_array($actions)) { - $actions = array_filter( - $actions, - fn ($action): bool => $action->isVisible(), - ); - } - - if (! $alignment instanceof Alignment) { - $alignment = filled($alignment) ? (Alignment::tryFrom($alignment) ?? $alignment) : null; - } - - $hasActions = false; - - $hasSlot = ! \Filament\Support\is_slot_empty($slot); - $actionsAreHtmlable = $actions instanceof \Illuminate\Contracts\Support\Htmlable; - - if ($hasSlot) { - $hasActions = true; - } elseif ($actionsAreHtmlable) { - $hasActions = ! \Filament\Support\is_slot_empty($actions); - } else { - $hasActions = filled($actions); - } -@endphp - -@if ($hasActions) -
class([ - 'fi-ac', - 'fi-width-full' => $fullWidth, - ($alignment instanceof Alignment) ? "fi-align-{$alignment->value}" : (is_string($alignment) ? $alignment : null) => ! $fullWidth, - ]) - }} - > - @if ($hasSlot) - {{ $slot }} - @elseif ($actionsAreHtmlable) - {{ $actions }} - @else - @foreach ($actions as $action) - {{ $action }} - @endforeach - @endif -
-@endif diff --git a/resources/views/vendor/filament/components/avatar.blade.php b/resources/views/vendor/filament/components/avatar.blade.php deleted file mode 100644 index 657eba00..00000000 --- a/resources/views/vendor/filament/components/avatar.blade.php +++ /dev/null @@ -1,18 +0,0 @@ -@props([ - 'circular' => true, - 'size' => 'md', -]) - -class([ - 'fi-avatar', - 'fi-circular' => $circular, - match ($size) { - 'sm', 'md', 'lg' => "fi-size-{$size}", - default => $size, - }, - ]) - }} -/> diff --git a/resources/views/vendor/filament/components/badge.blade.php b/resources/views/vendor/filament/components/badge.blade.php deleted file mode 100644 index dd004684..00000000 --- a/resources/views/vendor/filament/components/badge.blade.php +++ /dev/null @@ -1,183 +0,0 @@ -@php - use Filament\Support\Enums\IconPosition; - use Filament\Support\Enums\IconSize; - use Filament\Support\Enums\Size; - use Filament\Support\View\Components\BadgeComponent; - use Illuminate\View\ComponentAttributeBag; -@endphp - -@props([ - 'color' => 'primary', - 'deleteButton' => null, - 'disabled' => false, - 'form' => null, - 'formId' => null, - 'href' => null, - 'icon' => null, - 'iconAlias' => null, - 'iconPosition' => IconPosition::Before, - 'iconSize' => null, - 'keyBindings' => null, - 'loadingIndicator' => true, - 'size' => Size::Medium, - 'spaMode' => null, - 'tag' => 'span', - 'target' => null, - 'tooltip' => null, - 'type' => 'button', -]) - -@php - if (! $iconPosition instanceof IconPosition) { - $iconPosition = filled($iconPosition) ? (IconPosition::tryFrom($iconPosition) ?? $iconPosition) : null; - } - - if (! $size instanceof Size) { - $size = filled($size) ? (Size::tryFrom($size) ?? $size) : null; - } - - if (filled($iconSize) && (! $iconSize instanceof IconSize)) { - $iconSize = IconSize::tryFrom($iconSize) ?? $iconSize; - } - - $isDeletable = count($deleteButton?->attributes->getAttributes() ?? []) > 0; - - $wireTarget = $loadingIndicator ? $attributes->whereStartsWith(['wire:target', 'wire:click'])->filter(fn ($value): bool => filled($value))->first() : null; - - $hasLoadingIndicator = filled($wireTarget) || ($type === 'submit' && filled($form)); - - if ($hasLoadingIndicator) { - $loadingIndicatorTarget = html_entity_decode($wireTarget ?: $form, ENT_QUOTES); - } - - $hasTooltip = filled($tooltip); -@endphp - -<{{ $tag }} - @if (($tag === 'a') && (! ($disabled && $hasTooltip))) - {{ \Filament\Support\generate_href_html($href, $target === '_blank', $spaMode) }} - @endif - @if ($keyBindings) - x-bind:id="$id('key-bindings')" - x-mousetrap.global.{{ collect($keyBindings)->map(fn (string $keyBinding): string => str_replace('+', '-', $keyBinding))->implode('.') }}="document.getElementById($el.id)?.click()" - @endif - @if ($hasTooltip) - x-tooltip="{ - content: @js($tooltip), - theme: $store.theme, - allowHTML: @js($tooltip instanceof \Illuminate\Contracts\Support\Htmlable), - }" - @endif - {{ - $attributes - ->merge([ - 'aria-disabled' => $disabled ? 'true' : null, - 'disabled' => $disabled && blank($tooltip), - 'form' => $tag === 'button' ? $formId : null, - 'type' => $tag === 'button' ? $type : null, - 'wire:loading.attr' => $tag === 'button' ? 'disabled' : null, - 'wire:target' => ($hasLoadingIndicator && $loadingIndicatorTarget) ? $loadingIndicatorTarget : null, - ], escape: false) - ->when( - $disabled && $hasTooltip, - fn (ComponentAttributeBag $attributes) => $attributes->filter( - fn (mixed $value, string $key): bool => ! str($key)->startsWith(['href', 'x-on:', 'wire:click']), - ), - ) - ->class([ - 'fi-badge', - 'fi-disabled' => $disabled, - ($size instanceof Size) ? "fi-size-{$size->value}" : (is_string($size) ? $size : ''), - ]) - ->color(BadgeComponent::class, $color) - }} -> - @if ($iconPosition === IconPosition::Before) - @if ($icon) - {{ - \Filament\Support\generate_icon_html($icon, $iconAlias, (new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ])), size: $iconSize ?? \Filament\Support\Enums\IconSize::Small) - }} - @endif - - @if ($hasLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.delay.' . config('filament.livewire_loading_delay', 'default') => '', - 'wire:target' => $loadingIndicatorTarget, - ])), size: $iconSize ?? \Filament\Support\Enums\IconSize::Small) - }} - @endif - @endif - - - - {{ $slot }} - - - - @if ($isDeletable) - @php - $deleteButtonWireTarget = $deleteButton->attributes->whereStartsWith(['wire:target', 'wire:click'])->filter(fn ($value): bool => filled($value))->first(); - - $deleteButtonHasLoadingIndicator = filled($deleteButtonWireTarget); - - if ($deleteButtonHasLoadingIndicator) { - $deleteButtonLoadingIndicatorTarget = html_entity_decode($deleteButtonWireTarget, ENT_QUOTES); - } - @endphp - - - @elseif ($iconPosition === IconPosition::After) - @if ($icon) - {{ - \Filament\Support\generate_icon_html($icon, $iconAlias, (new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ])), size: $iconSize ?? \Filament\Support\Enums\IconSize::Small) - }} - @endif - - @if ($hasLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.delay.' . config('filament.livewire_loading_delay', 'default') => '', - 'wire:target' => $loadingIndicatorTarget, - ])), size: $iconSize ?? \Filament\Support\Enums\IconSize::Small) - }} - @endif - @endif - diff --git a/resources/views/vendor/filament/components/breadcrumbs.blade.php b/resources/views/vendor/filament/components/breadcrumbs.blade.php deleted file mode 100644 index 1fe89114..00000000 --- a/resources/views/vendor/filament/components/breadcrumbs.blade.php +++ /dev/null @@ -1,44 +0,0 @@ -@php - use Illuminate\View\ComponentAttributeBag; - - use function Filament\Support\generate_icon_html; -@endphp - -@props([ - 'breadcrumbs' => [], -]) - - diff --git a/resources/views/vendor/filament/components/button/group.blade.php b/resources/views/vendor/filament/components/button/group.blade.php deleted file mode 100644 index 384f879f..00000000 --- a/resources/views/vendor/filament/components/button/group.blade.php +++ /dev/null @@ -1,3 +0,0 @@ -
class(['fi-btn-group']) }}> - {{ $slot }} -
diff --git a/resources/views/vendor/filament/components/button/index.blade.php b/resources/views/vendor/filament/components/button/index.blade.php deleted file mode 100644 index 2c61acab..00000000 --- a/resources/views/vendor/filament/components/button/index.blade.php +++ /dev/null @@ -1,238 +0,0 @@ -@php - use Filament\Support\Enums\IconPosition; - use Filament\Support\Enums\IconSize; - use Filament\Support\Enums\Size; - use Filament\Support\View\Components\BadgeComponent; - use Filament\Support\View\Components\ButtonComponent; - use Illuminate\View\ComponentAttributeBag; -@endphp - -@props([ - 'badge' => null, - 'badgeColor' => 'primary', - 'badgeSize' => Size::ExtraSmall, - 'color' => 'primary', - 'disabled' => false, - 'form' => null, - 'formId' => null, - 'href' => null, - 'icon' => null, - 'iconAlias' => null, - 'iconPosition' => IconPosition::Before, - 'iconSize' => null, - 'keyBindings' => null, - 'labeledFrom' => null, - 'labelSrOnly' => false, - 'loadingIndicator' => true, - 'outlined' => false, - 'size' => Size::Medium, - 'spaMode' => null, - 'tag' => 'button', - 'target' => null, - 'tooltip' => null, - 'type' => 'button', -]) - -@php - if (! $iconPosition instanceof IconPosition) { - $iconPosition = filled($iconPosition) ? (IconPosition::tryFrom($iconPosition) ?? $iconPosition) : null; - } - - if (! $size instanceof Size) { - $size = filled($size) ? (Size::tryFrom($size) ?? $size) : null; - } - - if (! $badgeSize instanceof Size) { - $badgeSize = filled($badgeSize) ? (Size::tryFrom($badgeSize) ?? $badgeSize) : null; - } - - if (filled($iconSize) && (! $iconSize instanceof IconSize)) { - $iconSize = IconSize::tryFrom($iconSize) ?? $iconSize; - } - - $iconSize ??= match ($size) { - Size::ExtraSmall, Size::Small => IconSize::Small, - default => null, - }; - - $wireTarget = $loadingIndicator ? $attributes->whereStartsWith(['wire:target', 'wire:click'])->filter(fn ($value): bool => filled($value))->first() : null; - - $hasFormProcessingLoadingIndicator = $type === 'submit' && filled($form); - $hasLoadingIndicator = filled($wireTarget) || $hasFormProcessingLoadingIndicator; - - if ($hasLoadingIndicator) { - $loadingIndicatorTarget = html_entity_decode($wireTarget ?: $form, ENT_QUOTES); - } - - $hasTooltip = filled($tooltip); -@endphp - -@if ($labeledFrom) - -@endif - -<{{ $tag }} - @if (($tag === 'a') && (! ($disabled && $hasTooltip))) - {{ \Filament\Support\generate_href_html($href, $target === '_blank', $spaMode) }} - @endif - @if ($keyBindings) - x-bind:id="$id('key-bindings')" - x-mousetrap.global.{{ collect($keyBindings)->map(fn (string $keyBinding): string => str_replace('+', '-', $keyBinding))->implode('.') }}="document.getElementById($el.id)?.click()" - @endif - @if ($hasTooltip) - x-tooltip="{ - content: @js($tooltip), - theme: $store.theme, - allowHTML: @js($tooltip instanceof \Illuminate\Contracts\Support\Htmlable), - }" - @endif - @if ($hasFormProcessingLoadingIndicator) - x-data="filamentFormButton" - x-bind:class="{ 'fi-processing': isProcessing }" - @endif - {{ - $attributes - ->merge([ - 'aria-disabled' => $disabled ? 'true' : null, - 'aria-label' => $labelSrOnly ? trim(strip_tags($slot->toHtml())) : null, - 'disabled' => $disabled && blank($tooltip), - 'form' => $formId, - 'type' => $tag === 'button' ? $type : null, - 'wire:loading.attr' => $tag === 'button' ? 'disabled' : null, - 'wire:target' => ($hasLoadingIndicator && $loadingIndicatorTarget) ? $loadingIndicatorTarget : null, - 'x-bind:disabled' => $hasFormProcessingLoadingIndicator ? 'isProcessing' : null, - 'x-bind:aria-label' => ($labelSrOnly && $hasFormProcessingLoadingIndicator) ? ('isProcessing ? processingMessage : ' . \Illuminate\Support\Js::from(trim(strip_tags($slot->toHtml())))) : null, - ], escape: false) - ->when( - $disabled && $hasTooltip, - fn (ComponentAttributeBag $attributes) => $attributes->filter( - fn (mixed $value, string $key): bool => ! str($key)->startsWith(['href', 'x-on:', 'wire:click']), - ), - ) - ->class([ - 'fi-btn', - 'fi-disabled' => $disabled, - 'fi-outlined' => $outlined, - ($size instanceof Size) ? "fi-size-{$size->value}" : (is_string($size) ? $size : ''), - is_string($labeledFrom) ? "fi-labeled-from-{$labeledFrom}" : null, - ]) - ->color(app(ButtonComponent::class, ['isOutlined' => $outlined]), $color) - }} -> - @if ($iconPosition === IconPosition::Before) - @if ($icon) - {{ - \Filament\Support\generate_icon_html($icon, $iconAlias, (new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ])), size: $iconSize) - }} - @endif - - @if ($hasLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.delay.' . config('filament.livewire_loading_delay', 'default') => '', - 'wire:target' => $loadingIndicatorTarget, - ])), size: $iconSize) - }} - @endif - - @if ($hasFormProcessingLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'x-cloak' => 'x-cloak', - 'x-show' => 'isProcessing', - ])), size: $iconSize) - }} - @endif - @endif - - @if (! $labelSrOnly) - @if ($hasFormProcessingLoadingIndicator) - - {{ $slot }} - - @else - {{ $slot }} - @endif - @endif - - @if ($hasFormProcessingLoadingIndicator && (! $labelSrOnly)) - - @endif - - @if ($iconPosition === IconPosition::After) - @if ($icon) - {{ - \Filament\Support\generate_icon_html($icon, $iconAlias, (new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ])), size: $iconSize) - }} - @endif - - @if ($hasLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.delay.' . config('filament.livewire_loading_delay', 'default') => '', - 'wire:target' => $loadingIndicatorTarget, - ])), size: $iconSize) - }} - @endif - - @if ($hasFormProcessingLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'x-cloak' => 'x-cloak', - 'x-show' => 'isProcessing', - ])), size: $iconSize) - }} - @endif - @endif - - @if (filled($badge)) -
- @if ($badge instanceof \Illuminate\View\ComponentSlot) - {{ $badge }} - @else - color(BadgeComponent::class, $badgeColor)->class([ - 'fi-badge', - ($badgeSize instanceof Size) ? "fi-size-{$badgeSize->value}" : (is_string($badgeSize) ? $badgeSize : ''), - ]) - }} - > - {{ $badge }} - - @endif -
- @endif - diff --git a/resources/views/vendor/filament/components/callout.blade.php b/resources/views/vendor/filament/components/callout.blade.php deleted file mode 100644 index 58156e63..00000000 --- a/resources/views/vendor/filament/components/callout.blade.php +++ /dev/null @@ -1,84 +0,0 @@ -@php - use Filament\Support\Enums\IconSize; - use Filament\Support\View\Components\CalloutComponent\IconComponent; - - use function Filament\Support\generate_icon_html; - use function Filament\Support\is_slot_empty; -@endphp - -@props([ - 'color' => 'gray', - 'controls' => null, - 'description' => null, - 'footer' => null, - 'heading' => null, - 'icon' => null, - 'iconColor' => null, - 'iconSize' => null, -]) - -@php - if (filled($iconSize) && (! $iconSize instanceof IconSize)) { - $iconSize = IconSize::tryFrom($iconSize) ?? $iconSize; - } - - $iconColor ??= $color; - - $hasDescription = filled((string) $description); - $hasHeading = filled($heading); - $hasFooter = ! is_slot_empty($footer); - $hasIcon = filled($icon); - $hasControls = ! is_slot_empty($controls); -@endphp - -
color(\Filament\Support\View\Components\CalloutComponent::class, $color) - ->class(['fi-callout']) - }} -> - @if ($hasIcon) - {{ - generate_icon_html( - $icon, - attributes: (new \Illuminate\View\ComponentAttributeBag) - ->color(IconComponent::class, $iconColor) - ->class(['fi-callout-icon']), - size: $iconSize ?? IconSize::Large, - ) - }} - @endif - - @if ($hasHeading || $hasDescription || $hasFooter) -
- @if ($hasHeading || $hasDescription) -
- @if ($hasHeading) -

- {{ $heading }} -

- @endif - - @if ($hasDescription) -

- {{ $description }} -

- @endif -
- @endif - - @if ($hasFooter) - - @endif -
- @endif - - @if ($hasControls) -
- {{ $controls }} -
- @endif -
diff --git a/resources/views/vendor/filament/components/card.blade.php b/resources/views/vendor/filament/components/card.blade.php deleted file mode 100644 index 23179214..00000000 --- a/resources/views/vendor/filament/components/card.blade.php +++ /dev/null @@ -1,5 +0,0 @@ - - {{ $slot }} - diff --git a/resources/views/vendor/filament/components/dropdown/header.blade.php b/resources/views/vendor/filament/components/dropdown/header.blade.php deleted file mode 100644 index ade6953b..00000000 --- a/resources/views/vendor/filament/components/dropdown/header.blade.php +++ /dev/null @@ -1,34 +0,0 @@ -@php - use Filament\Support\Enums\IconSize; - use Filament\Support\View\Components\DropdownComponent\HeaderComponent; - use Illuminate\View\ComponentAttributeBag; -@endphp - -@props([ - 'color' => 'gray', - 'icon' => null, - 'iconSize' => null, - 'tag' => 'div', -]) - -@php - if (! ($iconSize instanceof IconSize)) { - $iconSize = filled($iconSize) ? (IconSize::tryFrom($iconSize) ?? $iconSize) : null; - } -@endphp - -<{{ $tag }} - {{ - $attributes - ->class([ - 'fi-dropdown-header', - ]) - ->color(HeaderComponent::class, $color) - }} -> - {{ \Filament\Support\generate_icon_html($icon, size: $iconSize) }} - - - {{ $slot }} - - diff --git a/resources/views/vendor/filament/components/dropdown/index.blade.php b/resources/views/vendor/filament/components/dropdown/index.blade.php deleted file mode 100644 index 0c14930a..00000000 --- a/resources/views/vendor/filament/components/dropdown/index.blade.php +++ /dev/null @@ -1,66 +0,0 @@ -@props([ - 'availableHeight' => null, - 'availableWidth' => null, - 'flip' => true, - 'maxHeight' => null, - 'offset' => 8, - 'placement' => null, - 'shift' => false, - 'size' => false, - 'sizePadding' => 16, - 'teleport' => false, - 'trigger' => null, - 'width' => null, -]) - -@php - use Filament\Support\Enums\Width; - - $sizeConfig = collect([ - 'availableHeight' => $availableHeight, - 'availableWidth' => $availableWidth, - 'padding' => $sizePadding, - ])->filter()->toJson(); - - if (is_string($width)) { - $width = Width::tryFrom($width) ?? $width; - } -@endphp - -
class(['fi-dropdown']) }} -> -
attributes->class(['fi-dropdown-trigger']) }} - > - {{ $trigger }} -
- - @if (! \Filament\Support\is_slot_empty($slot)) -
has('wire:key')) - wire:ignore.self - wire:key="{{ $attributes->get('wire:key') }}.panel" - @endif - @class([ - 'fi-dropdown-panel', - ($width instanceof Width) ? "fi-width-{$width->value}" : (is_string($width) ? $width : ''), - 'fi-scrollable' => $maxHeight || $size, - ]) - @style([ - ('max-height: ' . e($maxHeight)) => $maxHeight, - ]) - > - {{ $slot }} -
- @endif -
diff --git a/resources/views/vendor/filament/components/dropdown/list/index.blade.php b/resources/views/vendor/filament/components/dropdown/list/index.blade.php deleted file mode 100644 index f0ca5c49..00000000 --- a/resources/views/vendor/filament/components/dropdown/list/index.blade.php +++ /dev/null @@ -1,3 +0,0 @@ -
class(['fi-dropdown-list']) }}> - {{ $slot }} -
diff --git a/resources/views/vendor/filament/components/dropdown/list/item.blade.php b/resources/views/vendor/filament/components/dropdown/list/item.blade.php deleted file mode 100644 index bd7f509d..00000000 --- a/resources/views/vendor/filament/components/dropdown/list/item.blade.php +++ /dev/null @@ -1,191 +0,0 @@ -@php - use Filament\Support\Enums\IconSize; - use Filament\Support\Enums\Size; - use Filament\Support\View\Components\BadgeComponent; - use Filament\Support\View\Components\DropdownComponent\ItemComponent; - use Filament\Support\View\Components\DropdownComponent\ItemComponent\IconComponent; - use Illuminate\View\ComponentAttributeBag; -@endphp - -@props([ - 'alpineDeferredBadgeData' => null, - 'alpineDeferredBadgeLoading' => null, - 'badge' => null, - 'badgeColor' => 'primary', - 'badgeTooltip' => null, - 'color' => 'gray', - 'disabled' => false, - 'href' => null, - 'icon' => null, - 'iconAlias' => null, - 'iconColor' => null, - 'iconSize' => null, - 'image' => null, - 'keyBindings' => null, - 'loadingIndicator' => true, - 'spaMode' => null, - 'tag' => 'button', - 'target' => null, - 'tooltip' => null, -]) - -@php - if (filled($iconSize) && (! $iconSize instanceof IconSize)) { - $iconSize = IconSize::tryFrom($iconSize) ?? $iconSize; - } - - $iconColor ??= $color; - - $wireTarget = $loadingIndicator ? $attributes->whereStartsWith(['wire:target', 'wire:click'])->filter(fn ($value): bool => filled($value))->first() : null; - - $hasLoadingIndicator = filled($wireTarget); - - if ($hasLoadingIndicator) { - $loadingIndicatorTarget = html_entity_decode($wireTarget, ENT_QUOTES); - } - - $hasDeferredBadge = filled($alpineDeferredBadgeData); - $hasTooltip = filled($tooltip); -@endphp - -{!! ($tag === 'form') ? ('
only(['action', 'class', 'method', 'wire:submit'])->toHtml() . '>') : '' !!} - -@if ($tag === 'form') - @csrf -@endif - -<{{ ($tag === 'form') ? 'button' : $tag }} - @if (($tag === 'a') && (! ($disabled && $hasTooltip))) - {{ \Filament\Support\generate_href_html($href, $target === '_blank', $spaMode) }} - @endif - @if ($keyBindings) - x-bind:id="$id('key-bindings')" - x-mousetrap.global.{{ collect($keyBindings)->map(fn (string $keyBinding): string => str_replace('+', '-', $keyBinding))->implode('.') }}="document.getElementById($el.id)?.click()" - @endif - @if ($hasTooltip) - x-tooltip="{ - content: @js($tooltip), - theme: $store.theme, - allowHTML: @js($tooltip instanceof \Illuminate\Contracts\Support\Htmlable), - }" - @endif - {{ - $attributes - ->when( - $tag === 'form', - fn (ComponentAttributeBag $attributes) => $attributes->except(['action', 'class', 'method', 'wire:submit']), - ) - ->merge([ - 'aria-disabled' => $disabled ? 'true' : null, - 'disabled' => $disabled && blank($tooltip), - 'type' => match ($tag) { - 'button' => 'button', - 'form' => 'submit', - default => null, - }, - 'wire:loading.attr' => $tag === 'button' ? 'disabled' : null, - 'wire:target' => ($hasLoadingIndicator && $loadingIndicatorTarget) ? $loadingIndicatorTarget : null, - ], escape: false) - ->when( - $disabled && $hasTooltip, - fn (ComponentAttributeBag $attributes) => $attributes->filter( - fn (mixed $value, string $key): bool => ! str($key)->startsWith(['href', 'x-on:', 'wire:click']), - ), - ) - ->class([ - 'fi-dropdown-list-item', - 'fi-disabled' => $disabled, - ]) - ->color(ItemComponent::class, $color) - }} -> - @if ($icon) - {{ - \Filament\Support\generate_icon_html($icon, $iconAlias, (new ComponentAttributeBag([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ]))->color(IconComponent::class, $iconColor), size: $iconSize) - }} - @endif - - @if ($image) -
- @endif - - @if ($hasLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new ComponentAttributeBag([ - 'wire:loading.delay.' . config('filament.livewire_loading_delay', 'default') => '', - 'wire:target' => $loadingIndicatorTarget, - ]))->color(IconComponent::class, $iconColor), size: $iconSize) - }} - @endif - - - {{ $slot }} - - - @if (filled($badge)) - @if ($badge instanceof \Illuminate\View\ComponentSlot) - {{ $badge }} - @else - color(BadgeComponent::class, $badgeColor)->class(['fi-badge']) }} - > - {{ $badge }} - - @endif - @elseif ($hasDeferredBadge) - - {{ \Filament\Support\generate_loading_indicator_html(size: \Filament\Support\Enums\IconSize::Small) }} - - - - @endif - - -{!! ($tag === 'form') ? '
' : '' !!} diff --git a/resources/views/vendor/filament/components/empty-state.blade.php b/resources/views/vendor/filament/components/empty-state.blade.php deleted file mode 100644 index fec5b4e6..00000000 --- a/resources/views/vendor/filament/components/empty-state.blade.php +++ /dev/null @@ -1,70 +0,0 @@ -@php - use Filament\Support\Enums\IconSize; - use Filament\Support\View\Components\SectionComponent\IconComponent; -@endphp - -@props([ - 'compact' => false, - 'contained' => true, - 'description' => null, - 'footer' => null, - 'heading', - 'headingTag' => 'h2', - 'icon' => null, - 'iconColor' => 'primary', - 'iconSize' => null, -]) - -@php - if (filled($iconSize) && (! $iconSize instanceof IconSize)) { - $iconSize = IconSize::tryFrom($iconSize) ?? $iconSize; - } - - $hasDescription = filled((string) $description); - $hasFooter = filled((string) $footer); - $hasIcon = filled($icon); -@endphp - -
class([ - 'fi-empty-state', - 'fi-compact' => $compact, - 'fi-empty-state-not-contained' => ! $contained, - ]) - }} -> -
- @if ($hasIcon) -
$iconColor !== 'gray', - ]) - > - {{ - \Filament\Support\generate_icon_html($icon, attributes: (new \Illuminate\View\ComponentAttributeBag) - ->color(IconComponent::class, $iconColor), size: $iconSize ?? IconSize::Large) - }} -
- @endif - -
- <{{ $headingTag }} class="fi-empty-state-heading"> - {{ $heading }} - - - @if ($hasDescription) -

- {{ $description }} -

- @endif - - @if ($hasFooter) -
- {{ $footer }} -
- @endif -
-
-
diff --git a/resources/views/vendor/filament/components/fieldset.blade.php b/resources/views/vendor/filament/components/fieldset.blade.php deleted file mode 100644 index 85e5064a..00000000 --- a/resources/views/vendor/filament/components/fieldset.blade.php +++ /dev/null @@ -1,25 +0,0 @@ -@props([ - 'contained' => true, - 'label' => null, - 'labelHidden' => false, - 'required' => false, -]) - -
class([ - 'fi-fieldset', - 'fi-fieldset-label-hidden' => $labelHidden, - 'fi-fieldset-not-contained' => ! $contained, - ]) - }} -> - @if (filled($label)) - - {{ $label }}@if ($required)* - @endif - - @endif - - {{ $slot }} -
diff --git a/resources/views/vendor/filament/components/icon-button.blade.php b/resources/views/vendor/filament/components/icon-button.blade.php deleted file mode 100644 index 025d4ab6..00000000 --- a/resources/views/vendor/filament/components/icon-button.blade.php +++ /dev/null @@ -1,139 +0,0 @@ -@php - use Filament\Support\Enums\IconSize; - use Filament\Support\Enums\Size; - use Filament\Support\View\Components\BadgeComponent; - use Filament\Support\View\Components\IconButtonComponent; - use Illuminate\View\ComponentAttributeBag; -@endphp - -@props([ - 'badge' => null, - 'badgeColor' => 'primary', - 'badgeSize' => Size::ExtraSmall, - 'color' => 'primary', - 'disabled' => false, - 'form' => null, - 'formId' => null, - 'href' => null, - 'icon' => null, - 'iconAlias' => null, - 'iconSize' => null, - 'keyBindings' => null, - 'label' => null, - 'loadingIndicator' => true, - 'size' => Size::Medium, - 'spaMode' => null, - 'tag' => 'button', - 'target' => null, - 'tooltip' => null, - 'type' => 'button', -]) - -@php - if (! $size instanceof Size) { - $size = filled($size) ? (Size::tryFrom($size) ?? $size) : null; - } - - if (! $badgeSize instanceof Size) { - $badgeSize = filled($badgeSize) ? (Size::tryFrom($badgeSize) ?? $badgeSize) : null; - } - - if (filled($iconSize) && (! $iconSize instanceof IconSize)) { - $iconSize = IconSize::tryFrom($iconSize) ?? $iconSize; - } - - $iconSize ??= match ($size) { - Size::ExtraSmall => IconSize::Small, - Size::Large, Size::ExtraLarge => IconSize::Large, - default => null, - }; - - $wireTarget = $loadingIndicator ? $attributes->whereStartsWith(['wire:target', 'wire:click'])->filter(fn ($value): bool => filled($value))->first() : null; - - $hasLoadingIndicator = filled($wireTarget) || ($type === 'submit' && filled($form)); - - if ($hasLoadingIndicator) { - $loadingIndicatorTarget = html_entity_decode($wireTarget ?: $form, ENT_QUOTES); - } - - $hasTooltip = $hasTooltip = filled($tooltip); -@endphp - -<{{ $tag }} - @if (($tag === 'a') && (! ($disabled && $hasTooltip))) - {{ \Filament\Support\generate_href_html($href, $target === '_blank', $spaMode) }} - @endif - @if ($keyBindings) - x-bind:id="$id('key-bindings')" - x-mousetrap.global.{{ collect($keyBindings)->map(fn (string $keyBinding): string => str_replace('+', '-', $keyBinding))->implode('.') }}="document.getElementById($el.id)?.click()" - @endif - @if ($hasTooltip) - x-tooltip="{ - content: @js($tooltip), - theme: $store.theme, - allowHTML: @js($tooltip instanceof \Illuminate\Contracts\Support\Htmlable), - }" - @endif - {{ - $attributes - ->merge([ - 'aria-disabled' => $disabled ? 'true' : null, - 'aria-label' => e($label), - 'disabled' => $disabled && blank($tooltip), - 'form' => $formId, - 'type' => $tag === 'button' ? $type : null, - 'wire:loading.attr' => $tag === 'button' ? 'disabled' : null, - 'wire:target' => ($hasLoadingIndicator && $loadingIndicatorTarget) ? $loadingIndicatorTarget : null, - ], escape: false) - ->merge([ - 'title' => $hasTooltip ? null : $label, - ], escape: true) - ->when( - $disabled && $hasTooltip, - fn (ComponentAttributeBag $attributes) => $attributes->filter( - fn (mixed $value, string $key): bool => ! str($key)->startsWith(['href', 'x-on:', 'wire:click']), - ), - ) - ->class([ - 'fi-icon-btn', - 'fi-disabled' => $disabled, - ($size instanceof Size) ? "fi-size-{$size->value}" : (is_string($size) ? $size : ''), - ]) - ->color(IconButtonComponent::class, $color) - }} -> - {{ - \Filament\Support\generate_icon_html($icon, $iconAlias, (new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ])), size: $iconSize) - }} - - @if ($hasLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.delay.' . config('filament.livewire_loading_delay', 'default') => '', - 'wire:target' => $loadingIndicatorTarget, - ])), size: $iconSize) - }} - @endif - - @if (filled($badge)) -
- @if ($badge instanceof \Illuminate\View\ComponentSlot) - {{ $badge }} - @else - color(BadgeComponent::class, $badgeColor)->class([ - 'fi-badge', - ($badgeSize instanceof Size) ? "fi-size-{$badgeSize->value}" : (is_string($badgeSize) ? $badgeSize : ''), - ]) - }} - > - {{ $badge }} - - @endif -
- @endif - diff --git a/resources/views/vendor/filament/components/icon.blade.php b/resources/views/vendor/filament/components/icon.blade.php deleted file mode 100644 index 8dd0c64f..00000000 --- a/resources/views/vendor/filament/components/icon.blade.php +++ /dev/null @@ -1,7 +0,0 @@ -@props([ - 'alias' => null, - 'icon' => null, - 'size' => null, -]) - -{{ \Filament\Support\generate_icon_html($icon, $alias, $attributes, $size) }} diff --git a/resources/views/vendor/filament/components/input/checkbox.blade.php b/resources/views/vendor/filament/components/input/checkbox.blade.php deleted file mode 100644 index 1423a4d5..00000000 --- a/resources/views/vendor/filament/components/input/checkbox.blade.php +++ /dev/null @@ -1,26 +0,0 @@ -@props([ - 'alpineValid' => null, - 'valid' => true, -]) - -@php - $hasAlpineValidClasses = filled($alpineValid); -@endphp - -class([ - 'fi-checkbox-input', - 'fi-valid' => (! $hasAlpineValidClasses) && $valid, - 'fi-invalid' => (! $hasAlpineValidClasses) && (! $valid), - ]) - }} -/> diff --git a/resources/views/vendor/filament/components/input/index.blade.php b/resources/views/vendor/filament/components/input/index.blade.php deleted file mode 100644 index ff30a0bc..00000000 --- a/resources/views/vendor/filament/components/input/index.blade.php +++ /dev/null @@ -1,14 +0,0 @@ -@props([ - 'inlinePrefix' => false, - 'inlineSuffix' => false, -]) - -class([ - 'fi-input', - 'fi-input-has-inline-prefix' => $inlinePrefix, - 'fi-input-has-inline-suffix' => $inlineSuffix, - ]) - }} -/> diff --git a/resources/views/vendor/filament/components/input/one-time-code.blade.php b/resources/views/vendor/filament/components/input/one-time-code.blade.php deleted file mode 100644 index 9f3713ac..00000000 --- a/resources/views/vendor/filament/components/input/one-time-code.blade.php +++ /dev/null @@ -1,43 +0,0 @@ -@props([ - 'length' => 6, -]) - -
class([ - 'fi-one-time-code-input-ctn', - ]) - }} -> - @foreach (range(1, $length) as $digit) -
- @endforeach - - attributes }} - class="fi-one-time-code-input" - /> -
diff --git a/resources/views/vendor/filament/components/input/radio.blade.php b/resources/views/vendor/filament/components/input/radio.blade.php deleted file mode 100644 index 6bfdac4b..00000000 --- a/resources/views/vendor/filament/components/input/radio.blade.php +++ /dev/null @@ -1,14 +0,0 @@ -@props([ - 'valid' => true, -]) - -class([ - 'fi-radio-input', - 'fi-invalid' => ! $valid, - ]) - }} -/> diff --git a/resources/views/vendor/filament/components/input/select.blade.php b/resources/views/vendor/filament/components/input/select.blade.php deleted file mode 100644 index 4776de3a..00000000 --- a/resources/views/vendor/filament/components/input/select.blade.php +++ /dev/null @@ -1,15 +0,0 @@ -@props([ - 'inlinePrefix' => false, - 'inlineSuffix' => false, -]) - - diff --git a/resources/views/vendor/filament/components/input/wrapper.blade.php b/resources/views/vendor/filament/components/input/wrapper.blade.php deleted file mode 100644 index 689e1bf2..00000000 --- a/resources/views/vendor/filament/components/input/wrapper.blade.php +++ /dev/null @@ -1,179 +0,0 @@ -@props([ - 'alpineDisabled' => null, - 'alpineValid' => null, - 'disabled' => false, - 'inlinePrefix' => false, - 'inlineSuffix' => false, - 'prefix' => null, - 'prefixActions' => [], - 'prefixIcon' => null, - 'prefixIconColor' => 'gray', - 'prefixIconAlias' => null, - 'suffix' => null, - 'suffixActions' => [], - 'suffixIcon' => null, - 'suffixIconColor' => 'gray', - 'suffixIconAlias' => null, - 'valid' => true, -]) - -@php - use Filament\Support\View\Components\InputComponent\WrapperComponent\IconComponent; - use Illuminate\View\ComponentAttributeBag; - - $prefixActions = array_filter( - $prefixActions, - fn (\Filament\Actions\Action $prefixAction): bool => $prefixAction->isVisible(), - ); - - $suffixActions = array_filter( - $suffixActions, - fn (\Filament\Actions\Action $suffixAction): bool => $suffixAction->isVisible(), - ); - - $hasPrefix = count($prefixActions) || $prefixIcon || filled($prefix); - $hasSuffix = count($suffixActions) || $suffixIcon || filled($suffix); - - $hasAlpineDisabledClasses = filled($alpineDisabled); - $hasAlpineValidClasses = filled($alpineValid); - $hasAlpineClasses = $hasAlpineDisabledClasses || $hasAlpineValidClasses; - - $wireTarget = $attributes->whereStartsWith(['wire:target'])->first(); - - $hasLoadingIndicator = filled($wireTarget); - - if ($hasLoadingIndicator) { - $loadingIndicatorTarget = html_entity_decode($wireTarget, ENT_QUOTES); - } - - $hasFocusInputListener = $attributes->has('x-on:focus-input.stop'); - $canClickPrefixAffix = $hasFocusInputListener && ($prefixIcon || filled($prefix)); - $canClickSuffixAffix = $hasFocusInputListener && ($suffixIcon || filled($suffix)); -@endphp - -
except(['wire:target', 'tabindex']) - ->class([ - 'fi-input-wrp', - 'fi-disabled' => (! $hasAlpineClasses) && $disabled, - 'fi-invalid' => (! $hasAlpineClasses) && (! $valid), - ]) - }} -> - @if ($hasPrefix || $hasLoadingIndicator) - - @endif - -
$hasLoadingIndicator && (! $hasPrefix) && $inlinePrefix, - ]) - > - {{ $slot }} -
- - @if ($hasSuffix) -
$inlineSuffix, - 'fi-input-wrp-suffix-has-label' => filled($suffix), - ]) - > - @if (filled($suffix)) - - {{ $suffix }} - - @endif - - {{ - \Filament\Support\generate_icon_html($suffixIcon, $suffixIconAlias, (new \Illuminate\View\ComponentAttributeBag) - ->merge([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ], escape: false) - ->color(IconComponent::class, $suffixIconColor)) - }} - - @if (count($suffixActions)) -
- @foreach ($suffixActions as $suffixAction) - {{ $suffixAction }} - @endforeach -
- @endif -
- @endif -
diff --git a/resources/views/vendor/filament/components/link.blade.php b/resources/views/vendor/filament/components/link.blade.php deleted file mode 100644 index 086ed634..00000000 --- a/resources/views/vendor/filament/components/link.blade.php +++ /dev/null @@ -1,176 +0,0 @@ -@php - use Filament\Support\Enums\FontWeight; - use Filament\Support\Enums\IconPosition; - use Filament\Support\Enums\IconSize; - use Filament\Support\Enums\Size; - use Filament\Support\View\Components\BadgeComponent; - use Filament\Support\View\Components\LinkComponent; - use Illuminate\View\ComponentAttributeBag; -@endphp - -@props([ - 'badge' => null, - 'badgeColor' => 'primary', - 'badgeSize' => Size::ExtraSmall, - 'color' => 'primary', - 'disabled' => false, - 'form' => null, - 'formId' => null, - 'href' => null, - 'icon' => null, - 'iconAlias' => null, - 'iconPosition' => IconPosition::Before, - 'iconSize' => null, - 'keyBindings' => null, - 'labelSrOnly' => false, - 'loadingIndicator' => true, - 'size' => Size::Medium, - 'spaMode' => null, - 'tag' => 'a', - 'target' => null, - 'tooltip' => null, - 'type' => 'button', - 'weight' => null, -]) - -@php - if (! $iconPosition instanceof IconPosition) { - $iconPosition = filled($iconPosition) ? (IconPosition::tryFrom($iconPosition) ?? $iconPosition) : null; - } - - if (! $badgeSize instanceof Size) { - $badgeSize = filled($badgeSize) ? (Size::tryFrom($badgeSize) ?? $badgeSize) : null; - } - - if (! $size instanceof Size) { - $size = filled($size) ? (Size::tryFrom($size) ?? $size) : null; - } - - if (filled($iconSize) && (! $iconSize instanceof IconSize)) { - $iconSize = IconSize::tryFrom($iconSize) ?? $iconSize; - } - - $iconSize ??= match ($size) { - Size::ExtraSmall, Size::Small => IconSize::Small, - default => null, - }; - - if (! $weight instanceof FontWeight) { - $weight = filled($weight) ? (FontWeight::tryFrom($weight) ?? $weight) : null; - } - - $wireTarget = $loadingIndicator ? $attributes->whereStartsWith(['wire:target', 'wire:click'])->filter(fn ($value): bool => filled($value))->first() : null; - - $hasLoadingIndicator = filled($wireTarget) || ($type === 'submit' && filled($form)); - - if ($hasLoadingIndicator) { - $loadingIndicatorTarget = html_entity_decode($wireTarget ?: $form, ENT_QUOTES); - } - - $hasTooltip = filled($tooltip); -@endphp - -<{{ $tag }} - @if (($tag === 'a') && (! ($disabled && $hasTooltip))) - {{ \Filament\Support\generate_href_html($href, $target === '_blank', $spaMode) }} - @endif - @if ($keyBindings) - x-bind:id="$id('key-bindings')" - x-mousetrap.global.{{ collect($keyBindings)->map(fn (string $keyBinding): string => str_replace('+', '-', $keyBinding))->implode('.') }}="document.getElementById($el.id)?.click()" - @endif - @if ($hasTooltip) - x-tooltip="{ - content: @js($tooltip), - theme: $store.theme, - allowHTML: @js($tooltip instanceof \Illuminate\Contracts\Support\Htmlable), - }" - @endif - {{ - $attributes - ->merge([ - 'aria-disabled' => $disabled ? 'true' : null, - 'disabled' => $disabled && blank($tooltip), - 'form' => $formId, - 'type' => $tag === 'button' ? $type : null, - 'wire:loading.attr' => $tag === 'button' ? 'disabled' : null, - 'wire:target' => ($hasLoadingIndicator && $loadingIndicatorTarget) ? $loadingIndicatorTarget : null, - ], escape: false) - ->when( - $disabled && $hasTooltip, - fn (ComponentAttributeBag $attributes) => $attributes->filter( - fn (mixed $value, string $key): bool => ! str($key)->startsWith(['href', 'x-on:', 'wire:click']), - ), - ) - ->class([ - 'fi-link', - 'fi-disabled' => $disabled, - ($size instanceof Size) ? "fi-size-{$size->value}" : (is_string($size) ? $size : ''), - ($weight instanceof FontWeight) ? "fi-font-{$weight->value}" : (is_string($weight) ? $weight : ''), - ]) - ->color(LinkComponent::class, $color) - }} -> - @if ($iconPosition === IconPosition::Before) - @if ($icon) - {{ - \Filament\Support\generate_icon_html($icon, $iconAlias, (new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ])), size: $iconSize) - }} - @endif - - @if ($hasLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.delay.' . config('filament.livewire_loading_delay', 'default') => '', - 'wire:target' => $loadingIndicatorTarget, - ])), size: $iconSize) - }} - @endif - @endif - - @if (! $labelSrOnly) - {{ $slot }} - @endif - - @if ($iconPosition === IconPosition::After) - @if ($icon) - {{ - \Filament\Support\generate_icon_html($icon, $iconAlias, (new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.remove.delay.' . config('filament.livewire_loading_delay', 'default') => $hasLoadingIndicator, - 'wire:target' => $hasLoadingIndicator ? $loadingIndicatorTarget : false, - ])), size: $iconSize) - }} - @endif - - @if ($hasLoadingIndicator) - {{ - \Filament\Support\generate_loading_indicator_html((new \Illuminate\View\ComponentAttributeBag([ - 'wire:loading.delay.' . config('filament.livewire_loading_delay', 'default') => '', - 'wire:target' => $loadingIndicatorTarget, - ])), size: $iconSize) - }} - @endif - @endif - - @if (filled($badge)) - - @endif - -@trim diff --git a/resources/views/vendor/filament/components/loading-indicator.blade.php b/resources/views/vendor/filament/components/loading-indicator.blade.php deleted file mode 100644 index b4aeeda3..00000000 --- a/resources/views/vendor/filament/components/loading-indicator.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ \Filament\Support\generate_loading_indicator_html($attributes) }} diff --git a/resources/views/vendor/filament/components/loading-section.blade.php b/resources/views/vendor/filament/components/loading-section.blade.php deleted file mode 100644 index bd48b440..00000000 --- a/resources/views/vendor/filament/components/loading-section.blade.php +++ /dev/null @@ -1,14 +0,0 @@ -@props([ - 'columnSpan' => [], - 'columnStart' => [], - 'height' => null, -]) - -
gridColumn($columnSpan, $columnStart) - ->class(['fi-section fi-loading-section']) - ->style(['height: ' . e($height ?? '8rem')]) - }} ->
diff --git a/resources/views/vendor/filament/components/modal/description.blade.php b/resources/views/vendor/filament/components/modal/description.blade.php deleted file mode 100644 index 1355014a..00000000 --- a/resources/views/vendor/filament/components/modal/description.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -

class(['fi-modal-description']) }} -> - {{ $slot }} -

diff --git a/resources/views/vendor/filament/components/modal/heading.blade.php b/resources/views/vendor/filament/components/modal/heading.blade.php deleted file mode 100644 index a3127cd6..00000000 --- a/resources/views/vendor/filament/components/modal/heading.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -

class(['fi-modal-heading']) }} -> - {{ $slot }} -

diff --git a/resources/views/vendor/filament/components/modal/index.blade.php b/resources/views/vendor/filament/components/modal/index.blade.php deleted file mode 100644 index a6594f20..00000000 --- a/resources/views/vendor/filament/components/modal/index.blade.php +++ /dev/null @@ -1,281 +0,0 @@ -@php - use Filament\Support\Enums\Alignment; - use Filament\Support\Enums\SlideOverPosition; - use Filament\Support\Enums\Width; - use Filament\Support\View\Components\ModalComponent\IconComponent; - use Illuminate\View\ComponentAttributeBag; -@endphp - -@props([ - 'alignment' => Alignment::Start, - 'ariaLabelledby' => null, - 'autofocus' => \Filament\Support\View\Components\ModalComponent::$isAutofocused, - 'closeButton' => \Filament\Support\View\Components\ModalComponent::$hasCloseButton, - 'closeByClickingAway' => \Filament\Support\View\Components\ModalComponent::$isClosedByClickingAway, - 'closeByEscaping' => \Filament\Support\View\Components\ModalComponent::$isClosedByEscaping, - 'closeEventName' => 'close-modal', - 'closeQuietlyEventName' => 'close-modal-quietly', - 'description' => null, - 'extraModalWindowAttributeBag' => null, - 'extraModalOverlayAttributeBag' => null, - 'footer' => null, - 'footerActions' => [], - 'footerActionsAlignment' => Alignment::Start, - 'header' => null, - 'heading' => null, - 'icon' => null, - 'iconAlias' => null, - 'iconColor' => 'primary', - 'id' => null, - 'openEventName' => 'open-modal', - 'slideOver' => false, - 'slideOverPosition' => SlideOverPosition::End, - 'stickyFooter' => false, - 'stickyHeader' => false, - 'teleport' => null, - 'trigger' => null, - 'visible' => true, - 'width' => 'sm', -]) - -@php - $hasContent = ! \Filament\Support\is_slot_empty($slot); - $hasDescription = filled($description); - $hasFooter = (! \Filament\Support\is_slot_empty($footer)) || (is_array($footerActions) && count($footerActions)) || (! is_array($footerActions) && (! \Filament\Support\is_slot_empty($footerActions))); - $hasHeading = filled($heading); - $hasIcon = filled($icon); - - if (! $alignment instanceof Alignment) { - $alignment = filled($alignment) ? (Alignment::tryFrom($alignment) ?? $alignment) : null; - } - - if (! $footerActionsAlignment instanceof Alignment) { - $footerActionsAlignment = filled($footerActionsAlignment) ? (Alignment::tryFrom($footerActionsAlignment) ?? $footerActionsAlignment) : null; - } - - if (is_string($width)) { - $width = Width::tryFrom($width) ?? $width; - } - - $closeEventHandler = filled($id) ? '$dispatch(' . \Illuminate\Support\Js::from($closeEventName) . ', { id: ' . \Illuminate\Support\Js::from($id) . ' })' : 'close()'; - - $wireSubmitHandler = $attributes->get('wire:submit.prevent'); - $attributes = $attributes->except(['wire:submit.prevent']); -@endphp - -@if ($trigger) - {!! '
' !!} - {{-- Avoid formatting issues with unclosed elements --}} - -
attributes->get('disabled')) - @if ($id) - x-on:click="$dispatch(@js($openEventName), { id: @js($id) })" - @else - x-on:click="$el.nextElementSibling.dispatchEvent(new CustomEvent(@js($openEventName)))" - @endif - @endif - {{ $trigger->attributes->except(['disabled'])->class(['fi-modal-trigger']) }} - > - {{ $trigger }} -
-@endif - -@if (filled($teleport)) - {!! "' !!} - {{-- Avoid formatting issues with unclosed elements --}} -@endif - -@if ($trigger) - {!! '
' !!} - {{-- Avoid formatting issues with unclosed elements --}} -@endif diff --git a/resources/views/vendor/filament/components/pagination/index.blade.php b/resources/views/vendor/filament/components/pagination/index.blade.php deleted file mode 100644 index cd770d27..00000000 --- a/resources/views/vendor/filament/components/pagination/index.blade.php +++ /dev/null @@ -1,208 +0,0 @@ -@props([ - 'currentPageOptionProperty' => 'tableRecordsPerPage', - 'extremeLinks' => false, - 'paginator', - 'pageOptions' => [], -]) - -@php - use Illuminate\Contracts\Pagination\CursorPaginator; - - $isRtl = __('filament-panels::layout.direction') === 'rtl'; - $isSimple = ! $paginator instanceof \Illuminate\Pagination\LengthAwarePaginator; -@endphp - - diff --git a/resources/views/vendor/filament/components/pagination/item.blade.php b/resources/views/vendor/filament/components/pagination/item.blade.php deleted file mode 100644 index 36543d17..00000000 --- a/resources/views/vendor/filament/components/pagination/item.blade.php +++ /dev/null @@ -1,39 +0,0 @@ -@props([ - 'active' => false, - 'ariaLabel' => null, - 'disabled' => false, - 'icon' => null, - 'iconAlias' => null, - 'label' => null, -]) - -
  • class([ - 'fi-pagination-item', - 'fi-disabled' => $disabled, - 'fi-active' => $active, - ]) - }} -> - -
  • diff --git a/resources/views/vendor/filament/components/section/description.blade.php b/resources/views/vendor/filament/components/section/description.blade.php deleted file mode 100644 index 089fe24f..00000000 --- a/resources/views/vendor/filament/components/section/description.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -

    class(['fi-section-header-description']) }} -> - {{ $slot }} -

    diff --git a/resources/views/vendor/filament/components/section/heading.blade.php b/resources/views/vendor/filament/components/section/heading.blade.php deleted file mode 100644 index c4b24139..00000000 --- a/resources/views/vendor/filament/components/section/heading.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -

    class(['fi-section-header-heading']) }} -> - {{ $slot }} -

    diff --git a/resources/views/vendor/filament/components/section/index.blade.php b/resources/views/vendor/filament/components/section/index.blade.php deleted file mode 100644 index 55f5f799..00000000 --- a/resources/views/vendor/filament/components/section/index.blade.php +++ /dev/null @@ -1,140 +0,0 @@ -@php - use Filament\Support\Enums\Alignment; - use Filament\Support\Enums\IconSize; - use Filament\Support\View\Components\SectionComponent\IconComponent; - - use function Filament\Support\is_slot_empty; -@endphp - -@props([ - 'afterHeader' => null, - 'aside' => false, - 'collapsed' => false, - 'collapseId' => null, - 'collapsible' => false, - 'compact' => false, - 'contained' => true, - 'contentBefore' => false, - 'description' => null, - 'divided' => false, - 'footer' => null, - 'hasContentEl' => true, - 'heading' => null, - 'headingTag' => 'h2', - 'icon' => null, - 'iconColor' => 'gray', - 'iconSize' => null, - 'persistCollapsed' => false, - 'secondary' => false, -]) - -@php - if (filled($iconSize) && (! $iconSize instanceof IconSize)) { - $iconSize = IconSize::tryFrom($iconSize) ?? $iconSize; - } - - $hasDescription = filled((string) $description); - $hasHeading = filled($heading); - $hasIcon = filled($icon); - $hasHeader = $hasIcon || $hasHeading || $hasDescription || $collapsible || (! is_slot_empty($afterHeader)); -@endphp - -
    class([ - 'fi-section', - 'fi-section-not-contained' => ! $contained, - 'fi-section-has-content-before' => $contentBefore, - 'fi-section-has-header' => $hasHeader, - 'fi-aside' => $aside, - 'fi-compact' => $compact, - 'fi-collapsible' => $collapsible, - 'fi-divided' => $divided, - 'fi-secondary' => $secondary, - ]) - }} -> - @if ($hasHeader) -
    - {{ - \Filament\Support\generate_icon_html($icon, attributes: (new \Illuminate\View\ComponentAttributeBag) - ->color(IconComponent::class, $iconColor), size: $iconSize ?? IconSize::Large) - }} - - @if ($hasHeading || $hasDescription) -
    - @if ($hasHeading) - <{{ $headingTag }} class="fi-section-header-heading"> - {{ $heading }} - - @endif - - @if ($hasDescription) -

    - {{ $description }} -

    - @endif -
    - @endif - - @if (! is_slot_empty($afterHeader)) -
    - {{ $afterHeader }} -
    - @endif - - @if ($collapsible) - - @endif -
    - @endif - - @if ((! is_slot_empty($slot)) || (! is_slot_empty($footer))) -
    - @if ($hasContentEl) -
    - {{ $slot }} -
    - @else - {{ $slot }} - @endif - - @if (! is_slot_empty($footer)) -
    - {{ $footer }} -
    - @endif -
    - @endif -
    diff --git a/resources/views/vendor/filament/components/tabs/index.blade.php b/resources/views/vendor/filament/components/tabs/index.blade.php deleted file mode 100644 index 56dcd471..00000000 --- a/resources/views/vendor/filament/components/tabs/index.blade.php +++ /dev/null @@ -1,22 +0,0 @@ -@props([ - 'contained' => false, - 'label' => null, - 'vertical' => false, -]) - - diff --git a/resources/views/vendor/filament/components/tabs/item.blade.php b/resources/views/vendor/filament/components/tabs/item.blade.php deleted file mode 100644 index 4b782725..00000000 --- a/resources/views/vendor/filament/components/tabs/item.blade.php +++ /dev/null @@ -1,145 +0,0 @@ -@php - use Filament\Support\Enums\IconPosition; -@endphp - -@props([ - 'active' => false, - 'alpineActive' => null, - 'alpineDeferredBadgeData' => null, - 'alpineDeferredBadgeLoading' => null, - 'badge' => null, - 'badgeColor' => null, - 'badgeTooltip' => null, - 'badgeIcon' => null, - 'badgeIconPosition' => IconPosition::Before, - 'href' => null, - 'icon' => null, - 'iconColor' => 'gray', - 'iconPosition' => IconPosition::Before, - 'spaMode' => null, - 'tag' => 'button', - 'target' => null, - 'type' => 'button', -]) - -@php - if (! $iconPosition instanceof IconPosition) { - $iconPosition = filled($iconPosition) ? (IconPosition::tryFrom($iconPosition) ?? $iconPosition) : null; - } - - $hasAlpineActiveClasses = filled($alpineActive); - $hasDeferredBadge = filled($alpineDeferredBadgeData); -@endphp - -<{{ $tag }} - @if ($tag === 'button') - type="{{ $type }}" - @elseif ($tag === 'a') - {{ \Filament\Support\generate_href_html($href, $target === '_blank', $spaMode) }} - @endif - @if ($hasAlpineActiveClasses) - x-bind:class="{ - 'fi-active': {{ $alpineActive }}, - }" - @endif - {{ - $attributes - ->merge([ - 'aria-selected' => $active, - 'role' => 'tab', - ]) - ->class([ - 'fi-tabs-item', - 'fi-active' => (! $hasAlpineActiveClasses) && $active, - ]) - }} -> - @if ($icon && $iconPosition === IconPosition::Before) - {{ \Filament\Support\generate_icon_html($icon) }} - @endif - - - {{ $slot }} - - - @if ($icon && $iconPosition === IconPosition::After) - {{ \Filament\Support\generate_icon_html($icon) }} - @endif - - @if (filled($badge)) - @if ($badge instanceof \Illuminate\View\ComponentSlot) - {{ $badge }} - @else - - {{ $badge }} - - @endif - @elseif ($hasDeferredBadge) - - {{ \Filament\Support\generate_loading_indicator_html(size: \Filament\Support\Enums\IconSize::Small) }} - - - - @endif - diff --git a/resources/views/vendor/filament/components/toggle.blade.php b/resources/views/vendor/filament/components/toggle.blade.php deleted file mode 100644 index 348e76f9..00000000 --- a/resources/views/vendor/filament/components/toggle.blade.php +++ /dev/null @@ -1,67 +0,0 @@ -@php - use Filament\Support\View\Components\ToggleComponent; - use Illuminate\Support\Arr; -@endphp - -@props([ - 'state', - 'offColor' => 'gray', - 'offIcon' => null, - 'onColor' => 'primary', - 'onIcon' => null, -]) - - - -@if ($state) -
    -
    - - - -
    -
    -@endif diff --git a/stubs/filament/ColumnView.stub b/stubs/filament/ColumnView.stub deleted file mode 100644 index a9e74304..00000000 --- a/stubs/filament/ColumnView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
    - {{ $getState() }} -
    diff --git a/stubs/filament/ComponentView.stub b/stubs/filament/ComponentView.stub deleted file mode 100644 index 20ec68fe..00000000 --- a/stubs/filament/ComponentView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
    - {{-- Use $getChildSchema() to render the child schema() of this component. --}} -
    diff --git a/stubs/filament/EntryView.stub b/stubs/filament/EntryView.stub deleted file mode 100644 index e3e5f53a..00000000 --- a/stubs/filament/EntryView.stub +++ /dev/null @@ -1,8 +0,0 @@ - -
    - {{ $getState() }} -
    -
    diff --git a/stubs/filament/FieldView.stub b/stubs/filament/FieldView.stub deleted file mode 100644 index a8c9a008..00000000 --- a/stubs/filament/FieldView.stub +++ /dev/null @@ -1,11 +0,0 @@ - -
    - {{-- Interact with the `state` property in Alpine.js --}} -
    -
    diff --git a/stubs/filament/LivewireFormView.stub b/stubs/filament/LivewireFormView.stub deleted file mode 100644 index bdddb320..00000000 --- a/stubs/filament/LivewireFormView.stub +++ /dev/null @@ -1,11 +0,0 @@ -
    -
    - {{ $this->form }} - - -
    - - -
    diff --git a/stubs/filament/LivewireSchemaView.stub b/stubs/filament/LivewireSchemaView.stub deleted file mode 100644 index 5507edb5..00000000 --- a/stubs/filament/LivewireSchemaView.stub +++ /dev/null @@ -1,5 +0,0 @@ -
    - {{ $this->content }} - - -
    diff --git a/stubs/filament/LivewireTableView.stub b/stubs/filament/LivewireTableView.stub deleted file mode 100644 index c3fedc4a..00000000 --- a/stubs/filament/LivewireTableView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
    - {{ $this->table }} -
    diff --git a/stubs/filament/PageView.stub b/stubs/filament/PageView.stub deleted file mode 100644 index bb8ed159..00000000 --- a/stubs/filament/PageView.stub +++ /dev/null @@ -1,3 +0,0 @@ - - {{-- Page content --}} - diff --git a/stubs/filament/RichContentCustomBlockPreviewView.stub b/stubs/filament/RichContentCustomBlockPreviewView.stub deleted file mode 100644 index cd3a0532..00000000 --- a/stubs/filament/RichContentCustomBlockPreviewView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
    - {{-- Custom block preview --}} -
    diff --git a/stubs/filament/RichContentCustomBlockView.stub b/stubs/filament/RichContentCustomBlockView.stub deleted file mode 100644 index eb70f329..00000000 --- a/stubs/filament/RichContentCustomBlockView.stub +++ /dev/null @@ -1,3 +0,0 @@ -
    - {{-- Custom block --}} -
    diff --git a/stubs/filament/ThemeCss.stub b/stubs/filament/ThemeCss.stub deleted file mode 100644 index 91c829b1..00000000 --- a/stubs/filament/ThemeCss.stub +++ /dev/null @@ -1,4 +0,0 @@ -@import '../../../../vendor/filament/filament/resources/css/theme.css'; - -@source '../../../../app/Filament/{{ classDirectory }}**/*'; -@source '../../../../resources/views/filament/{{ viewDirectory }}**/*'; diff --git a/stubs/filament/WidgetView.stub b/stubs/filament/WidgetView.stub deleted file mode 100644 index 784d725c..00000000 --- a/stubs/filament/WidgetView.stub +++ /dev/null @@ -1,5 +0,0 @@ - - - {{-- Widget content --}} - - diff --git a/stubs/mcp-app-resource.stub b/stubs/mcp-app-resource.stub deleted file mode 100644 index c845ab68..00000000 --- a/stubs/mcp-app-resource.stub +++ /dev/null @@ -1,24 +0,0 @@ - $this->title(), - ]); - } -} diff --git a/stubs/mcp-app-resource.view.stub b/stubs/mcp-app-resource.view.stub deleted file mode 100644 index 2117c61c..00000000 --- a/stubs/mcp-app-resource.view.stub +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -
    - -

    -
    -
    diff --git a/stubs/mcp-prompt.stub b/stubs/mcp-prompt.stub deleted file mode 100644 index f9bb38c6..00000000 --- a/stubs/mcp-prompt.stub +++ /dev/null @@ -1,35 +0,0 @@ - - */ - public function arguments(): array - { - return [ - // - ]; - } -} diff --git a/stubs/mcp-resource.stub b/stubs/mcp-resource.stub deleted file mode 100644 index 62cd6828..00000000 --- a/stubs/mcp-resource.stub +++ /dev/null @@ -1,22 +0,0 @@ - - */ - public function schema(JsonSchema $schema): array - { - return [ - // - ]; - } -}