jey / livewire-styleable
A package for defining scoped styles in Livewire components (Scss support)
Installs: 30
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 0
Open Issues: 0
Type:package
Requires
- ext-dom: *
- ext-xml: *
- scssphp/scssphp: ^1.10
This package is not auto-updated.
Last update: 2024-11-07 23:43:48 UTC
README
Installing:
composer require jey/livewire-styleable
Using:
In Component class:
<?php namespace App\View\Component; use App\Models\Post; use Jey\LivewireStyleable\HasStyle; use Livewire\Component; class LatestPosts extends Component { use HasStyle; public function render() { return view('components.latest-posts', [ 'posts' => Post::published() ->latest() ->take(3) ->get(), ]); } }
In Blade template (latest-posts.blade.php):
<div>
<div class="row">
@foreach($posts as $post)
<div class="col-xs-1 col-md-3 col-lg-4 mb-3">
<div class="card">
<img src="{{ $post->image_url }}" alt="" class="card-img">
<div class="card-body" style="">
{{ $post->description }}
</div>
</div>
</div>
@endforeach
</div>
</div>
<style scoped lang="scss">
.card {
border-radius: 1rem;
overflow: hidden;
$card-color: red;
.card-body {
color: $card-color;
}
}
</style>
Module import support (Non-Webpack packages)
<style scoped lang="scss">
@module('LatestPosts')
</style>