├── resources ├── views │ ├── .gitkeep │ ├── forms │ │ └── components │ │ │ ├── pills │ │ │ └── pill.blade.php │ │ │ └── pills.blade.php │ └── tables │ │ └── columns │ │ └── chip-column.blade.php ├── dist │ ├── mix-manifest.json │ └── filament-addons.css └── css │ └── filament-addons.css ├── src ├── FilamentAddons.php ├── FilamentAddonsServiceProvider.php ├── Tables │ └── Columns │ │ └── ChipColumn.php └── Forms │ └── Components │ ├── Pills.php │ └── Pills │ └── Pill.php ├── postcss.config.js ├── mix-manifest.json ├── tailwind.config.js ├── package.json ├── LICENSE.md ├── .php-cs-fixer.dist.php ├── CHANGELOG.md ├── composer.json ├── yarn-error.log ├── README.md └── yarn.lock /resources/views/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dist/mix-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "/filament-addons.css": "/filament-addons.css" 3 | } 4 | -------------------------------------------------------------------------------- /resources/css/filament-addons.css: -------------------------------------------------------------------------------- 1 | @tailwind components; 2 | @tailwind utilities; 3 | @tailwind base; 4 | -------------------------------------------------------------------------------- /src/FilamentAddons.php: -------------------------------------------------------------------------------- 1 | merge($getExtraAttributes())->class([ 4 | 'focus:outline-none 5 | filament-forms-pills-component-pill', 6 | ]) }}> 7 | {{ $getChildComponentContainer() }} 8 | 9 | -------------------------------------------------------------------------------- /src/FilamentAddonsServiceProvider.php: -------------------------------------------------------------------------------- 1 | __DIR__ . '/../resources/dist/filament-addons.css', 12 | ]; 13 | 14 | public function configurePackage(Package $package): void 15 | { 16 | $package 17 | ->name('filament-addons') 18 | ->hasViews(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Tables/Columns/ChipColumn.php: -------------------------------------------------------------------------------- 1 | invert = $condition; 16 | 17 | return $this; 18 | } 19 | 20 | public function getInvert(): bool 21 | { 22 | return $this->invert; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "description": "A Set of Filament Component Addons with different designs and extra functionalities", 4 | "main": "index.js", 5 | "scripts": { 6 | "dev": "npx tailwindcss -i resources/css/filament-addons.css -o resources/dist/filament-addons.css --postcss --watch", 7 | "build": "npx tailwindcss -i resources/css/filament-addons.css -o resources/dist/filament-addons.css --postcss --minify" 8 | }, 9 | "author": "Bezhan Salleh", 10 | "license": "MIT", 11 | "devDependencies": { 12 | "@tailwindcss/typography": "^0.5.4", 13 | "autoprefixer": "^10.4", 14 | "postcss": "^8.4", 15 | "tailwindcss": "^3.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) bezhanSalleh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/Forms/Components/Pills.php: -------------------------------------------------------------------------------- 1 | label($label); 20 | } 21 | 22 | public static function make(string $label): static 23 | { 24 | $static = app(static::class, ['label' => $label]); 25 | $static->configure(); 26 | 27 | return $static; 28 | } 29 | 30 | public function pills(array $pills): static 31 | { 32 | $this->childComponents($pills); 33 | 34 | return $this; 35 | } 36 | 37 | public function activePill(int | Closure $activePill): static 38 | { 39 | $this->activePill = $activePill; 40 | 41 | return $this; 42 | } 43 | 44 | public function getActivePill(): int 45 | { 46 | return $this->evaluate($this->activePill); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /.php-cs-fixer.dist.php: -------------------------------------------------------------------------------- 1 | in([ 5 | __DIR__ . '/src', 6 | __DIR__ . '/tests', 7 | ]) 8 | ->name('*.php') 9 | ->notName('*.blade.php') 10 | ->ignoreDotFiles(true) 11 | ->ignoreVCS(true); 12 | 13 | return (new PhpCsFixer\Config()) 14 | ->setRules([ 15 | '@PSR12' => true, 16 | 'array_syntax' => ['syntax' => 'short'], 17 | 'ordered_imports' => ['sort_algorithm' => 'alpha'], 18 | 'no_unused_imports' => true, 19 | 'not_operator_with_successor_space' => true, 20 | 'trailing_comma_in_multiline' => true, 21 | 'phpdoc_scalar' => true, 22 | 'unary_operator_spaces' => true, 23 | 'binary_operator_spaces' => true, 24 | 'blank_line_before_statement' => [ 25 | 'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'], 26 | ], 27 | 'phpdoc_single_line_var_spacing' => true, 28 | 'phpdoc_var_without_name' => true, 29 | 'class_attributes_separation' => [ 30 | 'elements' => [ 31 | 'method' => 'one', 32 | ], 33 | ], 34 | 'method_argument_space' => [ 35 | 'on_multiline' => 'ensure_fully_multiline', 36 | 'keep_multiple_spaces_after_comma' => true, 37 | ], 38 | 'single_trait_insert_per_statement' => true, 39 | ]) 40 | ->setFinder($finder); 41 | -------------------------------------------------------------------------------- /src/Forms/Components/Pills/Pill.php: -------------------------------------------------------------------------------- 1 | label($label); 21 | $this->id(Str::slug($label)); 22 | } 23 | 24 | public static function make(string $label): static 25 | { 26 | $static = app(static::class, ['label' => $label]); 27 | $static->configure(); 28 | 29 | return $static; 30 | } 31 | 32 | public function icon(string | Closure | null $icon): static 33 | { 34 | $this->icon = $icon; 35 | 36 | return $this; 37 | } 38 | 39 | public function badge(string | Closure | null $badge): static 40 | { 41 | $this->badge = $badge; 42 | 43 | return $this; 44 | } 45 | 46 | public function getIcon(): ?string 47 | { 48 | return $this->evaluate($this->icon); 49 | } 50 | 51 | public function getBadge(): ?string 52 | { 53 | return $this->evaluate($this->badge); 54 | } 55 | 56 | public function getId(): string 57 | { 58 | return $this->getContainer()->getParentComponent()->getId() . '-' . parent::getId() . '-pill'; 59 | } 60 | 61 | public function getColumnsConfig(): array 62 | { 63 | return $this->columns ?? $this->getContainer()->getColumnsConfig(); 64 | } 65 | 66 | public function canConcealComponents(): bool 67 | { 68 | return true; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to `filament-tab-pills-component` will be documented in this file. 4 | 5 | ## 1.0.1 - 2023-03-05 6 | 7 | ### What's Changed 8 | 9 | - Bump dependabot/fetch-metadata from 1.3.3 to 1.3.4 by @dependabot in https://github.com/bezhanSalleh/filament-addons/pull/3 10 | - Bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 by @dependabot in https://github.com/bezhanSalleh/filament-addons/pull/4 11 | - Bump dependabot/fetch-metadata from 1.3.5 to 1.3.6 by @dependabot in https://github.com/bezhanSalleh/filament-addons/pull/6 12 | - Bump ramsey/composer-install from 1 to 2 by @dependabot in https://github.com/bezhanSalleh/filament-addons/pull/5 13 | - Laravel 10 Support by @patrickcurl in https://github.com/bezhanSalleh/filament-addons/pull/7 14 | 15 | ### New Contributors 16 | 17 | - @dependabot made their first contribution in https://github.com/bezhanSalleh/filament-addons/pull/3 18 | - @patrickcurl made their first contribution in https://github.com/bezhanSalleh/filament-addons/pull/7 19 | 20 | **Full Changelog**: https://github.com/bezhanSalleh/filament-addons/compare/1.0.0...1.0.1 21 | 22 | ## 1.0.0 - 2022-09-04 23 | 24 | **Full Changelog**: https://github.com/bezhanSalleh/filament-addons/compare/0.0.4...1.0.0 25 | 26 | ## 0.0.4 - 2022-08-08 27 | 28 | ### What's Changed 29 | 30 | - feature: new `TableBuilder` column `ChipColumn` by @bezhanSalleh in https://github.com/bezhanSalleh/filament-addons/pull/2 31 | 32 | **Full Changelog**: https://github.com/bezhanSalleh/filament-addons/compare/v0.0.3...0.0.4 33 | 34 | ## v0.0.3 - 2022-07-29 35 | 36 | ### What's Changed 37 | 38 | - added the ability to set a default active pill 39 | 40 | **Full Changelog**: https://github.com/bezhanSalleh/filament-addons/compare/v0.0.2...v0.0.3 41 | 42 | ## v0.0.2 - 2022-07-11 43 | 44 | - fixed styling issue 45 | - **Full Changelog**: https://github.com/bezhanSalleh/filament-addons/compare/v0.0.1...v0.0.2 46 | 47 | ## v0.0.1 - 2022-07-10 48 | 49 | - Production Release Ready 50 | - **Full Changelog**: https://github.com/bezhanSalleh/filament-addons/compare/v0.0.0...v0.0.1 51 | 52 | ## v0.0.0 - 2022-07-10 53 | 54 | - preview release ready 55 | - **Full Changelog**: https://github.com/bezhanSalleh/filament-addons/commits/v0.0.0 56 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bezhansalleh/filament-addons", 3 | "description": "A Set of Filament Component Addons with different designs and extra functionalities ", 4 | "keywords": [ 5 | "bezhanSalleh", 6 | "laravel", 7 | "filament-component-extensions", 8 | "filament-addons", 9 | "filament-extra", 10 | "filament-component-addons", 11 | "filament-tab-pills" 12 | ], 13 | "homepage": "https://github.com/bezhansalleh/filament-addons", 14 | "license": "MIT", 15 | "authors": [ 16 | { 17 | "name": "Bezhan Salleh", 18 | "email": "bezhan_salleh@yahoo.com", 19 | "role": "Developer" 20 | } 21 | ], 22 | "require": { 23 | "php": "^8.0|^8.1", 24 | "filament/filament": "^2.0", 25 | "spatie/laravel-package-tools": "^1.9.2", 26 | "illuminate/contracts": "^8.0|^9.0|^10.0" 27 | }, 28 | "require-dev": { 29 | "friendsofphp/php-cs-fixer": "^3.8", 30 | "nunomaduro/collision": "^6.0|^7.0", 31 | "nunomaduro/larastan": "^2.0.1", 32 | "orchestra/testbench": "^7.0", 33 | "pestphp/pest": "^1.21", 34 | "pestphp/pest-plugin-laravel": "^1.1", 35 | "phpstan/extension-installer": "^1.1", 36 | "phpstan/phpstan-deprecation-rules": "^1.0", 37 | "phpstan/phpstan-phpunit": "^1.0", 38 | "phpunit/phpunit": "^9.5" 39 | }, 40 | "autoload": { 41 | "psr-4": { 42 | "BezhanSalleh\\FilamentAddons\\": "src" 43 | } 44 | }, 45 | "autoload-dev": { 46 | "psr-4": { 47 | "BezhanSalleh\\FilamentAddons\\Tests\\": "tests" 48 | } 49 | }, 50 | "scripts": { 51 | "analyse": "vendor/bin/phpstan analyse", 52 | "test": "vendor/bin/pest", 53 | "test-coverage": "vendor/bin/pest --coverage", 54 | "format": "vendor/bin/php-cs-fixer fix --allow-risky=yes" 55 | }, 56 | "config": { 57 | "sort-packages": true, 58 | "allow-plugins": { 59 | "pestphp/pest-plugin": true, 60 | "phpstan/extension-installer": true 61 | } 62 | }, 63 | "extra": { 64 | "laravel": { 65 | "providers": [ 66 | "BezhanSalleh\\FilamentAddons\\FilamentAddonsServiceProvider" 67 | ] 68 | } 69 | }, 70 | "minimum-stability": "dev", 71 | "prefer-stable": true 72 | } 73 | -------------------------------------------------------------------------------- /yarn-error.log: -------------------------------------------------------------------------------- 1 | Arguments: 2 | /usr/local/Cellar/node/18.3.0/bin/node /usr/local/Cellar/yarn/1.22.19/libexec/bin/yarn.js 3 | 4 | PATH: 5 | /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/local/sbin:/Users/bsalleh/.fig/bin:/Users/bsalleh/.local/bin:/Users/bsalleh/.composer/vendor/bin:/Users/bsalleh/Sites/flutter/bin:/Users/bsalleh/Library/Android/sdk/tools:/Users/bsalleh/Library/Android/sdk/tools/bin/:/Users/bsalleh/Library/Android/sdk/platform-tools:/Users/bsalleh/.composer/vendor/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/local/sbin:/Users/bsalleh/.fig/bin:/Users/bsalleh/.local/bin:/Users/bsalleh/.composer/vendor/bin:/Users/bsalleh/Sites/flutter/bin:/Users/bsalleh/Library/Android/sdk/tools:/Users/bsalleh/Library/Android/sdk/tools/bin/:/Users/bsalleh/Library/Android/sdk/platform-tools:/Users/bsalleh/Sites/flutter/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/local/sbin:/Users/bsalleh/.fig/bin:/Users/bsalleh/.local/bin:/Users/bsalleh/.composer/vendor/bin:/Users/bsalleh/Sites/flutter/bin:/Users/bsalleh/Library/Android/sdk/tools:/Users/bsalleh/Library/Android/sdk/tools/bin/:/Users/bsalleh/Library/Android/sdk/platform-tools:/Users/bsalleh/.composer/vendor/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/usr/local/sbin:/Users/bsalleh/.fig/bin:/Users/bsalleh/.local/bin:/Users/bsalleh/.composer/vendor/bin:/Users/bsalleh/Sites/flutter/bin:/Users/bsalleh/Library/Android/sdk/tools:/Users/bsalleh/Library/Android/sdk/tools/bin/:/Users/bsalleh/Library/Android/sdk/platform-tools:/Users/bsalleh/Library/Android/sdk/tools:/Users/bsalleh/Library/Android/sdk/tools/bin/:/Users/bsalleh/Library/Android/sdk/platform-tools:/Users/bsalleh/.composer/vendor/bin 6 | 7 | Yarn version: 8 | 1.22.19 9 | 10 | Node version: 11 | 18.3.0 12 | 13 | Platform: 14 | darwin x64 15 | 16 | Trace: 17 | SyntaxError: /Users/bsalleh/Sites/packages/addons/package.json: Unexpected token } in JSON at position 414 18 | at JSON.parse () 19 | at /usr/local/Cellar/yarn/1.22.19/libexec/lib/cli.js:1629:59 20 | at Generator.next () 21 | at step (/usr/local/Cellar/yarn/1.22.19/libexec/lib/cli.js:310:30) 22 | at /usr/local/Cellar/yarn/1.22.19/libexec/lib/cli.js:321:13 23 | 24 | npm manifest: 25 | { 26 | "private": true, 27 | "description": "A Set of Filament Component Addons with different designs and extra functionalities", 28 | "main": "index.js", 29 | "scripts": { 30 | "dev": "npx tailwindcss -i resources/css/filament-addons.css -o resources/dist/filament-addons.css --postcss --watch", 31 | "build": "npx tailwindcss -i resources/css/filament-addons.css -o resources/dist/filament-addons.css --postcss --minify", 32 | }, 33 | "author": "Bezhan Salleh", 34 | "license": "MIT", 35 | "devDependencies": { 36 | "autoprefixer": "^10.4", 37 | "postcss": "^8.4", 38 | "tailwindcss": "^3.1" 39 | } 40 | } 41 | 42 | yarn manifest: 43 | No manifest 44 | 45 | Lockfile: 46 | No lockfile 47 | -------------------------------------------------------------------------------- /resources/views/forms/components/pills.blade.php: -------------------------------------------------------------------------------- 1 |
merge($getExtraAttributes())->class([ 22 | 'p-4 rounded-xl shadow-sm bg-white filament-addons', 23 | 'dark:bg-gray-700 dark:border-gray-600' => config('forms.dark_mode'), 24 | ]) }} 25 | {{ $getExtraAlpineAttributeBag() }}> 26 | 27 | 30 | 31 |
32 | 33 | 43 |
44 | 78 | @foreach ($getChildComponentContainer()->getComponents() as $pill) 79 | {{ $pill }} 80 | @endforeach 81 |
82 | -------------------------------------------------------------------------------- /resources/views/tables/columns/chip-column.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | $state = $getFormattedState(); 3 | 4 | $stateColor = match ($getStateColor()) { 5 | 'primary' => \Illuminate\Support\Arr::toCssClasses([ 6 | 'bg-primary-600 text-white' => $getInvert(), 7 | 'text-primary-600 bg-primary-500/10' => !$getInvert(), 8 | 'dark:text-primary-500 dark:bg-primary-500/10' => !$getInvert() && config('tables.dark_mode'), 9 | ]), 10 | 'success' => \Illuminate\Support\Arr::toCssClasses([ 11 | 'bg-success-600 text-white' => $getInvert(), 12 | 'text-success-600 bg-success-500/10' => !$getInvert(), 13 | 'dark:text-success-500 dark:bg-success-500/10' => !$getInvert() && config('tables.dark_mode'), 14 | ]), 15 | 'warning' => \Illuminate\Support\Arr::toCssClasses([ 16 | 'bg-warning-600 text-white' => $getInvert(), 17 | 'text-warning-600 bg-warning-500/10' => !$getInvert(), 18 | 'dark:text-warning-500 dark:bg-warning-500/10' => !$getInvert() && config('tables.dark_mode'), 19 | ]), 20 | 'danger' => \Illuminate\Support\Arr::toCssClasses([ 21 | 'bg-danger-600 text-white' => $getInvert(), 22 | 'text-danger-600 bg-danger-500/10' => !$getInvert(), 23 | 'dark:text-danger-500 dark:bg-danger-500/10' => !$getInvert() && config('tables.dark_mode'), 24 | ]), 25 | null => \Illuminate\Support\Arr::toCssClasses(['text-gray-600 bg-gray-500/10', 'dark:text-gray-300 dark:bg-gray-500/20' => config('tables.dark_mode')]), 26 | default => $getStateColor() 27 | }; 28 | 29 | $iconColor = match ($getStateColor()) { 30 | 'primary' => \Illuminate\Support\Arr::toCssClasses([ 31 | 'text-white bg-primary-600 ' => !$getInvert(), 32 | 'text-primary-600 bg-white' => $getInvert(), 33 | 'dark:text-gray-100' => !$getInvert() && config('tables.dark_mode'), 34 | ]), 35 | 'success' => \Illuminate\Support\Arr::toCssClasses([ 36 | 'text-white bg-success-600' => !$getInvert(), 37 | 'text-success-600 bg-white' => $getInvert(), 38 | 'dark:text-gray-100' => !$getInvert() && config('tables.dark_mode'), 39 | ]), 40 | 'warning' => \Illuminate\Support\Arr::toCssClasses([ 41 | 'text-white bg-warning-600 ' => !$getInvert(), 42 | 'text-warning-600 bg-white' => $getInvert(), 43 | 'dark:text-gray-100' => !$getInvert() && config('tables.dark_mode'), 44 | ]), 45 | 'danger' => \Illuminate\Support\Arr::toCssClasses([ 46 | 'text-white bg-danger-600' => !$getInvert(), 47 | 'text-danger-600 bg-white' => $getInvert(), 48 | 'dark:text-gray-100' => !$getInvert() && config('tables.dark_mode'), 49 | ]), 50 | null => \Illuminate\Support\Arr::toCssClasses(['text-white bg-gray-600', 'dark:text-gray-100 dark:bg-gray-800' => config('tables.dark_mode')]), 51 | default => $getStateColor() 52 | }; 53 | 54 | $stateIcon = $getStateIcon(); 55 | $iconPosition = $getIconPosition(); 56 | $iconClasses = 'h-4 w-4'; 57 | @endphp 58 | 59 |
merge($getExtraAttributes())->class([ 61 | 'px-4 py-3 flex filament-addons-badge-column', 62 | match ($getAlignment()) { 63 | 'left' => 'justify-start', 64 | 'center' => 'justify-center', 65 | 'right' => 'justify-end', 66 | default => null 67 | }, 68 | ]) }}> 69 | @if (filled($state)) 70 |
$stateColor, 73 | ])> 74 |
$stateIcon && $iconPosition === 'before', 77 | ])> 78 | 79 | {{ $state }} 80 | 81 | @if ($stateIcon) 82 |
$iconPosition === 'before', 85 | 'translate-x-2 rtl:-translate-x-2' => $iconPosition === 'after', 86 | $iconColor => $iconColor, 87 | ])> 88 | 89 |
90 | @endif 91 |
92 |
93 | @endif 94 |
95 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | filament-addons-art 4 | 5 | 6 |

