BladewindUI has been designed to not interfere with the existing components in your project.
Probably you just want to take this for a spin before deciding if BladewindUI components will be the only components you use in your project.
Once installed, all BladewindUI components are invoked by default from your project's vendor > mkocansey > bladewind
directory.
Per Laravel convention, this results in you having to type the <x-bladewind
prefix everytime you want to use a BladewindUI component.
<x-bladewind::button>Save User</x-bladewind::button>
Once you publish the BladewindUI components, the files get moved to your project's resources > views > components > bladewind
directory.
You can then use the dot, instead of the colon syntax to access a component.
<x-bladewind.button>Save User</x-bladewind.button>
It is possible to get rid of the bladewind prefix entirely. <x-bladewind.button>Save User</x-bladewind.button>
becomes <x-button>Save User</x-button>
.
To achieve this, you should have already published the Bladewind components. Next you will move all the blade files in resources > views > components > bladewind
into resources > views > components
.
You can then delete the bladewind folder from your resources > views > components
folder since it should technically be empty at this point.
resources > views > components
directory with the same name as what you are moving from the resources > views > components > bladewind
directory, will be overwritten.Truly, you can! These components are in essence just Laravel blade templates that sit right in your project. If there are any implementations you are unhappy with, simply locate the particular blade template and dissect it at will. At the end of every component documentation page, you will find the name of the blade file that defines that component.
Updates that touch the css and js files require the library's assets to be republished. Run the command below to republish the library's css and js files.
php artisan vendor:publish --tag=bladewind-public --force
The Datepicker component is wired to speak a couple of languages. The language files are served from BladewindUI's vendor directory,
vendor > mkocansey > bladewind > lang
. Currently the available languages contributed by the community are English, French, Italian, Arabic, German, Chinese, Spanish and Indonesian. You can add more languages as you see fit or even modify the existing translations. If you want to do this for just your project you will first need to publish the language files by running the command below from the root of your project.
You can contribute a new language translation.
php artisan vendor:publish --tag=bladewind-lang --force
The language files will now be available in your project's lang > vendor > bladewind
directory. You can now add more languages or edit the language files that were published.
The BladewindUI library has made some default UI decisions which may be different from what you need in your projects. For example, all Tag and Button
component texts are always uppercase. To make them lowercase, you will need to set uppercasing="false"
.
If you need all your buttons in lowercase, that means you will be typing a lot of uppercasing="false"
.
Now what if you also need all your buttons to be small and to have no focus rings, your code every time will be
<x-bladewind-button show_focus_ring="false" size="small" uppercasing="false">
Save
</x-bladewind-button>
Mehn!! This is crazily tedious. Won't it be great to just type the code below to get a button looking the way you'd want for your project?
<x-bladewind-button>Save</x-bladewind-button>
To achieve this, simply publish the BladewindUI config file by running the code below from the root of your proejct.
php artisan vendor:publish --tag=bladewind-config --force
You will now have a your project root > config > bladewind.php
file with some boilerplate code you can edit or add to.
Every BladewindUI component is defined as an array key with some default values. Whatever attributes you wish to define as a default should be
defined within its corresponding tag's array key. The code below is for the above example where we want all our buttons to be small, have no
focus rings and not be uppercase.
// config/bladewind.php
...
/*
|--------------------------------------------------------------------------
| Button component
|--------------------------------------------------------------------------
*/
'button' => [
'size' => 'small',
'show_focus_ring' => false,
'uppercasing' => false,
'radius' => 'medium',
'tag' => 'button',
// define default attributes for all circular buttons
'circle' => [
'size' => 'regular',
]
],
...
php artisan config:clear