Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified arts/screenshot.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 7 additions & 7 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"require": {
"php": "^8.3|^8.4",
"spatie/laravel-package-tools": "^1.14",
"illuminate/contracts": "^11.0|^12.0",
"illuminate/contracts": "^11.0|^12.0|^13.0",
Comment thread
coderabbitai[bot] marked this conversation as resolved.
"laravilt/support": "^1.0",
"laravilt/query-builder": "^1.0",
"laravilt/forms": "^1.0",
Expand All @@ -35,12 +35,12 @@
"larastan/larastan": "^2.9||^3.0",
"laravel/pint": "^1.14",
"nunomaduro/collision": "^8.1.1||^7.10.0",
"orchestra/testbench": "^10.0",
"pestphp/pest": "^3.0",
"pestphp/pest-plugin-arch": "^3.0",
"pestphp/pest-plugin-laravel": "^3.0",
"pestphp/pest-plugin-livewire": "^3.0",
"pestphp/pest-plugin-type-coverage": "^3.5",
"orchestra/testbench": "^10.0|^11.0",
"pestphp/pest": "^3.0|^4.0|^5.0",
"pestphp/pest-plugin-arch": "^3.0|^4.0|^5.0",
"pestphp/pest-plugin-laravel": "^3.0|^4.0|^5.0",
"pestphp/pest-plugin-livewire": "^3.0|^4.0|^5.0",
"pestphp/pest-plugin-type-coverage": "^3.5|^4.0|^5.0",
"phpstan/extension-installer": "^1.3||^2.0",
"phpstan/phpstan-deprecation-rules": "^1.1||^2.0",
"phpstan/phpstan-phpunit": "^1.3||^2.0"
Expand Down
2 changes: 2 additions & 0 deletions phpstan-baseline.neon
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
parameters:
ignoreErrors: []
3 changes: 2 additions & 1 deletion phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ parameters:
tmpDir: build/phpstan
checkOctaneCompatibility: true
checkModelProperties: true
checkMissingIterableValueType: false
ignoreErrors:
- identifier: missingType.iterableValue
7 changes: 0 additions & 7 deletions phpunit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,6 @@
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<coverage>
<report>
<html outputDirectory="build/coverage"/>
<text outputFile="build/coverage.txt"/>
<clover outputFile="build/logs/clover.xml"/>
</report>
</coverage>
<source>
<include>
<directory suffix=".php">./src</directory>
Expand Down
15 changes: 15 additions & 0 deletions resources/react/app.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/**
* Tables plugin for React (twin of resources/js/app.js).
*
* Registers all table-related components globally.
*
* Note: Filter components are not needed here since we use BaseFilter
* with Laravilt Form components instead.
*/
export default {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
register(options: Record<string, any> = {}): void {
// No table-specific components to register yet
// Filters use BaseFilter + Form components which are already registered
},
};
90 changes: 90 additions & 0 deletions resources/react/components/ApiTester.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
/* Sidebar tooltip styles (scoped in ApiTester.vue; `.sidebar-tooltip` is only used by this component) */
.sidebar-tooltip {
position: absolute;
left: 100%;
top: 50%;
transform: translateY(-50%);
margin-left: 8px;
padding: 6px 10px;
background: hsl(var(--popover));
color: hsl(var(--popover-foreground));
border: 1px solid hsl(var(--border));
border-radius: 6px;
font-size: 12px;
white-space: nowrap;
z-index: 50;
opacity: 0;
visibility: hidden;
transition: opacity 0.15s ease, visibility 0.15s ease;
box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
pointer-events: none;
}

/* Tooltip arrow */
.sidebar-tooltip::before {
content: '';
position: absolute;
left: -5px;
top: 50%;
transform: translateY(-50%) rotate(45deg);
width: 8px;
height: 8px;
background: hsl(var(--popover));
border-left: 1px solid hsl(var(--border));
border-bottom: 1px solid hsl(var(--border));
}

/* Show tooltip on hover */
.group:hover .sidebar-tooltip {
opacity: 1;
visibility: visible;
}

/* Global scrollbar styles (not scoped) */
/* Custom scrollbar for API Tester */
.api-tester-scrollbar::-webkit-scrollbar {
width: 8px;
height: 8px;
}

.api-tester-scrollbar::-webkit-scrollbar-track {
background: #e5e5e5;
border-radius: 4px;
}

.api-tester-scrollbar::-webkit-scrollbar-thumb {
background: #a3a3a3;
border-radius: 4px;
}

.api-tester-scrollbar::-webkit-scrollbar-thumb:hover {
background: #737373;
}

/* Dark mode scrollbar */
.dark .api-tester-scrollbar::-webkit-scrollbar-track {
background: #262626;
}

.dark .api-tester-scrollbar::-webkit-scrollbar-thumb {
background: #525252;
}

.dark .api-tester-scrollbar::-webkit-scrollbar-thumb:hover {
background: #737373;
}

/* Firefox scrollbar */
.api-tester-scrollbar {
scrollbar-width: thin;
scrollbar-color: #a3a3a3 #e5e5e5;
}

.dark .api-tester-scrollbar {
scrollbar-color: #525252 #262626;
}

/* Scrollbar corner */
.api-tester-scrollbar::-webkit-scrollbar-corner {
background: transparent;
}
Loading