7 | 8 | FILAMENT 8.x 9 | 10 | 11 | Packagist 12 | 13 | 14 | Tests Passing 15 | 16 | 17 | Code Style Passing 18 | 19 | 20 | 21 | Downloads 22 | 23 |

24 | 25 |
26 | 27 | # Filament Addons 28 | 29 | A set of filament components with extra functionality & fresh look 30 | 31 | 1. Pills (Tab Pills) 32 | 2. Chip Column 33 | 3. Coming Soon ... 34 | 35 | ## Installation 36 | 37 | You can install the package via composer: 38 | 39 | ```bash 40 | composer require bezhansalleh/filament-addons 41 | ``` 42 | ### Admin Panel & Forms 43 | 44 | #### Pills (Tab Pills) 45 | `Pills` basically behaves like the already existing `Tabs` form component but does more: 46 | 47 | - Can have icons 🥳 48 | - Can have badges 💯 49 | - has a **fresh** look 💅 50 | - Can be marked as active ✅ 51 | 52 | ```php 53 | use BezhanSalleh\FilamentAddons\Forms\Components; 54 | 55 | Components\Pills::make('Heading') 56 | ->activePill(2) // pill two will be the default active one 57 | ->pills([ 58 | Components\Pills\Pill::make('Shield') 59 | ->icon('heroicon-o-shield-check') 60 | ->badge('7.2K') 61 | ->schema([ 62 | Forms\Components\View::make('static-hello') 63 | ]), 64 | Components\Pills\Pill::make('Google Analytics') 65 | ->schema([ 66 | Forms\Components\View::make('static-why') 67 | ->fieldWrapperView(fn() => view('welcome')), 68 | ])->columns(1), 69 | Components\Pills\Pill::make('Translations Manager') 70 | ->icon('heroicon-o-sparkles') 71 | ->schema([ 72 | Forms\Components\View::make('static-view'), 73 | ... 74 | ]), 75 | ]), 76 | ``` 77 | > **Note** 78 | > The above snippet inside a resource form or page form will render as follow: 79 | 80 | https://user-images.githubusercontent.com/10007504/178133544-3621418b-8cc2-41c8-bfc0-c12d263dd0d4.mov 81 | 82 | ### Admin Panel & Tables 83 | 84 | #### ChipColumn 85 | `ChipColumn` basically behaves like the already existing `Badge` Column but changes the appearance and icon desing: 86 | ```php 87 | use BezhanSalleh\FilamentAddons\Tables\Columns\ChipColumn; 88 | 89 | ChipColumn::make('role') 90 | ->label('Role(Chip)') 91 | ->colors([ 92 | 'primary', 93 | 'success' => fn ($state): bool => $state === 'admin', 94 | 'warning' => fn ($state): bool => $state === 'manager', 95 | 'danger' => fn ($state): bool => $state === 'editor', 96 | ]) 97 | ->icons([ 98 | 'heroicon-o-x', 99 | 'heroicon-s-shield-check' => fn ($state): bool => $state === 'admin', 100 | 'heroicon-o-user' => fn ($state): bool => $state === 'manager', 101 | 'heroicon-o-sparkles' => fn ($state): bool => $state === 'editor' 102 | ]) 103 | ->iconPosition('before') 104 | ``` 105 | Screen Shot 2022-08-08 at 2 29 47 PM 106 | 107 | * Use `invert()` to make it pop 108 | Screen Shot 2022-08-08 at 2 30 07 PM 109 | 110 | Optionally, you can publish the views using 111 | 112 | ```bash 113 | php artisan vendor:publish --tag="filament-addons-views" 114 | ``` 115 | ## Testing 116 | 117 | ```bash 118 | composer test 119 | ``` 120 | 121 | ## Changelog 122 | 123 | Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently. 124 | 125 | 126 | ## Contributing 127 | 128 | If you want to contribute to this packages, you may want to test it in a real Filament project: 129 | 130 | - Fork this repository to your GitHub account. 131 | - Create a Filament app locally. 132 | - Clone your fork in your Filament app's root directory. 133 | - In the `/filament-addons` directory, create a branch for your fix, e.g. `fix/error-message`. 134 | 135 | Install the packages in your app's `composer.json`: 136 | 137 | ```json 138 | "require": { 139 | "bezhansalleh/filament-addons": "dev-fix/error-message as main-dev", 140 | }, 141 | "repositories": [ 142 | { 143 | "type": "path", 144 | "url": "filament-addons" 145 | } 146 | ] 147 | ``` 148 | 149 | Now, run `composer update`. 150 | 151 | Please see [CONTRIBUTING](https://github.com/bezhanSalleh/.github/blob/main/CONTRIBUTING.md) for details. 152 | 153 | ## Security Vulnerabilities 154 | 155 | Please review [our security policy](../../security/policy) on how to report security vulnerabilities. 156 | 157 | ## Credits 158 | 159 | - [Bezhan Salleh](https://github.com/bezhanSalleh) 160 | - [All Contributors](../../contributors) 161 | 162 | ## License 163 | 164 | The MIT License (MIT). Please see [License File](LICENSE.md) for more information. 165 | -------------------------------------------------------------------------------- /resources/dist/filament-addons.css: -------------------------------------------------------------------------------- 1 | .filament-addons .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.filament-addons .invisible{visibility:hidden}.filament-addons .static{position:static}.filament-addons .my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.filament-addons .my-0{margin-top:0;margin-bottom:0}.filament-addons .mb-4{margin-bottom:1rem}.filament-addons .ml-auto{margin-left:auto}.filament-addons .block{display:block}.filament-addons .flex{display:flex}.filament-addons .inline-flex{display:inline-flex}.filament-addons .hidden{display:none}.filament-addons .h-10{height:2.5rem}.filament-addons .h-5{height:1.25rem}.filament-addons .h-4{height:1rem}.filament-addons .h-0{height:0}.filament-addons .w-full{width:100%}.filament-addons .w-5{width:1.25rem}.filament-addons .w-4{width:1rem}.filament-addons .shrink-0{flex-shrink:0}.filament-addons .-translate-x-2{--tw-translate-x:-0.5rem}.filament-addons .-translate-x-2,.filament-addons .translate-x-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.filament-addons .translate-x-2{--tw-translate-x:0.5rem}.filament-addons .flex-row-reverse{flex-direction:row-reverse}.filament-addons .items-center{align-items:center}.filament-addons .justify-start{justify-content:flex-start}.filament-addons .justify-end{justify-content:flex-end}.filament-addons .justify-center{justify-content:center}.filament-addons .justify-between{justify-content:space-between}.filament-addons .gap-3{gap:.75rem}.filament-addons .space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.filament-addons .space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.filament-addons .overflow-y-hidden{overflow-y:hidden}.filament-addons .whitespace-normal{white-space:normal}.filament-addons .whitespace-nowrap{white-space:nowrap}.filament-addons .rounded-xl{border-radius:.75rem}.filament-addons .rounded-lg{border-radius:.5rem}.filament-addons .rounded-full{border-radius:9999px}.filament-addons .border-2{border-width:2px}.filament-addons .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.filament-addons .bg-gray-500\/5{background-color:#6b72800d}.filament-addons .bg-white\/95{background-color:#fffffff2}.filament-addons .bg-gray-500\/10{background-color:#6b72801a}.filament-addons .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.filament-addons .p-4{padding:1rem}.filament-addons .p-2{padding:.5rem}.filament-addons .p-0{padding:0}.filament-addons .px-2{padding-left:.5rem;padding-right:.5rem}.filament-addons .px-3{padding-left:.75rem;padding-right:.75rem}.filament-addons .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.filament-addons .py-1{padding-top:.25rem;padding-bottom:.25rem}.filament-addons .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.filament-addons .py-0{padding-top:0;padding-bottom:0}.filament-addons .px-4{padding-left:1rem;padding-right:1rem}.filament-addons .py-3{padding-top:.75rem;padding-bottom:.75rem}.filament-addons .px-\[10px\]{padding-left:10px;padding-right:10px}.filament-addons .text-center{text-align:center}.filament-addons .text-xs{font-size:.75rem;line-height:1rem}.filament-addons .text-sm{font-size:.875rem;line-height:1.25rem}.filament-addons .font-medium{font-weight:500}.filament-addons .tracking-tight{letter-spacing:-.025em}.filament-addons .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.filament-addons .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.filament-addons .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.filament-addons .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.filament-addons .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filament-addons .invert{--tw-invert:invert(100%)}.filament-addons .filter,.filament-addons .invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filament-addons .transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.filament-addons .duration-75{transition-duration:75ms}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.filament-addons .focus\:bg-gray-500\/10:focus,.filament-addons .hover\:bg-gray-500\/10:hover{background-color:#6b72801a}.filament-addons .focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.filament-addons .focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filament-addons .focus\:ring-inset:focus{--tw-ring-inset:inset}.filament-addons [dir=rtl] .rtl\:ml-0{margin-left:0}.filament-addons [dir=rtl] .rtl\:mr-auto{margin-right:auto}.filament-addons [dir=rtl] .rtl\:translate-x-2{--tw-translate-x:0.5rem}.filament-addons [dir=rtl] .rtl\:-translate-x-2,.filament-addons [dir=rtl] .rtl\:translate-x-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.filament-addons [dir=rtl] .rtl\:-translate-x-2{--tw-translate-x:-0.5rem}.filament-addons [dir=rtl] .rtl\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.filament-addons .dark .dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.filament-addons .dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.filament-addons .dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.filament-addons .dark .dark\:bg-gray-500\/20{background-color:#6b728033}.filament-addons .dark .dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.filament-addons .dark .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.filament-addons .dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.filament-addons .dark .dark\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}@media (min-width:640px){.filament-addons .sm\:block{display:block}.filament-addons .sm\:hidden{display:none}} -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@nodelib/fs.scandir@2.1.5": 6 | version "2.1.5" 7 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 8 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 9 | dependencies: 10 | "@nodelib/fs.stat" "2.0.5" 11 | run-parallel "^1.1.9" 12 | 13 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 14 | version "2.0.5" 15 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 16 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 17 | 18 | "@nodelib/fs.walk@^1.2.3": 19 | version "1.2.8" 20 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 21 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 22 | dependencies: 23 | "@nodelib/fs.scandir" "2.1.5" 24 | fastq "^1.6.0" 25 | 26 | "@tailwindcss/typography@^0.5.4": 27 | version "0.5.4" 28 | resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.4.tgz#ad8c9e6808bae297bb7826742e4789f2a9f09a48" 29 | integrity sha512-QEdg40EmGvE7kKoDei8zr5sf4D1pIayHj4R31bH3lX8x2BtTiR+jNejYPOkhbmy3DXgkMF9jC8xqNiGFAuL9Sg== 30 | dependencies: 31 | lodash.castarray "^4.4.0" 32 | lodash.isplainobject "^4.0.6" 33 | lodash.merge "^4.6.2" 34 | 35 | acorn-node@^1.8.2: 36 | version "1.8.2" 37 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 38 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 39 | dependencies: 40 | acorn "^7.0.0" 41 | acorn-walk "^7.0.0" 42 | xtend "^4.0.2" 43 | 44 | acorn-walk@^7.0.0: 45 | version "7.2.0" 46 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 47 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 48 | 49 | acorn@^7.0.0: 50 | version "7.4.1" 51 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 52 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 53 | 54 | anymatch@~3.1.2: 55 | version "3.1.2" 56 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 57 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 58 | dependencies: 59 | normalize-path "^3.0.0" 60 | picomatch "^2.0.4" 61 | 62 | arg@^5.0.2: 63 | version "5.0.2" 64 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" 65 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== 66 | 67 | autoprefixer@^10.4: 68 | version "10.4.8" 69 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" 70 | integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== 71 | dependencies: 72 | browserslist "^4.21.3" 73 | caniuse-lite "^1.0.30001373" 74 | fraction.js "^4.2.0" 75 | normalize-range "^0.1.2" 76 | picocolors "^1.0.0" 77 | postcss-value-parser "^4.2.0" 78 | 79 | binary-extensions@^2.0.0: 80 | version "2.2.0" 81 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 82 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 83 | 84 | braces@^3.0.2, braces@~3.0.2: 85 | version "3.0.2" 86 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 87 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 88 | dependencies: 89 | fill-range "^7.0.1" 90 | 91 | browserslist@^4.21.3: 92 | version "4.21.3" 93 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" 94 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== 95 | dependencies: 96 | caniuse-lite "^1.0.30001370" 97 | electron-to-chromium "^1.4.202" 98 | node-releases "^2.0.6" 99 | update-browserslist-db "^1.0.5" 100 | 101 | camelcase-css@^2.0.1: 102 | version "2.0.1" 103 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 104 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 105 | 106 | caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: 107 | version "1.0.30001374" 108 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001374.tgz#3dab138e3f5485ba2e74bd13eca7fe1037ce6f57" 109 | integrity sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw== 110 | 111 | chokidar@^3.5.3: 112 | version "3.5.3" 113 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 114 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 115 | dependencies: 116 | anymatch "~3.1.2" 117 | braces "~3.0.2" 118 | glob-parent "~5.1.2" 119 | is-binary-path "~2.1.0" 120 | is-glob "~4.0.1" 121 | normalize-path "~3.0.0" 122 | readdirp "~3.6.0" 123 | optionalDependencies: 124 | fsevents "~2.3.2" 125 | 126 | color-name@^1.1.4: 127 | version "1.1.4" 128 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 129 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 130 | 131 | cssesc@^3.0.0: 132 | version "3.0.0" 133 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 134 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 135 | 136 | defined@^1.0.0: 137 | version "1.0.0" 138 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 139 | integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== 140 | 141 | detective@^5.2.1: 142 | version "5.2.1" 143 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" 144 | integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== 145 | dependencies: 146 | acorn-node "^1.8.2" 147 | defined "^1.0.0" 148 | minimist "^1.2.6" 149 | 150 | didyoumean@^1.2.2: 151 | version "1.2.2" 152 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 153 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 154 | 155 | dlv@^1.1.3: 156 | version "1.1.3" 157 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 158 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 159 | 160 | electron-to-chromium@^1.4.202: 161 | version "1.4.211" 162 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.211.tgz#afaa8b58313807501312d598d99b953568d60f91" 163 | integrity sha512-BZSbMpyFQU0KBJ1JG26XGeFI3i4op+qOYGxftmZXFZoHkhLgsSv4DHDJfl8ogII3hIuzGt51PaZ195OVu0yJ9A== 164 | 165 | escalade@^3.1.1: 166 | version "3.1.1" 167 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 168 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 169 | 170 | fast-glob@^3.2.11: 171 | version "3.2.11" 172 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 173 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 174 | dependencies: 175 | "@nodelib/fs.stat" "^2.0.2" 176 | "@nodelib/fs.walk" "^1.2.3" 177 | glob-parent "^5.1.2" 178 | merge2 "^1.3.0" 179 | micromatch "^4.0.4" 180 | 181 | fastq@^1.6.0: 182 | version "1.13.0" 183 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 184 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 185 | dependencies: 186 | reusify "^1.0.4" 187 | 188 | fill-range@^7.0.1: 189 | version "7.0.1" 190 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 191 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 192 | dependencies: 193 | to-regex-range "^5.0.1" 194 | 195 | fraction.js@^4.2.0: 196 | version "4.2.0" 197 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" 198 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== 199 | 200 | fsevents@~2.3.2: 201 | version "2.3.2" 202 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 203 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 204 | 205 | function-bind@^1.1.1: 206 | version "1.1.1" 207 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 208 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 209 | 210 | glob-parent@^5.1.2, glob-parent@~5.1.2: 211 | version "5.1.2" 212 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 213 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 214 | dependencies: 215 | is-glob "^4.0.1" 216 | 217 | glob-parent@^6.0.2: 218 | version "6.0.2" 219 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 220 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 221 | dependencies: 222 | is-glob "^4.0.3" 223 | 224 | has@^1.0.3: 225 | version "1.0.3" 226 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 227 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 228 | dependencies: 229 | function-bind "^1.1.1" 230 | 231 | is-binary-path@~2.1.0: 232 | version "2.1.0" 233 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 234 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 235 | dependencies: 236 | binary-extensions "^2.0.0" 237 | 238 | is-core-module@^2.9.0: 239 | version "2.10.0" 240 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 241 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 242 | dependencies: 243 | has "^1.0.3" 244 | 245 | is-extglob@^2.1.1: 246 | version "2.1.1" 247 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 248 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 249 | 250 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 251 | version "4.0.3" 252 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 253 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 254 | dependencies: 255 | is-extglob "^2.1.1" 256 | 257 | is-number@^7.0.0: 258 | version "7.0.0" 259 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 260 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 261 | 262 | lilconfig@^2.0.5, lilconfig@^2.0.6: 263 | version "2.0.6" 264 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" 265 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== 266 | 267 | lodash.castarray@^4.4.0: 268 | version "4.4.0" 269 | resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" 270 | integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q== 271 | 272 | lodash.isplainobject@^4.0.6: 273 | version "4.0.6" 274 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 275 | integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== 276 | 277 | lodash.merge@^4.6.2: 278 | version "4.6.2" 279 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 280 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 281 | 282 | merge2@^1.3.0: 283 | version "1.4.1" 284 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 285 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 286 | 287 | micromatch@^4.0.4: 288 | version "4.0.5" 289 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 290 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 291 | dependencies: 292 | braces "^3.0.2" 293 | picomatch "^2.3.1" 294 | 295 | minimist@^1.2.6: 296 | version "1.2.6" 297 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" 298 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 299 | 300 | nanoid@^3.3.4: 301 | version "3.3.4" 302 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 303 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 304 | 305 | node-releases@^2.0.6: 306 | version "2.0.6" 307 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 308 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 309 | 310 | normalize-path@^3.0.0, normalize-path@~3.0.0: 311 | version "3.0.0" 312 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 313 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 314 | 315 | normalize-range@^0.1.2: 316 | version "0.1.2" 317 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 318 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== 319 | 320 | object-hash@^3.0.0: 321 | version "3.0.0" 322 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" 323 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 324 | 325 | path-parse@^1.0.7: 326 | version "1.0.7" 327 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 328 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 329 | 330 | picocolors@^1.0.0: 331 | version "1.0.0" 332 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 333 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 334 | 335 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 336 | version "2.3.1" 337 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 338 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 339 | 340 | pify@^2.3.0: 341 | version "2.3.0" 342 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 343 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== 344 | 345 | postcss-import@^14.1.0: 346 | version "14.1.0" 347 | resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" 348 | integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== 349 | dependencies: 350 | postcss-value-parser "^4.0.0" 351 | read-cache "^1.0.0" 352 | resolve "^1.1.7" 353 | 354 | postcss-js@^4.0.0: 355 | version "4.0.0" 356 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 357 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 358 | dependencies: 359 | camelcase-css "^2.0.1" 360 | 361 | postcss-load-config@^3.1.4: 362 | version "3.1.4" 363 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 364 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 365 | dependencies: 366 | lilconfig "^2.0.5" 367 | yaml "^1.10.2" 368 | 369 | postcss-nested@5.0.6: 370 | version "5.0.6" 371 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" 372 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 373 | dependencies: 374 | postcss-selector-parser "^6.0.6" 375 | 376 | postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6: 377 | version "6.0.10" 378 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" 379 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== 380 | dependencies: 381 | cssesc "^3.0.0" 382 | util-deprecate "^1.0.2" 383 | 384 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: 385 | version "4.2.0" 386 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 387 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 388 | 389 | postcss@^8.4, postcss@^8.4.14: 390 | version "8.4.14" 391 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" 392 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 393 | dependencies: 394 | nanoid "^3.3.4" 395 | picocolors "^1.0.0" 396 | source-map-js "^1.0.2" 397 | 398 | queue-microtask@^1.2.2: 399 | version "1.2.3" 400 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 401 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 402 | 403 | quick-lru@^5.1.1: 404 | version "5.1.1" 405 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 406 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 407 | 408 | read-cache@^1.0.0: 409 | version "1.0.0" 410 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" 411 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== 412 | dependencies: 413 | pify "^2.3.0" 414 | 415 | readdirp@~3.6.0: 416 | version "3.6.0" 417 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 418 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 419 | dependencies: 420 | picomatch "^2.2.1" 421 | 422 | resolve@^1.1.7, resolve@^1.22.1: 423 | version "1.22.1" 424 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 425 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 426 | dependencies: 427 | is-core-module "^2.9.0" 428 | path-parse "^1.0.7" 429 | supports-preserve-symlinks-flag "^1.0.0" 430 | 431 | reusify@^1.0.4: 432 | version "1.0.4" 433 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 434 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 435 | 436 | run-parallel@^1.1.9: 437 | version "1.2.0" 438 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 439 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 440 | dependencies: 441 | queue-microtask "^1.2.2" 442 | 443 | source-map-js@^1.0.2: 444 | version "1.0.2" 445 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 446 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 447 | 448 | supports-preserve-symlinks-flag@^1.0.0: 449 | version "1.0.0" 450 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 451 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 452 | 453 | tailwindcss@^3.1: 454 | version "3.1.7" 455 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.7.tgz#ce99425f30a74e01457a2e6a724463b0df3159ac" 456 | integrity sha512-r7mgumZ3k0InfVPpGWcX8X/Ut4xBfv+1O/+C73ar/m01LxGVzWvPxF/w6xIUPEztrCoz7axfx0SMdh8FH8ZvRQ== 457 | dependencies: 458 | arg "^5.0.2" 459 | chokidar "^3.5.3" 460 | color-name "^1.1.4" 461 | detective "^5.2.1" 462 | didyoumean "^1.2.2" 463 | dlv "^1.1.3" 464 | fast-glob "^3.2.11" 465 | glob-parent "^6.0.2" 466 | is-glob "^4.0.3" 467 | lilconfig "^2.0.6" 468 | normalize-path "^3.0.0" 469 | object-hash "^3.0.0" 470 | picocolors "^1.0.0" 471 | postcss "^8.4.14" 472 | postcss-import "^14.1.0" 473 | postcss-js "^4.0.0" 474 | postcss-load-config "^3.1.4" 475 | postcss-nested "5.0.6" 476 | postcss-selector-parser "^6.0.10" 477 | postcss-value-parser "^4.2.0" 478 | quick-lru "^5.1.1" 479 | resolve "^1.22.1" 480 | 481 | to-regex-range@^5.0.1: 482 | version "5.0.1" 483 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 484 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 485 | dependencies: 486 | is-number "^7.0.0" 487 | 488 | update-browserslist-db@^1.0.5: 489 | version "1.0.5" 490 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" 491 | integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== 492 | dependencies: 493 | escalade "^3.1.1" 494 | picocolors "^1.0.0" 495 | 496 | util-deprecate@^1.0.2: 497 | version "1.0.2" 498 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 499 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 500 | 501 | xtend@^4.0.2: 502 | version "4.0.2" 503 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 504 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 505 | 506 | yaml@^1.10.2: 507 | version "1.10.2" 508 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 509 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 510 | --------------------------------------------------------------------------------