justbetter/laravel-blade-tailwind-merge

此包已被弃用,不再维护。没有建议的替代包。

Tailwind类与Laravel Blade组件合并

0.3.0 2023-09-12 15:40 UTC

This package is auto-updated.

Last update: 2023-11-13 12:49:41 UTC


README

已存档,因为有新的包解决了此包的已知问题:tailwind-merge-laravel

Laravel Blade Tailwind Merge

此包为Laravel Blade组件中的属性包添加了一个->tailwind()方法,允许您覆盖类。

示例

假设您有一个如下的Blade "link"组件:

<a {{ $attributes->merge(['class' => 'flex px-5']) }}>
   {{ $slot }}
</a>

当您这样使用时

<x-button href="/" class="px-3">Home</x-button>

您最终得到的是flex px-5 px-3而不是flex px-3。因为Tailwind类是排序的,而px-5px-3之后,我们的"覆盖"不会起作用。

安装

composer require justbetter/laravel-blade-tailwind-merge

使用方法

从上面的示例中,只需在需要时使用tailwind('...')而不是merge(['class' => '...')class('...')

<a {{ $attributes->tailwind('flex px-5') }}>
   {{ $slot }}
</a>

已知问题

目前合并操作只检查破折号前的第一部分。因此,text-red-500会覆盖text-xl,反之亦然,因为我们只检查text-*。要修复这个问题,我们需要知道所有Tailwind选项,就像tailwind-merge所做的那样。也许未来会...但是欢迎PR!

参考

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。