[
  {
    "path": ".deepsource.toml",
    "content": "version = 1\n\n[[analyzers]]\nname = \"php\"\n\n[[analyzers]]\nname = \"javascript\"\n\n  [analyzers.meta]\n  plugins = [\"vue\"]"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\nindent_style = space\nindent_size = 4\ntrim_trailing_whitespace = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[*.{yml,yaml}]\nindent_size = 2\n\n[docker-compose.yml]\nindent_size = 4\n"
  },
  {
    "path": ".gitattributes",
    "content": "* text=auto eol=lf\n\n*.blade.php diff=html\n*.css diff=css\n*.html diff=html\n*.md diff=markdown\n*.php diff=php\n\n/.github export-ignore\nCHANGELOG.md export-ignore\n.styleci.yml export-ignore\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "github: [sinan-aydogan]\nopen_collective: sinanaydogan\nko_fi: sinanaydogan\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the bug**\nA clear and concise description of what the bug is.\n\n**To Reproduce**\nSteps to reproduce the behavior:\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n4. See error\n\n**Expected behavior**\nA clear and concise description of what you expected to happen.\n\n**Screenshots**\nIf applicable, add screenshots to help explain your problem.\n\n**Desktop (please complete the following information):**\n - OS: [e.g. iOS]\n - Browser [e.g. chrome, safari]\n - Version [e.g. 22]\n\n**Smartphone (please complete the following information):**\n - Device: [e.g. iPhone6]\n - OS: [e.g. iOS8.1]\n - Browser [e.g. stock browser, safari]\n - Version [e.g. 22]\n\n**Additional context**\nAdd any other context about the problem here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Is your feature request related to a problem? Please describe.**\nA clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n**Describe the solution you'd like**\nA clear and concise description of what you want to happen.\n\n**Describe alternatives you've considered**\nA clear and concise description of any alternative solutions or features you've considered.\n\n**Additional context**\nAdd any other context or screenshots about the feature request here.\n"
  },
  {
    "path": ".github/copilot-instructions.md",
    "content": "# TailAdmin Laravel - AI Coding Assistant Instructions\n\n## Project Overview\nTailAdmin is a Laravel 12 + Vue.js 3 admin dashboard built with Inertia.js, TailwindCSS 3, and Laravel Jetstream. It's a comprehensive UI starter kit with multi-language support, role-based permissions, and extensive custom components.\n\n## Architecture & Key Technologies\n\n### Core Stack\n- **Backend**: Laravel 12 with Inertia.js SSR\n- **Frontend**: Vue.js 3 with Composition API + Vite build system\n- **Styling**: TailwindCSS 3 with custom dark mode implementation\n- **Authentication**: Laravel Jetstream + Sanctum\n- **Permissions**: Spatie Laravel Permission package\n- **State Management**: Pinia stores for dark mode, language, etc.\n- **Icons**: FontAwesome via `@fortawesome/vue-fontawesome`\n\n### Project Structure Patterns\n- **Routes**: Modular routing via `routes/web_modules/` - add new route modules here\n- **Controllers**: Follow resource controller pattern, use `Inertia::render()` for page responses\n- **Vue Components**: Located in `resources/js/Components/` organized by type (Form/, Table/, etc.)\n- **Pages**: Inertia pages in `resources/js/Pages/` with consistent layout wrapping\n- **Custom Actions**: TailAdmin-specific actions in `app/Actions/TailAdmin/`\n\n## Development Workflows\n\n### Setup Commands\n```bash\ncomposer install && npm install\ncp .env.example .env\nphp artisan migrate --seed\nphp artisan storage:link && php artisan key:generate\n```\n\n### Development\n```bash\nnpm run dev          # Start Vite dev server with HMR\nphp artisan serve    # Start Laravel server\n```\n\n### Production Build\n```bash\nnpm run build        # Builds both client and SSR bundles\n```\n\n## Key Conventions & Patterns\n\n### Vue Component Architecture\n- All components use Composition API with `<script setup>`\n- Custom component prefix: `t-` (e.g., `<t-button>`, `<t-input>`)\n- Layout components in `resources/js/Layouts/` (AppLayout.vue is main)\n- Font Awesome icons registered globally as `<icon>` component\n\n### Backend Patterns\n- **Table Search**: Custom `tableSearch()` eloquent macro for frontend table filtering\n- **Permissions**: Super Admin bypass implemented in `AppServiceProvider::boot()`\n- **Inertia Responses**: Always return with `Inertia::render('PageName', $data)`\n- **Resources**: Use API Resources for consistent data transformation\n\n### State Management\n- **Dark Mode**: Managed via Pinia store in `resources/js/Stores/darkMode.js`\n- **Language**: i18n with vue-i18n, stores in `resources/js/Stores/displayLanguage.js`\n- **User Preferences**: Stored in database (`users.language`, `users.dark_mode`, `users.theme`)\n\n### Multi-language Implementation\n- **Frontend**: Vue i18n with language files in `resources/js/Lang/`\n- **Backend**: Laravel localization in `resources/lang/`\n- **Language Switching**: Route `/lang/{locale}` updates session locale\n\n### Component Library Structure\n- **Form Components**: Complex form elements with validation integration\n- **Table Components**: Frontend and backend table implementations with search/filter\n- **UI Components**: Alert, Badge, Button, Modal, etc. with consistent theming\n- **Custom Inputs**: Repeatable fields, date pickers, multi-select with rich features\n\n## Integration Points\n\n### Inertia.js Patterns\n- Page props passed via controller methods to Vue components\n- Shared data configured in `HandleInertiaRequests` middleware\n- Progress bar styling configured in `app.js`\n- SSR support configured with separate `ssr.js` entry point\n\n### TailwindCSS Customization\n- Dark mode: `selector` strategy with manual class toggling\n- Custom scrollbar plugin via `tailwind-scrollbar`\n- Component-specific utilities in theme extension\n- CSS purging configured for Vue SFC templates\n\n### Database Architecture\n- **User Personalization**: Language, dark_mode, theme columns in users table\n- **Demo Content**: Sample data model for table component demonstrations\n- **Permission Groups**: Custom grouping for Spatie permissions\n- **Team Management**: Laravel Jetstream team functionality enabled\n\n## Common Tasks\n\n### Adding New Pages\n1. Create controller with `Inertia::render()` response\n2. Add Vue page component in `resources/js/Pages/`\n3. Register route in appropriate `routes/web_modules/` file\n4. Use `<app-layout>` wrapper with title and breadcrumbs\n\n### Creating Components\n1. Add to appropriate `resources/js/Components/` subdirectory\n2. Use `t-` prefix for custom components\n3. Include prop validation and emits declaration\n4. Follow existing styling patterns with TailwindCSS\n\n### Extending Permissions\n1. Add permissions via database seeder or manual creation\n2. Group permissions using `PermissionGroup` model\n3. Use `@can` directive in Blade or `$page.props.auth.user.permissions` in Vue\n4. Remember Super Admin has automatic access to everything\n\n### Styling Guidelines\n- Use TailwindCSS utility classes primarily\n- Dark mode variants: `dark:` prefix (managed by Pinia store)\n- Custom CSS only when Tailwind utilities insufficient\n- Component theming via prop-based color/style variants\n\nThis codebase emphasizes rapid development with pre-built components, comprehensive theming, and developer-friendly patterns for admin dashboard creation.\n"
  },
  {
    "path": ".gitignore",
    "content": "# Laravel default\n*.log\n.DS_Store\n.env\n.env.backup\n.env.production\n.phpactor.json\n.phpunit.result.cache\n/.phpunit.cache\n/auth.json\n/bootstrap/ssr\n/node_modules\n/public/build\n/public/hot\n/public/storage\n/storage/*.key\n/storage/pail\n/vendor\nHomestead.json\nHomestead.yaml\nThumbs.db\n.workspace\nnpm-debug.log\nyarn-error.log\n\n# Editor directories and files\n.code-workspace\n/.c9\n/.cursor\n/.fleet\n/.jetbrains\n/.idea\n/.nova\n/.vscode\n/.vscode-ai\n/.zed\n/copilot.log\n/copilot-error.log\n/ai-cache\n/ai-temp\n\n# Laravel Sail\ndocker-compose.yml\ndocker-compose.dev.yml\ndocker-compose.override.yml\nsail.log\n"
  },
  {
    "path": ".prettierrc.json",
    "content": ""
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participation in our\ncommunity a harassment-free experience for everyone, regardless of age, body\nsize, visible or invisible disability, ethnicity, sex characteristics, gender\nidentity and expression, level of experience, education, socio-economic status,\nnationality, personal appearance, race, religion, or sexual identity\nand orientation.\n\nWe pledge to act and interact in ways that contribute to an open, welcoming,\ndiverse, inclusive, and healthy community.\n\n## Our Standards\n\nExamples of behavior that contributes to a positive environment for our\ncommunity include:\n\n* Demonstrating empathy and kindness toward other people\n* Being respectful of differing opinions, viewpoints, and experiences\n* Giving and gracefully accepting constructive feedback\n* Accepting responsibility and apologizing to those affected by our mistakes,\n  and learning from the experience\n* Focusing on what is best not just for us as individuals, but for the\n  overall community\n\nExamples of unacceptable behavior include:\n\n* The use of sexualized language or imagery, and sexual attention or\n  advances of any kind\n* Trolling, insulting or derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or email\n  address, without their explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n  professional setting\n\n## Enforcement Responsibilities\n\nCommunity leaders are responsible for clarifying and enforcing our standards of\nacceptable behavior and will take appropriate and fair corrective action in\nresponse to any behavior that they deem inappropriate, threatening, offensive,\nor harmful.\n\nCommunity leaders have the right and responsibility to remove, edit, or reject\ncomments, commits, code, wiki edits, issues, and other contributions that are\nnot aligned to this Code of Conduct, and will communicate reasons for moderation\ndecisions when appropriate.\n\n## Scope\n\nThis Code of Conduct applies within all community spaces, and also applies when\nan individual is officially representing the community in public spaces.\nExamples of representing our community include using an official e-mail address,\nposting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported to the community leaders responsible for enforcement at\ncontact@sinanaydogan.com.tr.\nAll complaints will be reviewed and investigated promptly and fairly.\n\nAll community leaders are obligated to respect the privacy and security of the\nreporter of any incident.\n\n## Enforcement Guidelines\n\nCommunity leaders will follow these Community Impact Guidelines in determining\nthe consequences for any action they deem in violation of this Code of Conduct:\n\n### 1. Correction\n\n**Community Impact**: Use of inappropriate language or other behavior deemed\nunprofessional or unwelcome in the community.\n\n**Consequence**: A private, written warning from community leaders, providing\nclarity around the nature of the violation and an explanation of why the\nbehavior was inappropriate. A public apology may be requested.\n\n### 2. Warning\n\n**Community Impact**: A violation through a single incident or series\nof actions.\n\n**Consequence**: A warning with consequences for continued behavior. No\ninteraction with the people involved, including unsolicited interaction with\nthose enforcing the Code of Conduct, for a specified period of time. This\nincludes avoiding interactions in community spaces as well as external channels\nlike social media. Violating these terms may lead to a temporary or\npermanent ban.\n\n### 3. Temporary Ban\n\n**Community Impact**: A serious violation of community standards, including\nsustained inappropriate behavior.\n\n**Consequence**: A temporary ban from any sort of interaction or public\ncommunication with the community for a specified period of time. No public or\nprivate interaction with the people involved, including unsolicited interaction\nwith those enforcing the Code of Conduct, is allowed during this period.\nViolating these terms may lead to a permanent ban.\n\n### 4. Permanent Ban\n\n**Community Impact**: Demonstrating a pattern of violation of community\nstandards, including sustained inappropriate behavior,  harassment of an\nindividual, or aggression toward or disparagement of classes of individuals.\n\n**Consequence**: A permanent ban from any sort of public interaction within\nthe community.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage],\nversion 2.0, available at\nhttps://www.contributor-covenant.org/version/2/0/code_of_conduct.html.\n\nCommunity Impact Guidelines were inspired by [Mozilla's code of conduct\nenforcement ladder](https://github.com/mozilla/diversity).\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see the FAQ at\nhttps://www.contributor-covenant.org/faq. Translations are available at\nhttps://www.contributor-covenant.org/translations.\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2021 Sinan AYDOĞAN\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "\n# TailAdmin Inertia\n\n![TailAdmin](public/img/demo/tailadmin_v2.jpg)\n\nIt's a dashboard theme/UI-Starter Kit with **Laravel 12**, **TailwindCSS 3**, **Inertia.js** and **Vue 3 (JetStream)**.\n\n> :wave: If you are looking for the Vue2 version, download [TailAdmin v1](https://github.com/sinan-aydogan/tailadmin-laravel/releases/tag/v.1.0.0) :wave:\n\n![Laravel](https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge&logo=laravel&logoColor=white)\n![Tailwind_CSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)\n![Vue.js](https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D)\n\n[![Ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/sinanaydogan)\n[![BuyMeACoffee](public/img/demo/bmc-button.png)](https://www.buymeacoffee.com/sinanaydogan)\n[![Discord](public/img/demo/discord_2.svg)](https://discord.gg/TnjA2GqYmw)\n\n## GitAds Sponsored\n[![Sponsored by GitAds](https://gitads.dev/v1/ad-serve?source=sinan-aydogan/tailadmin-laravel@github)](https://gitads.dev/v1/ad-track?source=sinan-aydogan/tailadmin-laravel@github)\n\n\nRequirements\n------\n1. PHP min v.8.3\n2. DB server (Recommended:MySQL)\n3. [composer min v.2](https://getcomposer.org/)\n4. [nodejs min v.20](https://nodejs.org/)\n5. Please check other requirements of  [Laravel](https://laravel.com/) and [Inertia](https://inertiajs.com/)\n\n\nSetup Directions\n------\n\n1. ```npm install```\n2. ```composer install```\n3. Please clone .env.example and copied file name change from .env.example to .env\n4. Create a clean db table\n5. Set database infos in the .env\n6. ```php artisan migrate --seed```\n7. ```php artisan storage:link```\n8. ```php artisan key:generate```\n9. ```npm run dev```\n10. ```php artisan serve```\n11. ```Goto: http://localhost:8000```\n\nSetup Directions with Docker - Linux\n\n1. Setup Docker with user permissions on pc\n2. clone this repo to any directory ```git clone sinan-aydogan/tailadmin-laravel```\n3. Enter project root directory by terminal for example ```cd tailadmin-laravel```\n4. Install composer packages by docker, because your host machine doesn't have php, mysql, nginx etc. Everything is in the docker containers\n   ```docker run --rm \\ -u \"$(id -u):$(id -g)\" \\ -v \"$(pwd):/var/www/html\" \\ -w /var/www/html \\ laravelsail/php83-composer:latest \\composer install --ignore-platform-reqs```\n5. You should add an alias to your .bashrc file for shorcut to sail. ```sudo nano ~/.bashrc```\n6. Adds this lines end of the file ```alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'```\n7. Apply changes ```source ~/.bashrc```\n8. You can start the project with sail ```sail up -d```\n9. Don't forget add to domain to your host file ```sudo nano /etc/hosts```\n    - ```127.0.0.1 tailadmin-laravel.test```\n10. Go to ```http://tailadmin-laravel.test``` or your custom domain \n\nAdmin Login Infos / Demo Account\n------\n\n- **Demo:** *[https://tailadmin-demo.tailadmin.dev](https://tailadmin-demo.tailadmin.dev)*\n- **Email:** *admin@tailadmin.dev*\n- **Password:** *admin*\n\n\n[![TailAdmin Demo](public/img/demo/youtube.jpg)](https://www.youtube.com/playlist?list=PLbdS49WKsrOXTo_X_Ja6P3zll1yyhoIYN)\n\n## Help\n\nIf you need to help more than this documentation: \n - You can join our [Discord Channel](https://discord.gg/TnjA2GqYmw) then ask your questions\n - Access to our [Tabbs page](https://tailadmin.tabbs.co/) for how to make links (Install in Linux, solution of the npm errors etc.)\n\n## Featured :\n\n- TailwindCSS\n- Vue.js 3 Laravel 12 - JetStream Inertia\n- Every component are well documented\n- Easy usability\n- Simple and short code blocks\n- A lot of customization options for every component\n- Responsive, you can use with all devices\n- Custom Auth Pages: Login, Register, Profile, Lock\n- Unique Form Inputs: Repeatable Fields, Select(Rich Content) and Date\n- Completely UI Kit\n- Statistic Widgets for Summary or Small Data Windows\n- It works with FontAwesome\n- ### Content Components :\n    - Alert \n    - Avatar / Avatar Group for Team Lists \n    - Badge \n    - Breadcrumb \n    - Buttons \n    - Content Card\n    - Collapsible Content\n    - Dropdowns\n    - Lists \n    - Modals \n    - Pagination\n    - Popovers \n    - Progress \n    - Statistic Widgets\n    - Tabs \n    - FrontEnd Table\n    - BackEnd Table \n      - With Dynamic Query Builder\n      - Auto generated advanced search fields\n      - Sort \n      - Show-hide columns\n    - Tooltips\n\n- ### Form Components :\n    - Form Content \n    - Form Section \n    - Input Group \n    - HTML Inputs \n    - Text Input\n    - Selectable Text Input (Combo)\n    - File Input\n    - Checkbox\n    - Radio\n    - Text Area\n    - Select\n    - Multi Select\n    - Repeatable Fields\n    - Date/Calendar Input\n    - Between Input\n\n> :rocket:  We are going to make the big updates about app because this theme is using in our projects therefore the updates will be continuous\n\n---\n\n### Partners and Sponsors\n\n## GitAds Sponsored\n[![Sponsored by GitAds](https://gitads.dev/v1/ad-serve?source=sinan-aydogan/tailadmin-laravel@github)](https://gitads.dev/v1/ad-track?source=sinan-aydogan/tailadmin-laravel@github)\n\n> :metal: If you want to support us, you can send a mail to us via [admin@tailadmin.dev](mailto:admin@tailadmin.dev)\n\n---\n\n### Major External Sources\n\n- [Tailwind](https://tailwindcss.com/)\n- [Vue](https://vuejs.org/)\n- [Fontawesome](https://fontawesome.com/)\n\n### Minor External Sources\n\nPlease see package.json\n\n---\nLicense\n------\nThe TailAdmin is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).\n\n\n[![Ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/sinanaydogan)\n[![BuyMeACoffee](public/img/demo/bmc-button.png)](https://www.buymeacoffee.com/sinanaydogan)\n\n<!-- GitAds-Verify: XU4WES5HAT2HRC3LCB7K9L4CQZ4CIAN8 -->\n"
  },
  {
    "path": "app/Actions/Fortify/CreateNewUser.php",
    "content": "<?php\n\nnamespace App\\Actions\\Fortify;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\DB;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\Validator;\nuse Laravel\\Fortify\\Contracts\\CreatesNewUsers;\nuse Laravel\\Jetstream\\Jetstream;\n\nclass CreateNewUser implements CreatesNewUsers\n{\n    use PasswordValidationRules;\n\n    /**\n     * Create a newly registered user.\n     *\n     * @param  array<string, string>  $input\n     */\n    public function create(array $input): User\n    {\n        Validator::make($input, [\n            'name' => ['required', 'string', 'max:255'],\n            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],\n            'password' => $this->passwordRules(),\n            'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['accepted', 'required'] : '',\n        ])->validate();\n\n        return DB::transaction(function () use ($input) {\n            return tap(User::create([\n                'name' => $input['name'],\n                'email' => $input['email'],\n                'password' => Hash::make($input['password']),\n            ]), function (User $user) {\n                $this->createTeam($user);\n            });\n        });\n    }\n\n    /**\n     * Create a personal team for the user.\n     */\n    protected function createTeam(User $user): void\n    {\n        $user->ownedTeams()->save(Team::forceCreate([\n            'user_id' => $user->id,\n            'name' => explode(' ', $user->name, 2)[0].\"'s Team\",\n            'personal_team' => true,\n        ]));\n    }\n}\n"
  },
  {
    "path": "app/Actions/Fortify/PasswordValidationRules.php",
    "content": "<?php\n\nnamespace App\\Actions\\Fortify;\n\nuse Illuminate\\Validation\\Rules\\Password;\n\ntrait PasswordValidationRules\n{\n    /**\n     * Get the validation rules used to validate passwords.\n     *\n     * @return array<int, \\Illuminate\\Contracts\\Validation\\Rule|array<mixed>|string>\n     */\n    protected function passwordRules(): array\n    {\n        return ['required', 'string', Password::default(), 'confirmed'];\n    }\n}\n"
  },
  {
    "path": "app/Actions/Fortify/ResetUserPassword.php",
    "content": "<?php\n\nnamespace App\\Actions\\Fortify;\n\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\Validator;\nuse Laravel\\Fortify\\Contracts\\ResetsUserPasswords;\n\nclass ResetUserPassword implements ResetsUserPasswords\n{\n    use PasswordValidationRules;\n\n    /**\n     * Validate and reset the user's forgotten password.\n     *\n     * @param  array<string, string>  $input\n     */\n    public function reset(User $user, array $input): void\n    {\n        Validator::make($input, [\n            'password' => $this->passwordRules(),\n        ])->validate();\n\n        $user->forceFill([\n            'password' => Hash::make($input['password']),\n        ])->save();\n    }\n}\n"
  },
  {
    "path": "app/Actions/Fortify/UpdateUserPassword.php",
    "content": "<?php\n\nnamespace App\\Actions\\Fortify;\n\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\Validator;\nuse Laravel\\Fortify\\Contracts\\UpdatesUserPasswords;\n\nclass UpdateUserPassword implements UpdatesUserPasswords\n{\n    use PasswordValidationRules;\n\n    /**\n     * Validate and update the user's password.\n     *\n     * @param  array<string, string>  $input\n     */\n    public function update(User $user, array $input): void\n    {\n        Validator::make($input, [\n            'current_password' => ['required', 'string', 'current_password:web'],\n            'password' => $this->passwordRules(),\n        ], [\n            'current_password.current_password' => __('The provided password does not match your current password.'),\n        ])->validateWithBag('updatePassword');\n\n        $user->forceFill([\n            'password' => Hash::make($input['password']),\n        ])->save();\n    }\n}\n"
  },
  {
    "path": "app/Actions/Fortify/UpdateUserProfileInformation.php",
    "content": "<?php\n\nnamespace App\\Actions\\Fortify;\n\nuse App\\Models\\User;\nuse Illuminate\\Contracts\\Auth\\MustVerifyEmail;\nuse Illuminate\\Support\\Facades\\Validator;\nuse Illuminate\\Validation\\Rule;\nuse Laravel\\Fortify\\Contracts\\UpdatesUserProfileInformation;\n\nclass UpdateUserProfileInformation implements UpdatesUserProfileInformation\n{\n    /**\n     * Validate and update the given user's profile information.\n     *\n     * @param  array<string, mixed>  $input\n     */\n    public function update(User $user, array $input): void\n    {\n        Validator::make($input, [\n            'name' => ['required', 'string', 'max:255'],\n            'email' => ['required', 'email', 'max:255', Rule::unique('users')->ignore($user->id)],\n            'photo' => ['nullable', 'mimes:jpg,jpeg,png', 'max:1024'],\n        ])->validateWithBag('updateProfileInformation');\n\n        if (isset($input['photo'])) {\n            $user->updateProfilePhoto($input['photo']);\n        }\n\n        if ($input['email'] !== $user->email &&\n            $user instanceof MustVerifyEmail) {\n            $this->updateVerifiedUser($user, $input);\n        } else {\n            $user->forceFill([\n                'name' => $input['name'],\n                'email' => $input['email'],\n            ])->save();\n        }\n    }\n\n    /**\n     * Update the given verified user's profile information.\n     *\n     * @param  array<string, string>  $input\n     */\n    protected function updateVerifiedUser(User $user, array $input): void\n    {\n        $user->forceFill([\n            'name' => $input['name'],\n            'email' => $input['email'],\n            'email_verified_at' => null,\n        ])->save();\n\n        $user->sendEmailVerificationNotification();\n    }\n}\n"
  },
  {
    "path": "app/Actions/Jetstream/AddTeamMember.php",
    "content": "<?php\n\nnamespace App\\Actions\\Jetstream;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Closure;\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Support\\Facades\\Validator;\nuse Laravel\\Jetstream\\Contracts\\AddsTeamMembers;\nuse Laravel\\Jetstream\\Events\\AddingTeamMember;\nuse Laravel\\Jetstream\\Events\\TeamMemberAdded;\nuse Laravel\\Jetstream\\Jetstream;\nuse Laravel\\Jetstream\\Rules\\Role;\n\nclass AddTeamMember implements AddsTeamMembers\n{\n    /**\n     * Add a new team member to the given team.\n     */\n    public function add(User $user, Team $team, string $email, ?string $role = null): void\n    {\n        Gate::forUser($user)->authorize('addTeamMember', $team);\n\n        $this->validate($team, $email, $role);\n\n        $newTeamMember = Jetstream::findUserByEmailOrFail($email);\n\n        AddingTeamMember::dispatch($team, $newTeamMember);\n\n        $team->users()->attach(\n            $newTeamMember, ['role' => $role]\n        );\n\n        TeamMemberAdded::dispatch($team, $newTeamMember);\n    }\n\n    /**\n     * Validate the add member operation.\n     */\n    protected function validate(Team $team, string $email, ?string $role): void\n    {\n        Validator::make([\n            'email' => $email,\n            'role' => $role,\n        ], $this->rules(), [\n            'email.exists' => __('We were unable to find a registered user with this email address.'),\n        ])->after(\n            $this->ensureUserIsNotAlreadyOnTeam($team, $email)\n        )->validateWithBag('addTeamMember');\n    }\n\n    /**\n     * Get the validation rules for adding a team member.\n     *\n     * @return array<string, \\Illuminate\\Contracts\\Validation\\Rule|array|string>\n     */\n    protected function rules(): array\n    {\n        return array_filter([\n            'email' => ['required', 'email', 'exists:users'],\n            'role' => Jetstream::hasRoles()\n                            ? ['required', 'string', new Role]\n                            : null,\n        ]);\n    }\n\n    /**\n     * Ensure that the user is not already on the team.\n     */\n    protected function ensureUserIsNotAlreadyOnTeam(Team $team, string $email): Closure\n    {\n        return function ($validator) use ($team, $email) {\n            $validator->errors()->addIf(\n                $team->hasUserWithEmail($email),\n                'email',\n                __('This user already belongs to the team.')\n            );\n        };\n    }\n}\n"
  },
  {
    "path": "app/Actions/Jetstream/CreateTeam.php",
    "content": "<?php\n\nnamespace App\\Actions\\Jetstream;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Support\\Facades\\Validator;\nuse Laravel\\Jetstream\\Contracts\\CreatesTeams;\nuse Laravel\\Jetstream\\Events\\AddingTeam;\nuse Laravel\\Jetstream\\Jetstream;\n\nclass CreateTeam implements CreatesTeams\n{\n    /**\n     * Validate and create a new team for the given user.\n     *\n     * @param  array<string, string>  $input\n     */\n    public function create(User $user, array $input): Team\n    {\n        Gate::forUser($user)->authorize('create', Jetstream::newTeamModel());\n\n        Validator::make($input, [\n            'name' => ['required', 'string', 'max:255'],\n        ])->validateWithBag('createTeam');\n\n        AddingTeam::dispatch($user);\n\n        $user->switchTeam($team = $user->ownedTeams()->create([\n            'name' => $input['name'],\n            'personal_team' => false,\n        ]));\n\n        return $team;\n    }\n}\n"
  },
  {
    "path": "app/Actions/Jetstream/DeleteTeam.php",
    "content": "<?php\n\nnamespace App\\Actions\\Jetstream;\n\nuse App\\Models\\Team;\nuse Laravel\\Jetstream\\Contracts\\DeletesTeams;\n\nclass DeleteTeam implements DeletesTeams\n{\n    /**\n     * Delete the given team.\n     */\n    public function delete(Team $team): void\n    {\n        $team->purge();\n    }\n}\n"
  },
  {
    "path": "app/Actions/Jetstream/DeleteUser.php",
    "content": "<?php\n\nnamespace App\\Actions\\Jetstream;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\DB;\nuse Laravel\\Jetstream\\Contracts\\DeletesTeams;\nuse Laravel\\Jetstream\\Contracts\\DeletesUsers;\n\nclass DeleteUser implements DeletesUsers\n{\n    /**\n     * Create a new action instance.\n     */\n    public function __construct(protected DeletesTeams $deletesTeams)\n    {\n    }\n\n    /**\n     * Delete the given user.\n     */\n    public function delete(User $user): void\n    {\n        DB::transaction(function () use ($user) {\n            $this->deleteTeams($user);\n            $user->deleteProfilePhoto();\n            $user->tokens->each->delete();\n            $user->delete();\n        });\n    }\n\n    /**\n     * Delete the teams and team associations attached to the user.\n     */\n    protected function deleteTeams(User $user): void\n    {\n        $user->teams()->detach();\n\n        $user->ownedTeams->each(function (Team $team) {\n            $this->deletesTeams->delete($team);\n        });\n    }\n}\n"
  },
  {
    "path": "app/Actions/Jetstream/InviteTeamMember.php",
    "content": "<?php\n\nnamespace App\\Actions\\Jetstream;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Closure;\nuse Illuminate\\Database\\Query\\Builder;\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Illuminate\\Support\\Facades\\Validator;\nuse Illuminate\\Validation\\Rule;\nuse Laravel\\Jetstream\\Contracts\\InvitesTeamMembers;\nuse Laravel\\Jetstream\\Events\\InvitingTeamMember;\nuse Laravel\\Jetstream\\Jetstream;\nuse Laravel\\Jetstream\\Mail\\TeamInvitation;\nuse Laravel\\Jetstream\\Rules\\Role;\n\nclass InviteTeamMember implements InvitesTeamMembers\n{\n    /**\n     * Invite a new team member to the given team.\n     */\n    public function invite(User $user, Team $team, string $email, ?string $role = null): void\n    {\n        Gate::forUser($user)->authorize('addTeamMember', $team);\n\n        $this->validate($team, $email, $role);\n\n        InvitingTeamMember::dispatch($team, $email, $role);\n\n        $invitation = $team->teamInvitations()->create([\n            'email' => $email,\n            'role' => $role,\n        ]);\n\n        Mail::to($email)->send(new TeamInvitation($invitation));\n    }\n\n    /**\n     * Validate the invite member operation.\n     */\n    protected function validate(Team $team, string $email, ?string $role): void\n    {\n        Validator::make([\n            'email' => $email,\n            'role' => $role,\n        ], $this->rules($team), [\n            'email.unique' => __('This user has already been invited to the team.'),\n        ])->after(\n            $this->ensureUserIsNotAlreadyOnTeam($team, $email)\n        )->validateWithBag('addTeamMember');\n    }\n\n    /**\n     * Get the validation rules for inviting a team member.\n     *\n     * @return array<string, \\Illuminate\\Contracts\\Validation\\Rule|array|string>\n     */\n    protected function rules(Team $team): array\n    {\n        return array_filter([\n            'email' => [\n                'required', 'email',\n                Rule::unique(Jetstream::teamInvitationModel())->where(function (Builder $query) use ($team) {\n                    $query->where('team_id', $team->id);\n                }),\n            ],\n            'role' => Jetstream::hasRoles()\n                            ? ['required', 'string', new Role]\n                            : null,\n        ]);\n    }\n\n    /**\n     * Ensure that the user is not already on the team.\n     */\n    protected function ensureUserIsNotAlreadyOnTeam(Team $team, string $email): Closure\n    {\n        return function ($validator) use ($team, $email) {\n            $validator->errors()->addIf(\n                $team->hasUserWithEmail($email),\n                'email',\n                __('This user already belongs to the team.')\n            );\n        };\n    }\n}\n"
  },
  {
    "path": "app/Actions/Jetstream/RemoveTeamMember.php",
    "content": "<?php\n\nnamespace App\\Actions\\Jetstream;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Illuminate\\Auth\\Access\\AuthorizationException;\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Validation\\ValidationException;\nuse Laravel\\Jetstream\\Contracts\\RemovesTeamMembers;\nuse Laravel\\Jetstream\\Events\\TeamMemberRemoved;\n\nclass RemoveTeamMember implements RemovesTeamMembers\n{\n    /**\n     * Remove the team member from the given team.\n     */\n    public function remove(User $user, Team $team, User $teamMember): void\n    {\n        $this->authorize($user, $team, $teamMember);\n\n        $this->ensureUserDoesNotOwnTeam($teamMember, $team);\n\n        $team->removeUser($teamMember);\n\n        TeamMemberRemoved::dispatch($team, $teamMember);\n    }\n\n    /**\n     * Authorize that the user can remove the team member.\n     */\n    protected function authorize(User $user, Team $team, User $teamMember): void\n    {\n        if (! Gate::forUser($user)->check('removeTeamMember', $team) &&\n            $user->id !== $teamMember->id) {\n            throw new AuthorizationException;\n        }\n    }\n\n    /**\n     * Ensure that the currently authenticated user does not own the team.\n     */\n    protected function ensureUserDoesNotOwnTeam(User $teamMember, Team $team): void\n    {\n        if ($teamMember->id === $team->owner->id) {\n            throw ValidationException::withMessages([\n                'team' => [__('You may not leave a team that you created.')],\n            ])->errorBag('removeTeamMember');\n        }\n    }\n}\n"
  },
  {
    "path": "app/Actions/Jetstream/UpdateTeamName.php",
    "content": "<?php\n\nnamespace App\\Actions\\Jetstream;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Support\\Facades\\Validator;\nuse Laravel\\Jetstream\\Contracts\\UpdatesTeamNames;\n\nclass UpdateTeamName implements UpdatesTeamNames\n{\n    /**\n     * Validate and update the given team's name.\n     *\n     * @param  array<string, string>  $input\n     */\n    public function update(User $user, Team $team, array $input): void\n    {\n        Gate::forUser($user)->authorize('update', $team);\n\n        Validator::make($input, [\n            'name' => ['required', 'string', 'max:255'],\n        ])->validateWithBag('updateTeamName');\n\n        $team->forceFill([\n            'name' => $input['name'],\n        ])->save();\n    }\n}\n"
  },
  {
    "path": "app/Actions/TailAdmin/UpdateDarkModePreference.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace App\\Actions\\TailAdmin;\n\nuse App\\Models\\User;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Illuminate\\Validation\\Rules\\In;\n\nfinal class UpdateDarkModePreference\n{\n    /**\n     * Dark mode options available in the application.\n     */\n    private const DARK_MODE_OPTIONS = ['light', 'dark', 'auto'];\n\n    /**\n     * Validate and update the authenticated user's dark mode preference.\n     *\n     * @throws \\Illuminate\\Validation\\ValidationException\n     */\n    public function update(Request $request): void\n    {\n        $validated = $request->validateWithBag('updateDarkModePreference', [\n            'dark_mode' => ['required', new In(self::DARK_MODE_OPTIONS)],\n        ]);\n\n        /** @var User $user */\n        $user = Auth::user();\n\n        $user->update([\n            'dark_mode' => $validated['dark_mode'],\n        ]);\n    }\n\n    /**\n     * Get available dark mode options.\n     *\n     * @return array<string>\n     */\n    public static function getAvailableOptions(): array\n    {\n        return self::DARK_MODE_OPTIONS;\n    }\n}\n"
  },
  {
    "path": "app/Actions/TailAdmin/UpdateUserLanguage.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace App\\Actions\\TailAdmin;\n\nuse App\\Models\\User;\nuse Carbon\\Carbon;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\App;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Illuminate\\Validation\\Rules\\In;\n\nfinal class UpdateUserLanguage\n{\n    /**\n     * Supported language codes in the application.\n     */\n    private const SUPPORTED_LANGUAGES = [\n       'bg', 'de', 'en', 'fr', 'ru', 'tr', 'zh_CN'\n    ];\n\n    /**\n     * Validate and update the authenticated user's preferred language.\n     *\n     * @throws \\Illuminate\\Validation\\ValidationException\n     */\n    public function update(Request $request): void\n    {\n        $validated = $request->validateWithBag('updatePreferredLanguage', [\n            'language' => [\n                'required',\n                'string',\n                'max:5',\n                new In(self::SUPPORTED_LANGUAGES)\n            ],\n        ]);\n\n        /** @var User $user */\n        $user = Auth::user();\n\n        $user->update([\n            'language' => $validated['language'],\n        ]);\n\n        $this->setApplicationLocale($validated['language'], $request);\n    }\n\n    /**\n     * Set the application and Carbon locale.\n     */\n    private function setApplicationLocale(string $language, Request $request): void\n    {\n        App::setLocale($language);\n\n        // Set Carbon locale with fallback handling\n        $this->setCarbonLocale($language, $request);\n    }\n\n    /**\n     * Set Carbon locale with proper format and fallback.\n     */\n    private function setCarbonLocale(string $language, Request $request): void\n    {\n        try {\n            // Get session locale or use language as fallback\n            $sessionLocale = $request->session()->get('locale', $language);\n\n            // Format: language_COUNTRY.UTF-8 (e.g., tr_TR.UTF-8)\n            $carbonLocale = sprintf(\n                '%s_%s.UTF-8',\n                $language,\n                strtoupper($sessionLocale)\n            );\n\n            Carbon::setLocale($carbonLocale);\n        } catch (\\Exception $e) {\n            // Fallback to just language code if full locale fails\n            Carbon::setLocale($language);\n        }\n    }\n\n    /**\n     * Get supported language codes.\n     *\n     * @return array<string>\n     */\n    public static function getSupportedLanguages(): array\n    {\n        return self::SUPPORTED_LANGUAGES;\n    }\n\n    /**\n     * Check if a language is supported.\n     */\n    public static function isLanguageSupported(string $language): bool\n    {\n        return in_array($language, self::SUPPORTED_LANGUAGES, true);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Controller.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers;\n\nabstract class Controller\n{\n    //\n}\n"
  },
  {
    "path": "app/Http/Controllers/DemoContentController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse App\\Http\\Resources\\DemoContentResource;\nuse App\\Models\\DemoContent;\nuse Illuminate\\Http\\Request;\nuse Inertia\\Inertia;\n\nclass DemoContentController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Inertia\\Response\n     */\n    public function index(Request $request)\n    {\n        $demoContent = DemoContentResource::collection(DemoContent::tableSearch($request->input('demoSearch')));\n\n        return Inertia::render('Samples/Components/BackEndTable', [\n            'demoContent' => $demoContent,\n            'searchDataMainProducts' => DemoContent::getRelatedData('main_product_id', 'demo_contents')->get()\n        ]);\n    }\n\n    /**\n     * Show the form for creating a new resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function create()\n    {\n        //\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(Request $request)\n    {\n        //\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\App\\Models\\DemoContent  $demoContent\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(DemoContent $demoContent)\n    {\n        //\n    }\n\n    /**\n     * Show the form for editing the specified resource.\n     *\n     * @param  \\App\\Models\\DemoContent  $demoContent\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function edit(DemoContent $demoContent)\n    {\n        //\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\App\\Models\\DemoContent  $demoContent\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(Request $request, DemoContent $demoContent)\n    {\n        //\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\App\\Models\\DemoContent  $demoContent\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(DemoContent $demoContent)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/PermissionGroupController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse App\\Models\\PermissionGroup;\nuse App\\Http\\Requests\\StorePermissionGroupRequest;\nuse App\\Http\\Requests\\UpdatePermissionGroupRequest;\n\nclass PermissionGroupController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index()\n    {\n        //\n    }\n\n    /**\n     * Show the form for creating a new resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function create()\n    {\n        //\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\App\\Http\\Requests\\StorePermissionGroupRequest  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(StorePermissionGroupRequest $request)\n    {\n        //\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  \\App\\Models\\PermissionGroup  $permissionGroup\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show(PermissionGroup $permissionGroup)\n    {\n        //\n    }\n\n    /**\n     * Show the form for editing the specified resource.\n     *\n     * @param  \\App\\Models\\PermissionGroup  $permissionGroup\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function edit(PermissionGroup $permissionGroup)\n    {\n        //\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\App\\Http\\Requests\\UpdatePermissionGroupRequest  $request\n     * @param  \\App\\Models\\PermissionGroup  $permissionGroup\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(UpdatePermissionGroupRequest $request, PermissionGroup $permissionGroup)\n    {\n        //\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  \\App\\Models\\PermissionGroup  $permissionGroup\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy(PermissionGroup $permissionGroup)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Settings/PermissionController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Settings;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Models\\PermissionGroup;\nuse Illuminate\\Http\\Request;\nuse Inertia\\Inertia;\nuse Spatie\\Permission\\Models\\Permission;\n\nclass PermissionController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Inertia\\Response\n     */\n    public function index(Request $request)\n    {\n        return Inertia::render('Settings/Permission/Index', [\n            'permissionGroups' => PermissionGroup::all(),\n            'permissions' => Permission::tableSearch($request->input('searchObj'))\n        ]);\n    }\n\n    /**\n     * Show the form for creating a new resource.\n     *\n     * @return \\Inertia\\Response\n     */\n    public function create()\n    {\n        return Inertia::render('Settings/Permission/Create');\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(Request $request)\n    {\n        //\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show($id)\n    {\n        //\n    }\n\n    /**\n     * Show the form for editing the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function edit($id)\n    {\n        //\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(Request $request, $id)\n    {\n        //\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy($id)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Settings/RoleController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Settings;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Session;\nuse Inertia\\Inertia;\nuse Spatie\\Permission\\Models\\Role;\n\nclass RoleController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Inertia\\Response\n     */\n    public function index(Request $request)\n    {\n        return Inertia::render('Settings/Role/Index',[\n            'Roles' => Role::tableSearch($request->input('searchObj'))\n        ]);\n    }\n\n    /**\n     * Show the form for creating a new resource.\n     *\n     * @return \\Inertia\\Response\n     */\n    public function create()\n    {\n        return Inertia::render('Settings/Role/Create');\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(Request $request)\n    {\n        //\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show($id)\n    {\n        //\n    }\n\n    /**\n     * Show the form for editing the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function edit($id)\n    {\n        //\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(Request $request, $id)\n    {\n        //\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy($id)\n    {\n        $role = Role::find($id);\n        if($role->name != 'Super Admin'){\n            Role::destroy($id);\n            Session::flash('toastr', ['type' => 'gradient-red-to-pink', 'position' => 'rb','content' => '<b>'.$role->name. '</b> deleted']);\n            return redirect()->back() ;\n        }else{\n            Session::flash('toastr', ['type' => 'solid-yellow', 'position' => 'rb','content' => '<b>You can\\'t delete the super admin role</b>']);\n            return redirect()->back() ;\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Settings/SystemController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Settings;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Http\\Request;\nuse Inertia\\Inertia;\n\nclass SystemController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Inertia\\Response\n     */\n    public function index()\n    {\n        return Inertia::render('Settings/System');\n    }\n\n    /**\n     * Show the form for creating a new resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function create()\n    {\n        //\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(Request $request)\n    {\n        //\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show($id)\n    {\n        //\n    }\n\n    /**\n     * Show the form for editing the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function edit($id)\n    {\n        //\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(Request $request, $id)\n    {\n        //\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy($id)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Settings/UserController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Settings;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Models\\User;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Session;\nuse Inertia\\Inertia;\nuse Spatie\\Permission\\Models\\Role;\n\nclass UserController extends Controller\n{\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Inertia\\Response\n     */\n    public function index(Request $request)\n    {\n        return Inertia::render('Settings/User',[\n            'role' => Role::all(['id','name']),\n            'users'=> User::tableSearch($request->input('searchObj'))\n        ]);\n    }\n\n    /**\n     * Show the form for creating a new resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function create()\n    {\n        //\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(Request $request)\n    {\n        //\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show($id)\n    {\n        //\n    }\n\n    /**\n     * Show the form for editing the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function edit($id)\n    {\n        //\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(Request $request, $id)\n    {\n        //\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy($id)\n    {\n        if($id != 1){\n            $user = User::find($id);\n            User::destroy($id);\n            Session::flash('toastr', ['type' => 'gradient-red-to-pink', 'position' => 'rb','content' => '<b>'.$user->name. '</b> deleted']);\n            return redirect()->back() ;\n        }else{\n            Session::flash('toastr', ['type' => 'solid-yellow', 'position' => 'rb','content' => '<b>You can\\'t delete the admin</b>']);\n            return redirect()->back() ;\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/HandleInertiaRequests.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Auth;\nuse Illuminate\\Support\\Facades\\Cache;\nuse Illuminate\\Support\\Facades\\Session;\nuse Inertia\\Middleware;\nuse Tighten\\Ziggy\\Ziggy;\n\nfinal class HandleInertiaRequests extends Middleware\n{\n    /**\n     * The root template that is loaded on the first page visit.\n     */\n    protected $rootView = 'app';\n\n    /**\n     * Cache duration for user permissions and roles (in minutes).\n     */\n    private const CACHE_DURATION = 60;\n\n    /**\n     * Determine the current asset version.\n     */\n    public function version(Request $request): ?string\n    {\n        return parent::version($request);\n    }\n\n    /**\n     * Define the props that are shared by default.\n     *\n     * @return array<string, mixed>\n     */\n    public function share(Request $request): array\n    {\n        $data =[\n            ...parent::share($request),\n            'user_extra' => $this->getAuthenticatedUserData(),\n            'ziggy' => $this->getZiggyData($request),\n            'flash' => $this->getFlashMessages(),\n        ];\n\n        return $data;\n    }\n\n    /**\n     * Get Ziggy routing data with location.\n     *\n     * @return \\Closure(): array<string, mixed>\n     */\n    private function getZiggyData(Request $request)\n    {\n        return fn() => [\n            ...(new Ziggy)->toArray(),\n            'location' => $request->url(),\n        ];\n    }\n\n    /**\n     * Get flash messages from session.\n     *\n     * @return array<string, \\Closure>\n     */\n    private function getFlashMessages(): array\n    {\n        return [\n            'message' => fn() => Session::get('message'),\n            'toastr' => fn() => Session::get('toastr'),\n        ];\n    }\n\n    /**\n     * Get current application locale.\n     *\n     * @return \\Closure(): string|null\n     */\n    private function getCurrentLocale()\n    {\n        return fn() => Session::get('locale', app()->getLocale());\n    }\n\n    /**\n     * Get authenticated user's roles with caching.\n     *\n     * @return array<string, mixed>\n     */\n    private function getUserRoles()\n    {\n        if (!Auth::check()) {\n            return [];\n        }\n\n        $userId = Auth::id();\n        $cacheKey = \"user_roles_{$userId}\";\n\n        $data = Auth::user()?->getRoleNames()->toArray() ?? [];\n\n        Cache::put($cacheKey, $data, self::CACHE_DURATION);\n\n        return $data;\n    }\n\n    /**\n     * Get authenticated user's permissions with caching.\n     *\n     * @return array<string, mixed>\n     */\n    private function getUserPermissions()\n    {\n        if (!Auth::check()) {\n            return [];\n        }\n\n        $userId = Auth::id();\n        $cacheKey = \"user_permissions_{$userId}\";\n\n        $data = Auth::user()?->getAllPermissions()->pluck('name')->toArray() ?? [];\n\n        Cache::put($cacheKey, $data, self::CACHE_DURATION);\n\n        return $data;\n    }\n\n    /**\n     * Get authenticated user data with essential information and caching.\n     *\n     * @return array<string, mixed>\n     */\n    private function getAuthenticatedUserData()\n    {\n        if (!Auth::check()) {\n            return [];\n        }\n\n        $userId = Auth::id();\n        $cacheKey = \"user_data_{$userId}\";\n\n        if (! $userId) {\n            return [];\n        }\n\n        $user = Auth::user();\n\n        $data = [\n            'lang' => $user->language ?? app()->getLocale(),\n            'dark_mode' => $user->dark_mode ?? 'auto',\n            'cached_at' => now()->toISOString(),\n            'roles' => $this->getUserRoles(),\n            'permissions' => $this->getUserPermissions(),\n        ];\n\n        Cache::put($cacheKey, $data, self::CACHE_DURATION);\n\n        return $data;\n    }\n\n    /**\n     * Clear all cached data for a specific user.\n     * Call this method when user data is updated.\n     */\n    public static function clearUserCache(int $userId): void\n    {\n        $cacheKeys = [\n            \"user_data_{$userId}\",\n            \"user_roles_{$userId}\",\n            \"user_permissions_{$userId}\",\n        ];\n\n        foreach ($cacheKeys as $key) {\n            Cache::forget($key);\n        }\n    }\n\n    /**\n     * Clear cache for the currently authenticated user.\n     */\n    public static function clearCurrentUserCache(): void\n    {\n        if (Auth::check()) {\n            self::clearUserCache(Auth::id());\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/LocalizationMiddleware.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace App\\Http\\Middleware;\n\nuse App\\Actions\\TailAdmin\\UpdateUserLanguage;\nuse Carbon\\Carbon;\nuse Closure;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\App;\nuse Symfony\\Component\\HttpFoundation\\Response;\n\nfinal class LocalizationMiddleware\n{\n    /**\n     * Handle an incoming request.\n     */\n    public function handle(Request $request, Closure $next): Response\n    {\n        // Get session locale if available\n        $sessionLocale = $request->session()->get('locale');\n\n        if ($sessionLocale && UpdateUserLanguage::isLanguageSupported($sessionLocale)) {\n            $this->setApplicationLocale($sessionLocale, $request);\n        }\n\n        return $next($request);\n    }\n\n    /**\n     * Set the application and Carbon locale.\n     */\n    private function setApplicationLocale(string $language, Request $request): void\n    {\n        App::setLocale($language);\n        $this->setCarbonLocale($language, $request);\n    }\n\n    /**\n     * Set Carbon locale with proper format and fallback.\n     */\n    private function setCarbonLocale(string $language, Request $request): void\n    {\n        try {\n            // Get session locale or use language as fallback\n            $sessionLocale = $request->session()->get('locale', $language);\n\n            // Format: language_COUNTRY.UTF-8 (e.g., tr_TR.UTF-8)\n            $carbonLocale = sprintf(\n                '%s_%s.UTF-8',\n                $language,\n                strtoupper($sessionLocale)\n            );\n\n            Carbon::setLocale($carbonLocale);\n        } catch (\\Exception $e) {\n            // Fallback to just language code if full locale fails\n            Carbon::setLocale($language);\n        }\n    }\n}\n\n"
  },
  {
    "path": "app/Http/Requests/StorePermissionGroupRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass StorePermissionGroupRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     */\n    public function authorize(): bool\n    {\n        return false;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array<string, \\Illuminate\\Contracts\\Validation\\ValidationRule|array<mixed>|string>\n     */\n    public function rules(): array\n    {\n        return [\n            //\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/UpdatePermissionGroupRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\n\nclass UpdatePermissionGroupRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     */\n    public function authorize(): bool\n    {\n        return false;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array<string, \\Illuminate\\Contracts\\Validation\\ValidationRule|array<mixed>|string>\n     */\n    public function rules(): array\n    {\n        return [\n            //\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Http/Resources/DemoContentResource.php",
    "content": "<?php\n\nnamespace App\\Http\\Resources;\n\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Http\\Resources\\Json\\JsonResource;\n\nclass DemoContentResource extends JsonResource\n{\n    /**\n     * Transform the resource into an array.\n     *\n     * @return array<string, mixed>\n     */\n    public function toArray(Request $request)\n    {\n        return [\n            'id' => $this->id,\n            'name' => $this->name,\n            'price' => $this->price,\n            'production_date' => $this->production_date,\n            'main_product_id' => $this->main_product_id,\n            'main_product_name' => $this->mainProduct->name,\n            'type' => $this->type,\n            'status' => $this->status,\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Models/DemoContent.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass DemoContent extends Model\n{\n    use HasFactory;\n\n    /**\n     * The attributes that are mass assignable.\n     *\n     * @var string[]\n     */\n    protected $fillable = ['name', 'type', 'price', 'production_date', 'status'];\n\n    /**\n     * The attributes that should be cast.\n     *\n     * @var array\n     */\n    protected $casts = [\n        'production_date' => 'datetime',\n    ];\n\n    /**\n     * Get the main demo content associated with the demo content.\n     */\n    public function mainProduct(): \\Illuminate\\Database\\Eloquent\\Relations\\BelongsTo\n    {\n        return $this->belongsTo(DemoContent::class);\n    }\n}\n"
  },
  {
    "path": "app/Models/Membership.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Laravel\\Jetstream\\Membership as JetstreamMembership;\n\nclass Membership extends JetstreamMembership\n{\n    /**\n     * Indicates if the IDs are auto-incrementing.\n     *\n     * @var bool\n     */\n    public $incrementing = true;\n}\n"
  },
  {
    "path": "app/Models/PermissionGroup.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Spatie\\Permission\\Models\\Permission;\n\nclass PermissionGroup extends Model\n{\n    use HasFactory;\n\n    /**\n     * The attributes that are mass assignable.\n     *\n     * @var string[]\n     */\n    protected $fillable = [\n        'name',\n        'description'\n    ];\n\n    /**\n     * Get the permissions associated with the permission group.\n     */\n    public function permissions()\n    {\n        return $this->hasMany(Permission::class);\n    }\n}\n"
  },
  {
    "path": "app/Models/Team.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Laravel\\Jetstream\\Events\\TeamCreated;\nuse Laravel\\Jetstream\\Events\\TeamDeleted;\nuse Laravel\\Jetstream\\Events\\TeamUpdated;\nuse Laravel\\Jetstream\\Team as JetstreamTeam;\n\nclass Team extends JetstreamTeam\n{\n    /** @use HasFactory<\\Database\\Factories\\TeamFactory> */\n    use HasFactory;\n\n    /**\n     * The attributes that are mass assignable.\n     *\n     * @var array<int, string>\n     */\n    protected $fillable = [\n        'name',\n        'personal_team',\n    ];\n\n    /**\n     * The event map for the model.\n     *\n     * @var array<string, class-string>\n     */\n    protected $dispatchesEvents = [\n        'created' => TeamCreated::class,\n        'updated' => TeamUpdated::class,\n        'deleted' => TeamDeleted::class,\n    ];\n\n    /**\n     * Get the attributes that should be cast.\n     *\n     * @return array<string, string>\n     */\n    protected function casts(): array\n    {\n        return [\n            'personal_team' => 'boolean',\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Models/TeamInvitation.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Relations\\BelongsTo;\nuse Laravel\\Jetstream\\Jetstream;\nuse Laravel\\Jetstream\\TeamInvitation as JetstreamTeamInvitation;\n\nclass TeamInvitation extends JetstreamTeamInvitation\n{\n    /**\n     * The attributes that are mass assignable.\n     *\n     * @var array<int, string>\n     */\n    protected $fillable = [\n        'email',\n        'role',\n    ];\n\n    /**\n     * Get the team that the invitation belongs to.\n     */\n    public function team(): BelongsTo\n    {\n        return $this->belongsTo(Jetstream::teamModel());\n    }\n}\n"
  },
  {
    "path": "app/Models/User.php",
    "content": "<?php\n\nnamespace App\\Models;\n\n// use Illuminate\\Contracts\\Auth\\MustVerifyEmail;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Foundation\\Auth\\User as Authenticatable;\nuse Illuminate\\Notifications\\Notifiable;\nuse Laravel\\Fortify\\TwoFactorAuthenticatable;\nuse Laravel\\Jetstream\\HasProfilePhoto;\nuse Laravel\\Jetstream\\HasTeams;\nuse Laravel\\Sanctum\\HasApiTokens;\n/*Spatie Permissions Package*/\nuse Spatie\\Permission\\Traits\\HasRoles;\n\n\nclass User extends Authenticatable\n{\n    use HasApiTokens;\n\n    /** @use HasFactory<\\Database\\Factories\\UserFactory> */\n    use HasFactory;\n    use HasProfilePhoto;\n    use HasTeams;\n    use Notifiable;\n    use TwoFactorAuthenticatable;\n    /*Spatie Permissions Package*/\n    use HasRoles;\n\n    /**\n     * The attributes that are mass assignable.\n     *\n     * @var array<int, string>\n     */\n    protected $fillable = [\n        'name',\n        'email',\n        'password',\n        'language',\n        'dark_mode',\n        'theme',\n    ];\n\n    /**\n     * The attributes that should be hidden for serialization.\n     *\n     * @var array<int, string>\n     */\n    protected $hidden = [\n        'password',\n        'remember_token',\n        'two_factor_recovery_codes',\n        'two_factor_secret',\n    ];\n\n    /**\n     * The accessors to append to the model's array form.\n     *\n     * @var array<int, string>\n     */\n    protected $appends = [\n        'profile_photo_url',\n    ];\n\n    /**\n     * Get the attributes that should be cast.\n     *\n     * @return array<string, string>\n     */\n    protected function casts(): array\n    {\n        return [\n            'email_verified_at' => 'datetime',\n            'password' => 'hashed',\n        ];\n    }\n}\n"
  },
  {
    "path": "app/Policies/DemoContentPolicy.php",
    "content": "<?php\n\nnamespace App\\Policies;\n\nuse App\\Models\\DemoContent;\nuse App\\Models\\User;\nuse Illuminate\\Auth\\Access\\Response;\n\nclass DemoContentPolicy\n{\n    /**\n     * Determine whether the user can view any models.\n     */\n    public function viewAny(User $user): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     */\n    public function view(User $user, DemoContent $demoContent): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can create models.\n     */\n    public function create(User $user): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     */\n    public function update(User $user, DemoContent $demoContent): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     */\n    public function delete(User $user, DemoContent $demoContent): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     */\n    public function restore(User $user, DemoContent $demoContent): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     */\n    public function forceDelete(User $user, DemoContent $demoContent): bool\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Policies/PermissionGroupPolicy.php",
    "content": "<?php\n\nnamespace App\\Policies;\n\nuse App\\Models\\PermissionGroup;\nuse App\\Models\\User;\nuse Illuminate\\Auth\\Access\\Response;\n\nclass PermissionGroupPolicy\n{\n    /**\n     * Determine whether the user can view any models.\n     */\n    public function viewAny(User $user): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     */\n    public function view(User $user, PermissionGroup $permissionGroup): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can create models.\n     */\n    public function create(User $user): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     */\n    public function update(User $user, PermissionGroup $permissionGroup): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     */\n    public function delete(User $user, PermissionGroup $permissionGroup): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can restore the model.\n     */\n    public function restore(User $user, PermissionGroup $permissionGroup): bool\n    {\n        //\n    }\n\n    /**\n     * Determine whether the user can permanently delete the model.\n     */\n    public function forceDelete(User $user, PermissionGroup $permissionGroup): bool\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Policies/TeamPolicy.php",
    "content": "<?php\n\nnamespace App\\Policies;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Illuminate\\Auth\\Access\\HandlesAuthorization;\n\nclass TeamPolicy\n{\n    use HandlesAuthorization;\n\n    /**\n     * Determine whether the user can view any models.\n     */\n    public function viewAny(User $user): bool\n    {\n        return true;\n    }\n\n    /**\n     * Determine whether the user can view the model.\n     */\n    public function view(User $user, Team $team): bool\n    {\n        return $user->belongsToTeam($team);\n    }\n\n    /**\n     * Determine whether the user can create models.\n     */\n    public function create(User $user): bool\n    {\n        return true;\n    }\n\n    /**\n     * Determine whether the user can update the model.\n     */\n    public function update(User $user, Team $team): bool\n    {\n        return $user->ownsTeam($team);\n    }\n\n    /**\n     * Determine whether the user can add team members.\n     */\n    public function addTeamMember(User $user, Team $team): bool\n    {\n        return $user->ownsTeam($team);\n    }\n\n    /**\n     * Determine whether the user can update team member permissions.\n     */\n    public function updateTeamMember(User $user, Team $team): bool\n    {\n        return $user->ownsTeam($team);\n    }\n\n    /**\n     * Determine whether the user can remove team members.\n     */\n    public function removeTeamMember(User $user, Team $team): bool\n    {\n        return $user->ownsTeam($team);\n    }\n\n    /**\n     * Determine whether the user can delete the model.\n     */\n    public function delete(User $user, Team $team): bool\n    {\n        return $user->ownsTeam($team);\n    }\n}\n"
  },
  {
    "path": "app/Providers/AppServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Database\\Eloquent\\Builder;\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Support\\ServiceProvider;\n\nclass AppServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     */\n    public function register(): void\n    {\n        //\n    }\n\n    /**\n     * Bootstrap any application services.\n     */\n    public function boot(): void\n    {\n        //Max key length error fix\n        Schema::defaultStringLength(191);\n\n        /*Super Admin*/\n        Gate::before(function ($user, $ability) {\n            return $user->hasRole('Super Admin') ? true : null;\n        });\n\n        Builder::macro('tableSearch', function ($request) {\n            $request = (object)$request;\n            $perPage = (isset($request->perPage)) ? $request->perPage : 5;\n\n            if (key($request)) {\n\n                $searchValue = (object)$request->searchValue;\n\n                if ($request->searchType === \"simple\") {\n\n\n                    /*Simple Search*/\n                    $searchQuery = $this->when($searchValue->simpleSearchText, function ($query) use ($searchValue) {\n                        foreach ($searchValue->simpleSearchFields as $field) {\n                            $query->orWhere($field, 'like', '%' . $searchValue->simpleSearchText . '%');\n                        }\n                    });\n\n                } else {\n\n                    /*Compare Commands*/\n                    function compareCondition($condition, $searchValue): array\n                    {\n\n                        $searchQuery = [];\n\n                        switch ($condition) {\n\n                            case 'contains' :\n                                $searchQuery['condition'] = 'like';\n                                $searchQuery['value'] = \"%\" . $searchValue . \"%\";\n                                break;\n\n                            case 'notContains' :\n                                $searchQuery['condition'] = 'not like';\n                                $searchQuery['value'] = \"%\" . $searchValue . \"%\";\n                                break;\n\n                            case 'starts' :\n                                $searchQuery['condition'] = 'like';\n                                $searchQuery['value'] = $searchValue . \"%\";\n                                break;\n\n                            case 'ends' :\n                                $searchQuery['condition'] = 'like';\n                                $searchQuery['value'] = \"%\" . $searchValue;\n                                break;\n\n                            case '>' :\n                                $searchQuery['condition'] = '>';\n                                $searchQuery['value'] = $searchValue;\n                                break;\n\n                            case '>=' :\n                                $searchQuery['condition'] = '>=';\n                                $searchQuery['value'] = $searchValue;\n                                break;\n\n                            case '<' :\n                                $searchQuery['condition'] = '<';\n                                $searchQuery['value'] = $searchValue;\n                                break;\n\n                            case '<=' :\n\n                                $searchQuery['condition'] = '<=';\n                                $searchQuery['value'] = $searchValue;\n                                break;\n\n                            case 'between' :\n\n                                $searchQuery['condition'] = 'between';\n                                $searchQuery['value'] = [$searchValue['from'], $searchValue['to']];\n                                break;\n\n                            default:\n\n                                $searchQuery['condition'] = '=';\n                                $searchQuery['value'] = $searchValue;\n                        }\n\n                        return $searchQuery;\n                    }\n\n                    /*Advanced Search*/\n                    foreach ($searchValue as $key => $value) {\n\n                        $field = compareCondition($value['condition'], $value['value']);\n\n                        if ($value['condition'] === \"between\") {\n                            $whenTrigger = $value['value']['from'] !== null || $value['value']['to'] !== null;\n                        } else {\n                            $whenTrigger = isset($value['value']);\n                        }\n\n                        $searchQuery = $this->when($whenTrigger, function ($query) use ($key, $field, $value) {\n                            if ($value['condition'] === \"between\") {\n                                $query->whereBetween($key, $field['value']);\n                            } else {\n                                $query->where($key, $field['condition'], $field['value']);\n                            }\n                        });\n\n                    }\n\n                }\n\n                /*Order Function*/\n                if ($request->sortDirection) {\n                    $sortDirection = 'desc';\n                } else {\n                    $sortDirection = 'asc';\n                }\n\n                if ($request->sortKey) {\n                    $searchQuery->orderBy($request->sortKey, $sortDirection);\n                }\n\n            } else {\n                $searchQuery = $this;\n            }\n\n\n            return $searchQuery->paginate($perPage);\n        });\n\n        /*Get Related Data*/\n        Builder::macro('getRelatedData', function ($key, $table) {\n            return $this->whereIn('id', function ($query) use ($key, $table) {\n                $query->select($key)\n                    ->from($table)\n                    ->distinct();\n            });\n        }\n        );\n    }\n}\n"
  },
  {
    "path": "app/Providers/FortifyServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse App\\Actions\\Fortify\\CreateNewUser;\nuse App\\Actions\\Fortify\\ResetUserPassword;\nuse App\\Actions\\Fortify\\UpdateUserPassword;\nuse App\\Actions\\Fortify\\UpdateUserProfileInformation;\nuse Illuminate\\Cache\\RateLimiting\\Limit;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\RateLimiter;\nuse Illuminate\\Support\\ServiceProvider;\nuse Illuminate\\Support\\Str;\nuse Laravel\\Fortify\\Actions\\RedirectIfTwoFactorAuthenticatable;\nuse Laravel\\Fortify\\Fortify;\n\nclass FortifyServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     */\n    public function register(): void\n    {\n        //\n    }\n\n    /**\n     * Bootstrap any application services.\n     */\n    public function boot(): void\n    {\n        Fortify::createUsersUsing(CreateNewUser::class);\n        Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);\n        Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);\n        Fortify::resetUserPasswordsUsing(ResetUserPassword::class);\n        Fortify::redirectUserForTwoFactorAuthenticationUsing(RedirectIfTwoFactorAuthenticatable::class);\n\n        RateLimiter::for('login', function (Request $request) {\n            $throttleKey = Str::transliterate(Str::lower($request->input(Fortify::username())).'|'.$request->ip());\n\n            return Limit::perMinute(5)->by($throttleKey);\n        });\n\n        RateLimiter::for('two-factor', function (Request $request) {\n            return Limit::perMinute(5)->by($request->session()->get('login.id'));\n        });\n    }\n}\n"
  },
  {
    "path": "app/Providers/JetstreamServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse App\\Actions\\Jetstream\\AddTeamMember;\nuse App\\Actions\\Jetstream\\CreateTeam;\nuse App\\Actions\\Jetstream\\DeleteTeam;\nuse App\\Actions\\Jetstream\\DeleteUser;\nuse App\\Actions\\Jetstream\\InviteTeamMember;\nuse App\\Actions\\Jetstream\\RemoveTeamMember;\nuse App\\Actions\\Jetstream\\UpdateTeamName;\nuse Illuminate\\Support\\ServiceProvider;\nuse Laravel\\Jetstream\\Jetstream;\n\nclass JetstreamServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     */\n    public function register(): void\n    {\n        //\n    }\n\n    /**\n     * Bootstrap any application services.\n     */\n    public function boot(): void\n    {\n        $this->configurePermissions();\n\n        Jetstream::createTeamsUsing(CreateTeam::class);\n        Jetstream::updateTeamNamesUsing(UpdateTeamName::class);\n        Jetstream::addTeamMembersUsing(AddTeamMember::class);\n        Jetstream::inviteTeamMembersUsing(InviteTeamMember::class);\n        Jetstream::removeTeamMembersUsing(RemoveTeamMember::class);\n        Jetstream::deleteTeamsUsing(DeleteTeam::class);\n        Jetstream::deleteUsersUsing(DeleteUser::class);\n    }\n\n    /**\n     * Configure the roles and permissions that are available within the application.\n     */\n    protected function configurePermissions(): void\n    {\n        Jetstream::defaultApiTokenPermissions(['read']);\n\n        Jetstream::role('admin', 'Administrator', [\n            'create',\n            'read',\n            'update',\n            'delete',\n        ])->description('Administrator users can perform any action.');\n\n        Jetstream::role('editor', 'Editor', [\n            'read',\n            'create',\n            'update',\n        ])->description('Editor users have the ability to read, create, and update.');\n    }\n}\n"
  },
  {
    "path": "artisan",
    "content": "#!/usr/bin/env php\n<?php\n\nuse Symfony\\Component\\Console\\Input\\ArgvInput;\n\ndefine('LARAVEL_START', microtime(true));\n\n// Register the Composer autoloader...\nrequire __DIR__.'/vendor/autoload.php';\n\n// Bootstrap Laravel and handle the command...\n$status = (require_once __DIR__.'/bootstrap/app.php')\n    ->handleCommand(new ArgvInput);\n\nexit($status);\n"
  },
  {
    "path": "bootstrap/app.php",
    "content": "<?php\n\nuse Illuminate\\Foundation\\Application;\nuse Illuminate\\Foundation\\Configuration\\Exceptions;\nuse Illuminate\\Foundation\\Configuration\\Middleware;\n\nreturn Application::configure(basePath: dirname(__DIR__))\n    ->withRouting(\n        web: __DIR__.'/../routes/web.php',\n        api: __DIR__.'/../routes/api.php',\n        commands: __DIR__.'/../routes/console.php',\n        health: '/up',\n    )\n    ->withMiddleware(function (Middleware $middleware): void {\n        $middleware->web(append: [\n            \\App\\Http\\Middleware\\HandleInertiaRequests::class,\n            \\App\\Http\\Middleware\\LocalizationMiddleware::class,\n            \\Illuminate\\Http\\Middleware\\AddLinkHeadersForPreloadedAssets::class,\n        ]);\n\n        //\n    })\n    ->withExceptions(function (Exceptions $exceptions): void {\n        //\n    })->create();\n"
  },
  {
    "path": "bootstrap/cache/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "bootstrap/providers.php",
    "content": "<?php\n\nreturn [\n    App\\Providers\\AppServiceProvider::class,\n    App\\Providers\\FortifyServiceProvider::class,\n    App\\Providers\\JetstreamServiceProvider::class,\n];\n"
  },
  {
    "path": "composer.json",
    "content": "{\n    \"name\": \"sinan-aydogan/tailadmin-laravel\",\n    \"type\": \"project\",\n    \"description\": \"TailAdmin is a dashboard theme / UI starter kit with Laravel, TailwindCSS, Inertia and VueJS\",\n    \"keywords\": [\"laravel\", \"admin\", \"dashboard\", \"starter kit\", \"component\", \"monolit\", \"admin panel\", \"tailadmin\", \"framework\"],\n    \"license\": \"MIT\",\n    \"require\": {\n        \"php\": \"^8.2\",\n        \"inertiajs/inertia-laravel\": \"^2.0\",\n        \"laravel/framework\": \"^12.0\",\n        \"laravel/jetstream\": \"^5.3\",\n        \"laravel/sanctum\": \"^4.0\",\n        \"laravel/tinker\": \"^2.10.1\",\n        \"tightenco/ziggy\": \"^2.0\",\n        \"spatie/laravel-permission\": \"^6.9\"\n    },\n    \"require-dev\": {\n        \"barryvdh/laravel-debugbar\": \"^3.13\",\n        \"fakerphp/faker\": \"^1.23\",\n        \"laravel-lang/common\": \"^6.4\",\n        \"laravel/pail\": \"^1.2.2\",\n        \"laravel/pint\": \"^1.24\",\n        \"laravel/sail\": \"^1.41\",\n        \"mockery/mockery\": \"^1.6\",\n        \"nunomaduro/collision\": \"^8.6\",\n        \"pestphp/pest\": \"^4.1\",\n        \"pestphp/pest-plugin-laravel\": \"^4.0\"\n    },\n    \"autoload\": {\n        \"psr-4\": {\n            \"App\\\\\": \"app/\",\n            \"Database\\\\Factories\\\\\": \"database/factories/\",\n            \"Database\\\\Seeders\\\\\": \"database/seeders/\"\n        }\n    },\n    \"autoload-dev\": {\n        \"psr-4\": {\n            \"Tests\\\\\": \"tests/\"\n        }\n    },\n    \"scripts\": {\n        \"post-autoload-dump\": [\n            \"Illuminate\\\\Foundation\\\\ComposerScripts::postAutoloadDump\",\n            \"@php artisan package:discover --ansi\"\n        ],\n        \"post-update-cmd\": [\n            \"@php artisan vendor:publish --tag=laravel-assets --ansi --force\"\n        ],\n        \"post-root-package-install\": [\n            \"@php -r \\\"file_exists('.env') || copy('.env.example', '.env');\\\"\"\n        ],\n        \"post-create-project-cmd\": [\n            \"@php artisan key:generate --ansi\",\n            \"@php -r \\\"file_exists('database/database.sqlite') || touch('database/database.sqlite');\\\"\",\n            \"@php artisan migrate --graceful --ansi\"\n        ],\n        \"dev\": [\n            \"Composer\\\\Config::disableProcessTimeout\",\n            \"npx concurrently -c \\\"#93c5fd,#c4b5fd,#fb7185,#fdba74\\\" \\\"php artisan serve\\\" \\\"php artisan queue:listen --tries=1\\\" \\\"php artisan pail --timeout=0\\\" \\\"npm run dev\\\" --names=server,queue,logs,vite --kill-others\"\n        ],\n        \"test\": [\n            \"@php artisan config:clear --ansi\",\n            \"@php artisan test\"\n        ]\n    },\n    \"extra\": {\n        \"laravel\": {\n            \"dont-discover\": []\n        }\n    },\n    \"config\": {\n        \"optimize-autoloader\": true,\n        \"preferred-install\": \"dist\",\n        \"sort-packages\": true,\n        \"allow-plugins\": {\n            \"pestphp/pest-plugin\": true,\n            \"php-http/discovery\": true\n        }\n    },\n    \"minimum-stability\": \"stable\",\n    \"prefer-stable\": true\n}\n"
  },
  {
    "path": "config/app.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Name\n    |--------------------------------------------------------------------------\n    |\n    | This value is the name of your application, which will be used when the\n    | framework needs to place the application's name in a notification or\n    | other UI elements where an application name needs to be displayed.\n    |\n    */\n\n    'name' => env('APP_NAME', 'TailAdmin'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Environment\n    |--------------------------------------------------------------------------\n    |\n    | This value determines the \"environment\" your application is currently\n    | running in. This may determine how you prefer to configure various\n    | services the application utilizes. Set this in your \".env\" file.\n    |\n    */\n\n    'env' => env('APP_ENV', 'production'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Debug Mode\n    |--------------------------------------------------------------------------\n    |\n    | When your application is in debug mode, detailed error messages with\n    | stack traces will be shown on every error that occurs within your\n    | application. If disabled, a simple generic error page is shown.\n    |\n    */\n\n    'debug' => (bool) env('APP_DEBUG', false),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application URL\n    |--------------------------------------------------------------------------\n    |\n    | This URL is used by the console to properly generate URLs when using\n    | the Artisan command line tool. You should set this to the root of\n    | the application so that it's available within Artisan commands.\n    |\n    */\n\n    'url' => env('APP_URL', 'http://localhost'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Timezone\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the default timezone for your application, which\n    | will be used by the PHP date and date-time functions. The timezone\n    | is set to \"UTC\" by default as it is suitable for most use cases.\n    |\n    */\n\n    'timezone' => env('APP_TIMEZONE', 'UTC'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Locale Configuration\n    |--------------------------------------------------------------------------\n    |\n    | The application locale determines the default locale that will be used\n    | by Laravel's translation / localization methods. This option can be\n    | set to any locale for which you plan to have translation strings.\n    |\n    */\n\n    'locale' => env('APP_LOCALE', 'en'),\n\n    'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'),\n\n    'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Encryption Key\n    |--------------------------------------------------------------------------\n    |\n    | This key is utilized by Laravel's encryption services and should be set\n    | to a random, 32 character string to ensure that all encrypted values\n    | are secure. You should do this prior to deploying the application.\n    |\n    */\n\n    'cipher' => 'AES-256-CBC',\n\n    'key' => env('APP_KEY'),\n\n    'previous_keys' => [\n        ...array_filter(\n            explode(',', env('APP_PREVIOUS_KEYS', ''))\n        ),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Maintenance Mode Driver\n    |--------------------------------------------------------------------------\n    |\n    | These configuration options determine the driver used to determine and\n    | manage Laravel's \"maintenance mode\" status. The \"cache\" driver will\n    | allow maintenance mode to be controlled across multiple machines.\n    |\n    | Supported drivers: \"file\", \"cache\"\n    |\n    */\n\n    'maintenance' => [\n        'driver' => env('APP_MAINTENANCE_DRIVER', 'file'),\n        'store' => env('APP_MAINTENANCE_STORE', 'database'),\n    ],\n\n];\n"
  },
  {
    "path": "config/auth.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Defaults\n    |--------------------------------------------------------------------------\n    |\n    | This option defines the default authentication \"guard\" and password\n    | reset \"broker\" for your application. You may change these values\n    | as required, but they're a perfect start for most applications.\n    |\n    */\n\n    'defaults' => [\n        'guard' => env('AUTH_GUARD', 'web'),\n        'passwords' => env('AUTH_PASSWORD_BROKER', 'users'),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Guards\n    |--------------------------------------------------------------------------\n    |\n    | Next, you may define every authentication guard for your application.\n    | Of course, a great default configuration has been defined for you\n    | which utilizes session storage plus the Eloquent user provider.\n    |\n    | All authentication guards have a user provider, which defines how the\n    | users are actually retrieved out of your database or other storage\n    | system used by the application. Typically, Eloquent is utilized.\n    |\n    | Supported: \"session\"\n    |\n    */\n\n    'guards' => [\n        'web' => [\n            'driver' => 'session',\n            'provider' => 'users',\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | User Providers\n    |--------------------------------------------------------------------------\n    |\n    | All authentication guards have a user provider, which defines how the\n    | users are actually retrieved out of your database or other storage\n    | system used by the application. Typically, Eloquent is utilized.\n    |\n    | If you have multiple user tables or models you may configure multiple\n    | providers to represent the model / table. These providers may then\n    | be assigned to any extra authentication guards you have defined.\n    |\n    | Supported: \"database\", \"eloquent\"\n    |\n    */\n\n    'providers' => [\n        'users' => [\n            'driver' => 'eloquent',\n            'model' => env('AUTH_MODEL', App\\Models\\User::class),\n        ],\n\n        // 'users' => [\n        //     'driver' => 'database',\n        //     'table' => 'users',\n        // ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Resetting Passwords\n    |--------------------------------------------------------------------------\n    |\n    | These configuration options specify the behavior of Laravel's password\n    | reset functionality, including the table utilized for token storage\n    | and the user provider that is invoked to actually retrieve users.\n    |\n    | The expiry time is the number of minutes that each reset token will be\n    | considered valid. This security feature keeps tokens short-lived so\n    | they have less time to be guessed. You may change this as needed.\n    |\n    | The throttle setting is the number of seconds a user must wait before\n    | generating more password reset tokens. This prevents the user from\n    | quickly generating a very large amount of password reset tokens.\n    |\n    */\n\n    'passwords' => [\n        'users' => [\n            'provider' => 'users',\n            'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'),\n            'expire' => 60,\n            'throttle' => 60,\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Password Confirmation Timeout\n    |--------------------------------------------------------------------------\n    |\n    | Here you may define the amount of seconds before a password confirmation\n    | window expires and users are asked to re-enter their password via the\n    | confirmation screen. By default, the timeout lasts for three hours.\n    |\n    */\n\n    'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800),\n\n];\n"
  },
  {
    "path": "config/cache.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Cache Store\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default cache store that will be used by the\n    | framework. This connection is utilized if another isn't explicitly\n    | specified when running a cache operation inside the application.\n    |\n    */\n\n    'default' => env('CACHE_STORE', 'database'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cache Stores\n    |--------------------------------------------------------------------------\n    |\n    | Here you may define all of the cache \"stores\" for your application as\n    | well as their drivers. You may even define multiple stores for the\n    | same cache driver to group types of items stored in your caches.\n    |\n    | Supported drivers: \"array\", \"database\", \"file\", \"memcached\",\n    |                    \"redis\", \"dynamodb\", \"octane\", \"null\"\n    |\n    */\n\n    'stores' => [\n\n        'array' => [\n            'driver' => 'array',\n            'serialize' => false,\n        ],\n\n        'database' => [\n            'driver' => 'database',\n            'connection' => env('DB_CACHE_CONNECTION'),\n            'table' => env('DB_CACHE_TABLE', 'cache'),\n            'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'),\n            'lock_table' => env('DB_CACHE_LOCK_TABLE'),\n        ],\n\n        'file' => [\n            'driver' => 'file',\n            'path' => storage_path('framework/cache/data'),\n            'lock_path' => storage_path('framework/cache/data'),\n        ],\n\n        'memcached' => [\n            'driver' => 'memcached',\n            'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),\n            'sasl' => [\n                env('MEMCACHED_USERNAME'),\n                env('MEMCACHED_PASSWORD'),\n            ],\n            'options' => [\n                // Memcached::OPT_CONNECT_TIMEOUT => 2000,\n            ],\n            'servers' => [\n                [\n                    'host' => env('MEMCACHED_HOST', '127.0.0.1'),\n                    'port' => env('MEMCACHED_PORT', 11211),\n                    'weight' => 100,\n                ],\n            ],\n        ],\n\n        'redis' => [\n            'driver' => 'redis',\n            'connection' => env('REDIS_CACHE_CONNECTION', 'cache'),\n            'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'),\n        ],\n\n        'dynamodb' => [\n            'driver' => 'dynamodb',\n            'key' => env('AWS_ACCESS_KEY_ID'),\n            'secret' => env('AWS_SECRET_ACCESS_KEY'),\n            'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),\n            'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),\n            'endpoint' => env('DYNAMODB_ENDPOINT'),\n        ],\n\n        'octane' => [\n            'driver' => 'octane',\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cache Key Prefix\n    |--------------------------------------------------------------------------\n    |\n    | When utilizing the APC, database, memcached, Redis, and DynamoDB cache\n    | stores, there might be other applications using the same cache. For\n    | that reason, you may prefix every cache key to avoid collisions.\n    |\n    */\n\n    'prefix' => env('CACHE_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-cache-'),\n\n];\n"
  },
  {
    "path": "config/database.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Database Connection Name\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which of the database connections below you wish\n    | to use as your default connection for database operations. This is\n    | the connection which will be utilized unless another connection\n    | is explicitly specified when you execute a query / statement.\n    |\n    */\n\n    'default' => env('DB_CONNECTION', 'sqlite'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Database Connections\n    |--------------------------------------------------------------------------\n    |\n    | Below are all of the database connections defined for your application.\n    | An example configuration is provided for each database system which\n    | is supported by Laravel. You're free to add / remove connections.\n    |\n    */\n\n    'connections' => [\n\n        'sqlite' => [\n            'driver' => 'sqlite',\n            'url' => env('DB_URL'),\n            'database' => env('DB_DATABASE', database_path('database.sqlite')),\n            'prefix' => '',\n            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),\n            'busy_timeout' => null,\n            'journal_mode' => null,\n            'synchronous' => null,\n            'transaction_mode' => 'DEFERRED',\n        ],\n\n        'mysql' => [\n            'driver' => 'mysql',\n            'url' => env('DB_URL'),\n            'host' => env('DB_HOST', '127.0.0.1'),\n            'port' => env('DB_PORT', '3306'),\n            'database' => env('DB_DATABASE', 'laravel'),\n            'username' => env('DB_USERNAME', 'root'),\n            'password' => env('DB_PASSWORD', ''),\n            'unix_socket' => env('DB_SOCKET', ''),\n            'charset' => env('DB_CHARSET', 'utf8mb4'),\n            'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),\n            'prefix' => '',\n            'prefix_indexes' => true,\n            'strict' => true,\n            'engine' => 'InnoDb',\n            'options' => extension_loaded('pdo_mysql') ? array_filter([\n                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),\n            ]) : [],\n        ],\n\n        'mariadb' => [\n            'driver' => 'mariadb',\n            'url' => env('DB_URL'),\n            'host' => env('DB_HOST', '127.0.0.1'),\n            'port' => env('DB_PORT', '3306'),\n            'database' => env('DB_DATABASE', 'laravel'),\n            'username' => env('DB_USERNAME', 'root'),\n            'password' => env('DB_PASSWORD', ''),\n            'unix_socket' => env('DB_SOCKET', ''),\n            'charset' => env('DB_CHARSET', 'utf8mb4'),\n            'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),\n            'prefix' => '',\n            'prefix_indexes' => true,\n            'strict' => true,\n            'engine' => null,\n            'options' => extension_loaded('pdo_mysql') ? array_filter([\n                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),\n            ]) : [],\n        ],\n\n        'pgsql' => [\n            'driver' => 'pgsql',\n            'url' => env('DB_URL'),\n            'host' => env('DB_HOST', '127.0.0.1'),\n            'port' => env('DB_PORT', '5432'),\n            'database' => env('DB_DATABASE', 'laravel'),\n            'username' => env('DB_USERNAME', 'root'),\n            'password' => env('DB_PASSWORD', ''),\n            'charset' => env('DB_CHARSET', 'utf8'),\n            'prefix' => '',\n            'prefix_indexes' => true,\n            'search_path' => 'public',\n            'sslmode' => 'prefer',\n        ],\n\n        'sqlsrv' => [\n            'driver' => 'sqlsrv',\n            'url' => env('DB_URL'),\n            'host' => env('DB_HOST', 'localhost'),\n            'port' => env('DB_PORT', '1433'),\n            'database' => env('DB_DATABASE', 'laravel'),\n            'username' => env('DB_USERNAME', 'root'),\n            'password' => env('DB_PASSWORD', ''),\n            'charset' => env('DB_CHARSET', 'utf8'),\n            'prefix' => '',\n            'prefix_indexes' => true,\n            // 'encrypt' => env('DB_ENCRYPT', 'yes'),\n            // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Migration Repository Table\n    |--------------------------------------------------------------------------\n    |\n    | This table keeps track of all the migrations that have already run for\n    | your application. Using this information, we can determine which of\n    | the migrations on disk haven't actually been run on the database.\n    |\n    */\n\n    'migrations' => [\n        'table' => 'migrations',\n        'update_date_on_publish' => true,\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Redis Databases\n    |--------------------------------------------------------------------------\n    |\n    | Redis is an open source, fast, and advanced key-value store that also\n    | provides a richer body of commands than a typical key-value system\n    | such as Memcached. You may define your connection settings here.\n    |\n    */\n\n    'redis' => [\n\n        'client' => env('REDIS_CLIENT', 'phpredis'),\n\n        'options' => [\n            'cluster' => env('REDIS_CLUSTER', 'redis'),\n            'prefix' => env('REDIS_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-database-'),\n            'persistent' => env('REDIS_PERSISTENT', false),\n        ],\n\n        'default' => [\n            'url' => env('REDIS_URL'),\n            'host' => env('REDIS_HOST', '127.0.0.1'),\n            'username' => env('REDIS_USERNAME'),\n            'password' => env('REDIS_PASSWORD'),\n            'port' => env('REDIS_PORT', '6379'),\n            'database' => env('REDIS_DB', '0'),\n            'max_retries' => env('REDIS_MAX_RETRIES', 3),\n            'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'),\n            'backoff_base' => env('REDIS_BACKOFF_BASE', 100),\n            'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000),\n        ],\n\n        'cache' => [\n            'url' => env('REDIS_URL'),\n            'host' => env('REDIS_HOST', '127.0.0.1'),\n            'username' => env('REDIS_USERNAME'),\n            'password' => env('REDIS_PASSWORD'),\n            'port' => env('REDIS_PORT', '6379'),\n            'database' => env('REDIS_CACHE_DB', '1'),\n            'max_retries' => env('REDIS_MAX_RETRIES', 3),\n            'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'),\n            'backoff_base' => env('REDIS_BACKOFF_BASE', 100),\n            'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000),\n        ],\n\n    ],\n\n];\n"
  },
  {
    "path": "config/debugbar.php",
    "content": "<?php\n\nreturn [\n\n    /*\n     |--------------------------------------------------------------------------\n     | Debugbar Settings\n     |--------------------------------------------------------------------------\n     |\n     | Debugbar is enabled by default, when debug is set to true in app.php.\n     | You can override the value by setting enable to true or false instead of null.\n     |\n     | You can provide an array of URI's that must be ignored (eg. 'api/*')\n     |\n     */\n\n    'enabled' => env('DEBUGBAR_ENABLED', null),\n    'except' => [\n        'telescope*',\n        'horizon*',\n    ],\n\n    /*\n     |--------------------------------------------------------------------------\n     | Storage settings\n     |--------------------------------------------------------------------------\n     |\n     | DebugBar stores data for session/ajax requests.\n     | You can disable this, so the debugbar stores data in headers/session,\n     | but this can cause problems with large data collectors.\n     | By default, file storage (in the storage folder) is used. Redis and PDO\n     | can also be used. For PDO, run the package migrations first.\n     |\n     | Warning: Enabling storage.open will allow everyone to access previous\n     | request, do not enable open storage in publicly available environments!\n     | Specify a callback if you want to limit based on IP or authentication.\n     | Leaving it to null will allow localhost only.\n     */\n    'storage' => [\n        'enabled'    => true,\n        'open'       => env('DEBUGBAR_OPEN_STORAGE'), // bool/callback.\n        'driver'     => 'file', // redis, file, pdo, socket, custom\n        'path'       => storage_path('debugbar'), // For file driver\n        'connection' => null,   // Leave null for default connection (Redis/PDO)\n        'provider'   => '', // Instance of StorageInterface for custom driver\n        'hostname'   => '127.0.0.1', // Hostname to use with the \"socket\" driver\n        'port'       => 2304, // Port to use with the \"socket\" driver\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Editor\n    |--------------------------------------------------------------------------\n    |\n    | Choose your preferred editor to use when clicking file name.\n    |\n    | Supported: \"phpstorm\", \"vscode\", \"vscode-insiders\", \"vscode-remote\",\n    |            \"vscode-insiders-remote\", \"vscodium\", \"textmate\", \"emacs\",\n    |            \"sublime\", \"atom\", \"nova\", \"macvim\", \"idea\", \"netbeans\",\n    |            \"xdebug\", \"espresso\"\n    |\n    */\n\n    'editor' => env('DEBUGBAR_EDITOR') ?: env('IGNITION_EDITOR', 'phpstorm'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Remote Path Mapping\n    |--------------------------------------------------------------------------\n    |\n    | If you are using a remote dev server, like Laravel Homestead, Docker, or\n    | even a remote VPS, it will be necessary to specify your path mapping.\n    |\n    | Leaving one, or both of these, empty or null will not trigger the remote\n    | URL changes and Debugbar will treat your editor links as local files.\n    |\n    | \"remote_sites_path\" is an absolute base path for your sites or projects\n    | in Homestead, Vagrant, Docker, or another remote development server.\n    |\n    | Example value: \"/home/vagrant/Code\"\n    |\n    | \"local_sites_path\" is an absolute base path for your sites or projects\n    | on your local computer where your IDE or code editor is running on.\n    |\n    | Example values: \"/Users/<name>/Code\", \"C:\\Users\\<name>\\Documents\\Code\"\n    |\n    */\n\n    'remote_sites_path' => env('DEBUGBAR_REMOTE_SITES_PATH'),\n    'local_sites_path' => env('DEBUGBAR_LOCAL_SITES_PATH', env('IGNITION_LOCAL_SITES_PATH')),\n\n    /*\n     |--------------------------------------------------------------------------\n     | Vendors\n     |--------------------------------------------------------------------------\n     |\n     | Vendor files are included by default, but can be set to false.\n     | This can also be set to 'js' or 'css', to only include javascript or css vendor files.\n     | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files)\n     | and for js: jquery and highlight.js\n     | So if you want syntax highlighting, set it to true.\n     | jQuery is set to not conflict with existing jQuery scripts.\n     |\n     */\n\n    'include_vendors' => true,\n\n    /*\n     |--------------------------------------------------------------------------\n     | Capture Ajax Requests\n     |--------------------------------------------------------------------------\n     |\n     | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors),\n     | you can use this option to disable sending the data through the headers.\n     |\n     | Optionally, you can also send ServerTiming headers on ajax requests for the Chrome DevTools.\n     |\n     | Note for your request to be identified as ajax requests they must either send the header\n     | X-Requested-With with the value XMLHttpRequest (most JS libraries send this), or have application/json as a Accept header.\n     |\n     | By default `ajax_handler_auto_show` is set to true allowing ajax requests to be shown automatically in the Debugbar.\n     | Changing `ajax_handler_auto_show` to false will prevent the Debugbar from reloading.\n     */\n\n    'capture_ajax' => true,\n    'add_ajax_timing' => false,\n    'ajax_handler_auto_show' => true,\n    'ajax_handler_enable_tab' => true,\n\n    /*\n     |--------------------------------------------------------------------------\n     | Custom Error Handler for Deprecated warnings\n     |--------------------------------------------------------------------------\n     |\n     | When enabled, the Debugbar shows deprecated warnings for Symfony components\n     | in the Messages tab.\n     |\n     */\n    'error_handler' => false,\n\n    /*\n     |--------------------------------------------------------------------------\n     | Clockwork integration\n     |--------------------------------------------------------------------------\n     |\n     | The Debugbar can emulate the Clockwork headers, so you can use the Chrome\n     | Extension, without the server-side code. It uses Debugbar collectors instead.\n     |\n     */\n    'clockwork' => false,\n\n    /*\n     |--------------------------------------------------------------------------\n     | DataCollectors\n     |--------------------------------------------------------------------------\n     |\n     | Enable/disable DataCollectors\n     |\n     */\n\n    'collectors' => [\n        'phpinfo'         => true,  // Php version\n        'messages'        => true,  // Messages\n        'time'            => true,  // Time Datalogger\n        'memory'          => true,  // Memory usage\n        'exceptions'      => true,  // Exception displayer\n        'log'             => true,  // Logs from Monolog (merged in messages if enabled)\n        'db'              => true,  // Show database (PDO) queries and bindings\n        'views'           => true,  // Views with their data\n        'route'           => true,  // Current route information\n        'auth'            => false, // Display Laravel authentication status\n        'gate'            => true,  // Display Laravel Gate checks\n        'session'         => true,  // Display session data\n        'symfony_request' => true,  // Only one can be enabled..\n        'mail'            => true,  // Catch mail messages\n        'laravel'         => false, // Laravel version and environment\n        'events'          => false, // All events fired\n        'default_request' => false, // Regular or special Symfony request logger\n        'logs'            => false, // Add the latest log messages\n        'files'           => false, // Show the included files\n        'config'          => false, // Display config settings\n        'cache'           => false, // Display cache events\n        'models'          => true,  // Display models\n        'livewire'        => true,  // Display Livewire (when available)\n        'jobs'            => true, // Display dispatched jobs\n    ],\n\n    /*\n     |--------------------------------------------------------------------------\n     | Extra options\n     |--------------------------------------------------------------------------\n     |\n     | Configure some DataCollectors\n     |\n     */\n\n    'options' => [\n        'time' => [\n            'memory_usage' => false,  // Calculated by subtracting memory start and end, it may be inaccurate\n        ],\n        'messages' => [\n            'trace' => true,   // Trace the origin of the debug message\n        ],\n        'memory' => [\n            'reset_peak' => false,     // run memory_reset_peak_usage before collecting\n            'with_baseline' => false,  // Set boot memory usage as memory peak baseline\n            'precision' => 0,          // Memory rounding precision\n        ],\n        'auth' => [\n            'show_name' => true,   // Also show the users name/email in the debugbar\n            'show_guards' => true, // Show the guards that are used\n        ],\n        'db' => [\n            'with_params'       => true,   // Render SQL with the parameters substituted\n            'backtrace'         => true,   // Use a backtrace to find the origin of the query in your files.\n            'backtrace_exclude_paths' => [],   // Paths to exclude from backtrace. (in addition to defaults)\n            'timeline'          => false,  // Add the queries to the timeline\n            'duration_background'  => true,   // Show shaded background on each query relative to how long it took to execute.\n            'explain' => [                 // Show EXPLAIN output on queries\n                'enabled' => false,\n                'types' => ['SELECT'],     // Deprecated setting, is always only SELECT\n            ],\n            'hints'             => false,    // Show hints for common mistakes\n            'show_copy'         => false,    // Show copy button next to the query,\n            'slow_threshold'    => false,   // Only track queries that last longer than this time in ms\n            'memory_usage'      => false,   // Show queries memory usage\n            'soft_limit'       => 100,      // After the soft limit, no parameters/backtrace are captured\n            'hard_limit'       => 500,      // After the hard limit, queries are ignored\n        ],\n        'mail' => [\n            'timeline' => false,  // Add mails to the timeline\n            'show_body' => true,\n        ],\n        'views' => [\n            'timeline' => false,    // Add the views to the timeline (Experimental)\n            'data' => false,        //true for all data, 'keys' for only names, false for no parameters.\n            'group' => 50,          // Group duplicate views. Pass value to auto-group, or true/false to force\n            'exclude_paths' => [    // Add the paths which you don't want to appear in the views\n                'vendor/filament'   // Exclude Filament components by default\n            ],\n        ],\n        'route' => [\n            'label' => true,  // show complete route on bar\n        ],\n        'session' => [\n            'hiddens' => [], // hides sensitive values using array paths\n        ],\n        'symfony_request' => [\n            'hiddens' => [], // hides sensitive values using array paths, example: request_request.password\n        ],\n        'events' => [\n            'data' => true, // collect events data, listeners\n        ],\n        'logs' => [\n            'file' => null,\n        ],\n        'cache' => [\n            'values' => true, // collect cache values\n        ],\n    ],\n\n    /*\n     |--------------------------------------------------------------------------\n     | Inject Debugbar in Response\n     |--------------------------------------------------------------------------\n     |\n     | Usually, the debugbar is added just before </body>, by listening to the\n     | Response after the App is done. If you disable this, you have to add them\n     | in your template yourself. See http://phpdebugbar.com/docs/rendering.html\n     |\n     */\n\n    'inject' => true,\n\n    /*\n     |--------------------------------------------------------------------------\n     | DebugBar route prefix\n     |--------------------------------------------------------------------------\n     |\n     | Sometimes you want to set route prefix to be used by DebugBar to load\n     | its resources from. Usually the need comes from misconfigured web server or\n     | from trying to overcome bugs like this: http://trac.nginx.org/nginx/ticket/97\n     |\n     */\n    'route_prefix' => '_debugbar',\n\n    /*\n     |--------------------------------------------------------------------------\n     | DebugBar route middleware\n     |--------------------------------------------------------------------------\n     |\n     | Additional middleware to run on the Debugbar routes\n     */\n    'route_middleware' => [],\n\n    /*\n     |--------------------------------------------------------------------------\n     | DebugBar route domain\n     |--------------------------------------------------------------------------\n     |\n     | By default DebugBar route served from the same domain that request served.\n     | To override default domain, specify it as a non-empty value.\n     */\n    'route_domain' => null,\n\n    /*\n     |--------------------------------------------------------------------------\n     | DebugBar theme\n     |--------------------------------------------------------------------------\n     |\n     | Switches between light and dark theme. If set to auto it will respect system preferences\n     | Possible values: auto, light, dark\n     */\n    'theme' => env('DEBUGBAR_THEME', 'auto'),\n\n    /*\n     |--------------------------------------------------------------------------\n     | Backtrace stack limit\n     |--------------------------------------------------------------------------\n     |\n     | By default, the DebugBar limits the number of frames returned by the 'debug_backtrace()' function.\n     | If you need larger stacktraces, you can increase this number. Setting it to 0 will result in no limit.\n     */\n    'debug_backtrace_limit' => 50,\n];\n"
  },
  {
    "path": "config/filesystems.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Filesystem Disk\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the default filesystem disk that should be used\n    | by the framework. The \"local\" disk, as well as a variety of cloud\n    | based disks are available to your application for file storage.\n    |\n    */\n\n    'default' => env('FILESYSTEM_DISK', 'local'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Filesystem Disks\n    |--------------------------------------------------------------------------\n    |\n    | Below you may configure as many filesystem disks as necessary, and you\n    | may even configure multiple disks for the same driver. Examples for\n    | most supported storage drivers are configured here for reference.\n    |\n    | Supported drivers: \"local\", \"ftp\", \"sftp\", \"s3\"\n    |\n    */\n\n    'disks' => [\n\n        'local' => [\n            'driver' => 'local',\n            'root' => storage_path('app/private'),\n            'serve' => true,\n            'throw' => false,\n            'report' => false,\n        ],\n\n        'public' => [\n            'driver' => 'local',\n            'root' => storage_path('app/public'),\n            'url' => env('APP_URL').'/storage',\n            'visibility' => 'public',\n            'throw' => false,\n            'report' => false,\n        ],\n\n        's3' => [\n            'driver' => 's3',\n            'key' => env('AWS_ACCESS_KEY_ID'),\n            'secret' => env('AWS_SECRET_ACCESS_KEY'),\n            'region' => env('AWS_DEFAULT_REGION'),\n            'bucket' => env('AWS_BUCKET'),\n            'url' => env('AWS_URL'),\n            'endpoint' => env('AWS_ENDPOINT'),\n            'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),\n            'throw' => false,\n            'report' => false,\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Symbolic Links\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the symbolic links that will be created when the\n    | `storage:link` Artisan command is executed. The array keys should be\n    | the locations of the links and the values should be their targets.\n    |\n    */\n\n    'links' => [\n        public_path('storage') => storage_path('app/public'),\n    ],\n\n];\n"
  },
  {
    "path": "config/fortify.php",
    "content": "<?php\n\nuse Laravel\\Fortify\\Features;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Fortify Guard\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which authentication guard Fortify will use while\n    | authenticating users. This value should correspond with one of your\n    | guards that is already present in your \"auth\" configuration file.\n    |\n    */\n\n    'guard' => 'web',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Fortify Password Broker\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which password broker Fortify can use when a user\n    | is resetting their password. This configured value should match one\n    | of your password brokers setup in your \"auth\" configuration file.\n    |\n    */\n\n    'passwords' => 'users',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Username / Email\n    |--------------------------------------------------------------------------\n    |\n    | This value defines which model attribute should be considered as your\n    | application's \"username\" field. Typically, this might be the email\n    | address of the users but you are free to change this value here.\n    |\n    | Out of the box, Fortify expects forgot password and reset password\n    | requests to have a field named 'email'. If the application uses\n    | another name for the field you may define it below as needed.\n    |\n    */\n\n    'username' => 'email',\n\n    'email' => 'email',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Lowercase Usernames\n    |--------------------------------------------------------------------------\n    |\n    | This value defines whether usernames should be lowercased before saving\n    | them in the database, as some database system string fields are case\n    | sensitive. You may disable this for your application if necessary.\n    |\n    */\n\n    'lowercase_usernames' => true,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Home Path\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the path where users will get redirected during\n    | authentication or password reset when the operations are successful\n    | and the user is authenticated. You are free to change this value.\n    |\n    */\n\n    'home' => '/',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Fortify Routes Prefix / Subdomain\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which prefix Fortify will assign to all the routes\n    | that it registers with the application. If necessary, you may change\n    | subdomain under which all of the Fortify routes will be available.\n    |\n    */\n\n    'prefix' => '',\n\n    'domain' => null,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Fortify Routes Middleware\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which middleware Fortify will assign to the routes\n    | that it registers with the application. If necessary, you may change\n    | these middleware but typically this provided default is preferred.\n    |\n    */\n\n    'middleware' => ['web'],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Rate Limiting\n    |--------------------------------------------------------------------------\n    |\n    | By default, Fortify will throttle logins to five requests per minute for\n    | every email and IP address combination. However, if you would like to\n    | specify a custom rate limiter to call then you may specify it here.\n    |\n    */\n\n    'limiters' => [\n        'login' => 'login',\n        'two-factor' => 'two-factor',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Register View Routes\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify if the routes returning views should be disabled as\n    | you may not need them when building your own application. This may be\n    | especially true if you're writing a custom single-page application.\n    |\n    */\n\n    'views' => true,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Features\n    |--------------------------------------------------------------------------\n    |\n    | Some of the Fortify features are optional. You may disable the features\n    | by removing them from this array. You're free to only remove some of\n    | these features or you can even remove all of these if you need to.\n    |\n    */\n\n    'features' => [\n        Features::registration(),\n        Features::resetPasswords(),\n        // Features::emailVerification(),\n        Features::updateProfileInformation(),\n        Features::updatePasswords(),\n        Features::twoFactorAuthentication([\n            'confirm' => true,\n            'confirmPassword' => true,\n            // 'window' => 0,\n        ]),\n    ],\n\n];\n"
  },
  {
    "path": "config/jetstream.php",
    "content": "<?php\n\nuse Laravel\\Jetstream\\Features;\nuse Laravel\\Jetstream\\Http\\Middleware\\AuthenticateSession;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Jetstream Stack\n    |--------------------------------------------------------------------------\n    |\n    | This configuration value informs Jetstream which \"stack\" you will be\n    | using for your application. In general, this value is set for you\n    | during installation and will not need to be changed after that.\n    |\n    */\n\n    'stack' => 'inertia',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Jetstream Route Middleware\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which middleware Jetstream will assign to the routes\n    | that it registers with the application. When necessary, you may modify\n    | these middleware; however, this default value is usually sufficient.\n    |\n    */\n\n    'middleware' => ['web'],\n\n    'auth_session' => AuthenticateSession::class,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Jetstream Guard\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the authentication guard Jetstream will use while\n    | authenticating users. This value should correspond with one of your\n    | guards that is already present in your \"auth\" configuration file.\n    |\n    */\n\n    'guard' => 'sanctum',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Features\n    |--------------------------------------------------------------------------\n    |\n    | Some of Jetstream's features are optional. You may disable the features\n    | by removing them from this array. You're free to only remove some of\n    | these features or you can even remove all of these if you need to.\n    |\n    */\n\n    'features' => [\n        // Features::termsAndPrivacyPolicy(),\n        Features::profilePhotos(),\n        Features::api(),\n        Features::teams(['invitations' => true]),\n        Features::accountDeletion(),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Profile Photo Disk\n    |--------------------------------------------------------------------------\n    |\n    | This configuration value determines the default disk that will be used\n    | when storing profile photos for your application's users. Typically\n    | this will be the \"public\" disk but you may adjust this if needed.\n    |\n    */\n\n    'profile_photo_disk' => 'public',\n\n];\n"
  },
  {
    "path": "config/localization.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nuse LaravelLang\\Config\\Constants\\RouteName;\nuse LaravelLang\\LocaleList\\Locale;\n\nreturn [\n    /*\n     * Determines what type of files to use when updating language files.\n     *\n     * @see https://laravel-lang.com/configuration.html#inline\n     *\n     * By default, `false`.\n     */\n\n    'inline' => (bool) env('LOCALIZATION_INLINE', env('LANG_PUBLISHER_INLINE')),\n\n    /*\n     * Do arrays need to be aligned by keys before processing arrays?\n     *\n     * @see https://laravel-lang.com/configuration.html#alignment\n     *\n     * By default, true\n     */\n\n    'align' => (bool) env('LOCALIZATION_ALIGN', env('LANG_PUBLISHER_ALIGN', true)),\n\n    /*\n     * The language codes chosen for the files in this repository may not\n     * match the preferences for your project.\n     *\n     * Specify here mappings of localizations with your project.\n     *\n     * @see https://laravel-lang.com/configuration.html#aliases\n     */\n\n    'aliases' => [\n        // \\LaravelLang\\LocaleList\\Locale::German->value => 'de-DE',\n        // \\LaravelLang\\LocaleList\\Locale::GermanSwitzerland->value => 'de-CH',\n    ],\n\n    /*\n     * This option determines the mechanism for converting translation\n     * keys into a typographic version.\n     *\n     * @see https://laravel-lang.com/configuration.html#smart_punctuation\n     *\n     * By default, false\n     */\n\n    'smart_punctuation' => [\n        'enable' => (bool) env('LOCALIZATION_SMART_ENABLED', false),\n\n        'common' => [\n            'double_quote_opener' => '“',\n            'double_quote_closer' => '”',\n            'single_quote_opener' => '‘',\n            'single_quote_closer' => '’',\n        ],\n\n        'locales' => [\n            Locale::French->value => [\n                'double_quote_opener' => '«&nbsp;',\n                'double_quote_closer' => '&nbsp;»',\n                'single_quote_opener' => '‘',\n                'single_quote_closer' => '’',\n            ],\n\n            Locale::Russian->value => [\n                'double_quote_opener' => '«',\n                'double_quote_closer' => '»',\n                'single_quote_opener' => '‘',\n                'single_quote_closer' => '’',\n            ],\n\n            Locale::Ukrainian->value => [\n                'double_quote_opener' => '«',\n                'double_quote_closer' => '»',\n                'single_quote_opener' => '‘',\n                'single_quote_closer' => '’',\n            ],\n\n            Locale::Belarusian->value => [\n                'double_quote_opener' => '«',\n                'double_quote_closer' => '»',\n                'single_quote_opener' => '‘',\n                'single_quote_closer' => '’',\n            ],\n        ],\n    ],\n\n    /*\n     * This option defines the application's route settings.\n     *\n     * @see https://laravel-lang.com/configuration.html#routes\n     */\n\n    'routes' => [\n        /*\n         * This option defines the settings for the key names used when working with application routing.\n         *\n         * Default values:\n         *\n         *   parameter - locale\n         *   header    - X-Localization\n         *   cookie    - X-Localization\n         *   session   - X-Localization\n         *   column    - column\n         */\n\n        'names' => [\n            'parameter' => RouteName::Parameter,\n            'header'    => RouteName::Header,\n            'cookie'    => RouteName::Cookie,\n            'session'   => RouteName::Session,\n            'column'    => RouteName::Column,\n        ],\n\n        /*\n         * This option specifies the prefix of route group names.\n         *\n         * By default, `localized.`\n         */\n\n        'name_prefix' => env('LOCALIZATION_NAME_PREFIX', 'localized.'),\n\n        /*\n         * This option specifies the request redirection option when trying to open the default localization.\n         *\n         * Applies when using the `LaravelLang\\Routes\\Facades\\LocalizationRoute` facade.\n         */\n\n        'redirect_default' => (bool) env('LOCALIZATION_REDIRECT_DEFAULT', false),\n    ],\n\n    /*\n     * This option defines settings for working with model translations.\n     *\n     * @see https://laravel-lang.com/configuration.html#models\n     */\n\n    'models' => [\n        /*\n         * This option specifies a suffix for models containing translations.\n         *\n         * For example,\n         *   main model is `App\\Models\\Page`\n         *   translation model is `App\\Models\\PageTranslation`\n         *\n         * By default, `Translation`\n         */\n\n        'suffix' => 'Translation',\n\n        /*\n         * This option specifies a folder to store helper files for the IDE.\n         *\n         * By default, `vendor/_laravel_lang`\n         */\n\n        'helpers' => env('VENDOR_PATH', base_path('vendor/_laravel_lang')),\n    ],\n\n    /*\n     * This option contains a list of translators that the Laravel Lang Translator project works with.\n     *\n     * Google Translate is enabled by default.\n     *\n     * @see https://laravel-lang.com/configuration.html#translators\n     */\n\n    'translators' => [\n        /*\n         * List of channels used for translations.\n         *\n         * By default,\n         *\n         *     Google is enabled\n         *     Deepl  is disabled\n         *     Yandex is disabled\n         */\n\n        'channels' => [\n            'google' => [\n                'translator' => '\\LaravelLang\\Translator\\Integrations\\Google',\n\n                'enabled'  => (bool) env('TRANSLATION_GOOGLE_ENABLED', true),\n                'priority' => (int) env('TRANSLATION_GOOGLE_PRIORITY', 1),\n            ],\n\n            'deepl' => [\n                'translator' => '\\LaravelLang\\Translator\\Integrations\\Deepl',\n\n                'enabled'  => (bool) env('TRANSLATION_DEEPL_ENABLED', false),\n                'priority' => (int) env('TRANSLATION_DEEPL_PRIORITY', 2),\n\n                'credentials' => [\n                    'key' => (string) env('TRANSLATION_DEEPL_KEY'),\n                ],\n            ],\n\n            'yandex' => [\n                'translator' => '\\LaravelLang\\Translator\\Integrations\\Yandex',\n\n                'enabled'  => (bool) env('TRANSLATION_YANDEX_ENABLED', false),\n                'priority' => (int) env('TRANSLATION_YANDEX_PRIORITY', 3),\n\n                'credentials' => [\n                    'key'    => (string) env('TRANSLATION_YANDEX_KEY'),\n                    'folder' => (string) env('TRANSLATION_YANDEX_FOLDER_ID'),\n                ],\n            ],\n        ],\n\n        'options' => [\n            /*\n             * Set a custom pattern for extracting replaceable keywords from the string,\n             * default to extracting words prefixed with a colon.\n             *\n             *  Available options:\n             *\n             *     `true` is a `/:(\\w+)/`\n             *     `false` will disable regular expression processing\n             *      `/any regex/` - any regular expression you specify\n             *\n             *   By default, `true`\n             *\n             * @example (e.g. \"Hello :name\" will extract \"name\")\n             */\n\n            'preserve_parameters' => true,\n        ],\n    ],\n];\n"
  },
  {
    "path": "config/logging.php",
    "content": "<?php\n\nuse Monolog\\Handler\\NullHandler;\nuse Monolog\\Handler\\StreamHandler;\nuse Monolog\\Handler\\SyslogUdpHandler;\nuse Monolog\\Processor\\PsrLogMessageProcessor;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Log Channel\n    |--------------------------------------------------------------------------\n    |\n    | This option defines the default log channel that is utilized to write\n    | messages to your logs. The value provided here should match one of\n    | the channels present in the list of \"channels\" configured below.\n    |\n    */\n\n    'default' => env('LOG_CHANNEL', 'stack'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Deprecations Log Channel\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the log channel that should be used to log warnings\n    | regarding deprecated PHP and library features. This allows you to get\n    | your application ready for upcoming major versions of dependencies.\n    |\n    */\n\n    'deprecations' => [\n        'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),\n        'trace' => env('LOG_DEPRECATIONS_TRACE', false),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Log Channels\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the log channels for your application. Laravel\n    | utilizes the Monolog PHP logging library, which includes a variety\n    | of powerful log handlers and formatters that you're free to use.\n    |\n    | Available drivers: \"single\", \"daily\", \"slack\", \"syslog\",\n    |                    \"errorlog\", \"monolog\", \"custom\", \"stack\"\n    |\n    */\n\n    'channels' => [\n\n        'stack' => [\n            'driver' => 'stack',\n            'channels' => explode(',', (string) env('LOG_STACK', 'single')),\n            'ignore_exceptions' => false,\n        ],\n\n        'single' => [\n            'driver' => 'single',\n            'path' => storage_path('logs/laravel.log'),\n            'level' => env('LOG_LEVEL', 'debug'),\n            'replace_placeholders' => true,\n        ],\n\n        'daily' => [\n            'driver' => 'daily',\n            'path' => storage_path('logs/laravel.log'),\n            'level' => env('LOG_LEVEL', 'debug'),\n            'days' => env('LOG_DAILY_DAYS', 14),\n            'replace_placeholders' => true,\n        ],\n\n        'slack' => [\n            'driver' => 'slack',\n            'url' => env('LOG_SLACK_WEBHOOK_URL'),\n            'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'),\n            'emoji' => env('LOG_SLACK_EMOJI', ':boom:'),\n            'level' => env('LOG_LEVEL', 'critical'),\n            'replace_placeholders' => true,\n        ],\n\n        'papertrail' => [\n            'driver' => 'monolog',\n            'level' => env('LOG_LEVEL', 'debug'),\n            'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),\n            'handler_with' => [\n                'host' => env('PAPERTRAIL_URL'),\n                'port' => env('PAPERTRAIL_PORT'),\n                'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),\n            ],\n            'processors' => [PsrLogMessageProcessor::class],\n        ],\n\n        'stderr' => [\n            'driver' => 'monolog',\n            'level' => env('LOG_LEVEL', 'debug'),\n            'handler' => StreamHandler::class,\n            'handler_with' => [\n                'stream' => 'php://stderr',\n            ],\n            'formatter' => env('LOG_STDERR_FORMATTER'),\n            'processors' => [PsrLogMessageProcessor::class],\n        ],\n\n        'syslog' => [\n            'driver' => 'syslog',\n            'level' => env('LOG_LEVEL', 'debug'),\n            'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER),\n            'replace_placeholders' => true,\n        ],\n\n        'errorlog' => [\n            'driver' => 'errorlog',\n            'level' => env('LOG_LEVEL', 'debug'),\n            'replace_placeholders' => true,\n        ],\n\n        'null' => [\n            'driver' => 'monolog',\n            'handler' => NullHandler::class,\n        ],\n\n        'emergency' => [\n            'path' => storage_path('logs/laravel.log'),\n        ],\n\n    ],\n\n];\n"
  },
  {
    "path": "config/mail.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Mailer\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default mailer that is used to send all email\n    | messages unless another mailer is explicitly specified when sending\n    | the message. All additional mailers can be configured within the\n    | \"mailers\" array. Examples of each type of mailer are provided.\n    |\n    */\n\n    'default' => env('MAIL_MAILER', 'log'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Mailer Configurations\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure all of the mailers used by your application plus\n    | their respective settings. Several examples have been configured for\n    | you and you are free to add your own as your application requires.\n    |\n    | Laravel supports a variety of mail \"transport\" drivers that can be used\n    | when delivering an email. You may specify which one you're using for\n    | your mailers below. You may also add additional mailers if needed.\n    |\n    | Supported: \"smtp\", \"sendmail\", \"mailgun\", \"ses\", \"ses-v2\",\n    |            \"postmark\", \"resend\", \"log\", \"array\",\n    |            \"failover\", \"roundrobin\"\n    |\n    */\n\n    'mailers' => [\n\n        'smtp' => [\n            'transport' => 'smtp',\n            'scheme' => env('MAIL_SCHEME'),\n            'url' => env('MAIL_URL'),\n            'host' => env('MAIL_HOST', '127.0.0.1'),\n            'port' => env('MAIL_PORT', 2525),\n            'username' => env('MAIL_USERNAME'),\n            'password' => env('MAIL_PASSWORD'),\n            'timeout' => null,\n            'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url((string) env('APP_URL', 'http://localhost'), PHP_URL_HOST)),\n        ],\n\n        'ses' => [\n            'transport' => 'ses',\n        ],\n\n        'postmark' => [\n            'transport' => 'postmark',\n            // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),\n            // 'client' => [\n            //     'timeout' => 5,\n            // ],\n        ],\n\n        'resend' => [\n            'transport' => 'resend',\n        ],\n\n        'sendmail' => [\n            'transport' => 'sendmail',\n            'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),\n        ],\n\n        'log' => [\n            'transport' => 'log',\n            'channel' => env('MAIL_LOG_CHANNEL'),\n        ],\n\n        'array' => [\n            'transport' => 'array',\n        ],\n\n        'failover' => [\n            'transport' => 'failover',\n            'mailers' => [\n                'smtp',\n                'log',\n            ],\n            'retry_after' => 60,\n        ],\n\n        'roundrobin' => [\n            'transport' => 'roundrobin',\n            'mailers' => [\n                'ses',\n                'postmark',\n            ],\n            'retry_after' => 60,\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Global \"From\" Address\n    |--------------------------------------------------------------------------\n    |\n    | You may wish for all emails sent by your application to be sent from\n    | the same address. Here you may specify a name and address that is\n    | used globally for all emails that are sent by your application.\n    |\n    */\n\n    'from' => [\n        'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),\n        'name' => env('MAIL_FROM_NAME', 'Example'),\n    ],\n\n];\n"
  },
  {
    "path": "config/permission.php",
    "content": "<?php\n\nreturn [\n\n    'models' => [\n\n        /*\n         * When using the \"HasPermissions\" trait from this package, we need to know which\n         * Eloquent model should be used to retrieve your permissions. Of course, it\n         * is often just the \"Permission\" model but you may use whatever you like.\n         *\n         * The model you want to use as a Permission model needs to implement the\n         * `Spatie\\Permission\\Contracts\\Permission` contract.\n         */\n\n        'permission' => Spatie\\Permission\\Models\\Permission::class,\n\n        /*\n         * When using the \"HasRoles\" trait from this package, we need to know which\n         * Eloquent model should be used to retrieve your roles. Of course, it\n         * is often just the \"Role\" model but you may use whatever you like.\n         *\n         * The model you want to use as a Role model needs to implement the\n         * `Spatie\\Permission\\Contracts\\Role` contract.\n         */\n\n        'role' => Spatie\\Permission\\Models\\Role::class,\n\n    ],\n\n    'table_names' => [\n\n        /*\n         * When using the \"HasRoles\" trait from this package, we need to know which\n         * table should be used to retrieve your roles. We have chosen a basic\n         * default value but you may easily change it to any table you like.\n         */\n\n        'roles' => 'roles',\n\n        /*\n         * When using the \"HasPermissions\" trait from this package, we need to know which\n         * table should be used to retrieve your permissions. We have chosen a basic\n         * default value but you may easily change it to any table you like.\n         */\n\n        'permissions' => 'permissions',\n\n        /*\n         * When using the \"HasPermissions\" trait from this package, we need to know which\n         * table should be used to retrieve your models permissions. We have chosen a\n         * basic default value but you may easily change it to any table you like.\n         */\n\n        'model_has_permissions' => 'model_has_permissions',\n\n        /*\n         * When using the \"HasRoles\" trait from this package, we need to know which\n         * table should be used to retrieve your models roles. We have chosen a\n         * basic default value but you may easily change it to any table you like.\n         */\n\n        'model_has_roles' => 'model_has_roles',\n\n        /*\n         * When using the \"HasRoles\" trait from this package, we need to know which\n         * table should be used to retrieve your roles permissions. We have chosen a\n         * basic default value but you may easily change it to any table you like.\n         */\n\n        'role_has_permissions' => 'role_has_permissions',\n    ],\n\n    'column_names' => [\n        /*\n         * Change this if you want to name the related pivots other than defaults\n         */\n        'role_pivot_key' => null, //default 'role_id',\n        'permission_pivot_key' => null, //default 'permission_id',\n\n        /*\n         * Change this if you want to name the related model primary key other than\n         * `model_id`.\n         *\n         * For example, this would be nice if your primary keys are all UUIDs. In\n         * that case, name this `model_uuid`.\n         */\n\n        'model_morph_key' => 'model_id',\n\n        /*\n         * Change this if you want to use the teams feature and your related model's\n         * foreign key is other than `team_id`.\n         */\n\n        'team_foreign_key' => 'team_id',\n    ],\n\n    /*\n     * When set to true, the method for checking permissions will be registered on the gate.\n     * Set this to false if you want to implement custom logic for checking permissions.\n     */\n\n    'register_permission_check_method' => true,\n\n    /*\n     * When set to true, Laravel\\Octane\\Events\\OperationTerminated event listener will be registered\n     * this will refresh permissions on every TickTerminated, TaskTerminated and RequestTerminated\n     * NOTE: This should not be needed in most cases, but an Octane/Vapor combination benefited from it.\n     */\n    'register_octane_reset_listener' => false,\n\n    /*\n     * Teams Feature.\n     * When set to true the package implements teams using the 'team_foreign_key'.\n     * If you want the migrations to register the 'team_foreign_key', you must\n     * set this to true before doing the migration.\n     * If you already did the migration then you must make a new migration to also\n     * add 'team_foreign_key' to 'roles', 'model_has_roles', and 'model_has_permissions'\n     * (view the latest version of this package's migration file)\n     */\n\n    'teams' => false,\n\n    /*\n     * Passport Client Credentials Grant\n     * When set to true the package will use Passports Client to check permissions\n     */\n\n    'use_passport_client_credentials' => false,\n\n    /*\n     * When set to true, the required permission names are added to exception messages.\n     * This could be considered an information leak in some contexts, so the default\n     * setting is false here for optimum safety.\n     */\n\n    'display_permission_in_exception' => false,\n\n    /*\n     * When set to true, the required role names are added to exception messages.\n     * This could be considered an information leak in some contexts, so the default\n     * setting is false here for optimum safety.\n     */\n\n    'display_role_in_exception' => false,\n\n    /*\n     * By default wildcard permission lookups are disabled.\n     * See documentation to understand supported syntax.\n     */\n\n    'enable_wildcard_permission' => false,\n\n    /*\n     * The class to use for interpreting wildcard permissions.\n     * If you need to modify delimiters, override the class and specify its name here.\n     */\n    // 'permission.wildcard_permission' => Spatie\\Permission\\WildcardPermission::class,\n\n    /* Cache-specific settings */\n\n    'cache' => [\n\n        /*\n         * By default all permissions are cached for 24 hours to speed up performance.\n         * When permissions or roles are updated the cache is flushed automatically.\n         */\n\n        'expiration_time' => \\DateInterval::createFromDateString('24 hours'),\n\n        /*\n         * The cache key used to store all permissions.\n         */\n\n        'key' => 'spatie.permission.cache',\n\n        /*\n         * You may optionally indicate a specific cache driver to use for permission and\n         * role caching using any of the `store` drivers listed in the cache.php config\n         * file. Using 'default' here means to use the `default` set in cache.php.\n         */\n\n        'store' => 'default',\n    ],\n];\n"
  },
  {
    "path": "config/queue.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Queue Connection Name\n    |--------------------------------------------------------------------------\n    |\n    | Laravel's queue supports a variety of backends via a single, unified\n    | API, giving you convenient access to each backend using identical\n    | syntax for each. The default queue connection is defined below.\n    |\n    */\n\n    'default' => env('QUEUE_CONNECTION', 'database'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Queue Connections\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the connection options for every queue backend\n    | used by your application. An example configuration is provided for\n    | each backend supported by Laravel. You're also free to add more.\n    |\n    | Drivers: \"sync\", \"database\", \"beanstalkd\", \"sqs\", \"redis\", \"null\"\n    |\n    */\n\n    'connections' => [\n\n        'sync' => [\n            'driver' => 'sync',\n        ],\n\n        'database' => [\n            'driver' => 'database',\n            'connection' => env('DB_QUEUE_CONNECTION'),\n            'table' => env('DB_QUEUE_TABLE', 'jobs'),\n            'queue' => env('DB_QUEUE', 'default'),\n            'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90),\n            'after_commit' => false,\n        ],\n\n        'beanstalkd' => [\n            'driver' => 'beanstalkd',\n            'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'),\n            'queue' => env('BEANSTALKD_QUEUE', 'default'),\n            'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90),\n            'block_for' => 0,\n            'after_commit' => false,\n        ],\n\n        'sqs' => [\n            'driver' => 'sqs',\n            'key' => env('AWS_ACCESS_KEY_ID'),\n            'secret' => env('AWS_SECRET_ACCESS_KEY'),\n            'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),\n            'queue' => env('SQS_QUEUE', 'default'),\n            'suffix' => env('SQS_SUFFIX'),\n            'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),\n            'after_commit' => false,\n        ],\n\n        'redis' => [\n            'driver' => 'redis',\n            'connection' => env('REDIS_QUEUE_CONNECTION', 'default'),\n            'queue' => env('REDIS_QUEUE', 'default'),\n            'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90),\n            'block_for' => null,\n            'after_commit' => false,\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Job Batching\n    |--------------------------------------------------------------------------\n    |\n    | The following options configure the database and table that store job\n    | batching information. These options can be updated to any database\n    | connection and table which has been defined by your application.\n    |\n    */\n\n    'batching' => [\n        'database' => env('DB_CONNECTION', 'sqlite'),\n        'table' => 'job_batches',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Failed Queue Jobs\n    |--------------------------------------------------------------------------\n    |\n    | These options configure the behavior of failed queue job logging so you\n    | can control how and where failed jobs are stored. Laravel ships with\n    | support for storing failed jobs in a simple file or in a database.\n    |\n    | Supported drivers: \"database-uuids\", \"dynamodb\", \"file\", \"null\"\n    |\n    */\n\n    'failed' => [\n        'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),\n        'database' => env('DB_CONNECTION', 'sqlite'),\n        'table' => 'failed_jobs',\n    ],\n\n];\n"
  },
  {
    "path": "config/sanctum.php",
    "content": "<?php\n\nuse Laravel\\Sanctum\\Sanctum;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Stateful Domains\n    |--------------------------------------------------------------------------\n    |\n    | Requests from the following domains / hosts will receive stateful API\n    | authentication cookies. Typically, these should include your local\n    | and production domains which access your API via a frontend SPA.\n    |\n    */\n\n    'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(\n        '%s%s',\n        'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',\n        Sanctum::currentApplicationUrlWithPort(),\n        // Sanctum::currentRequestHost(),\n    ))),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Sanctum Guards\n    |--------------------------------------------------------------------------\n    |\n    | This array contains the authentication guards that will be checked when\n    | Sanctum is trying to authenticate a request. If none of these guards\n    | are able to authenticate the request, Sanctum will use the bearer\n    | token that's present on an incoming request for authentication.\n    |\n    */\n\n    'guard' => ['web'],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Expiration Minutes\n    |--------------------------------------------------------------------------\n    |\n    | This value controls the number of minutes until an issued token will be\n    | considered expired. This will override any values set in the token's\n    | \"expires_at\" attribute, but first-party sessions are not affected.\n    |\n    */\n\n    'expiration' => null,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Token Prefix\n    |--------------------------------------------------------------------------\n    |\n    | Sanctum can prefix new tokens in order to take advantage of numerous\n    | security scanning initiatives maintained by open source platforms\n    | that notify developers if they commit tokens into repositories.\n    |\n    | See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning\n    |\n    */\n\n    'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Sanctum Middleware\n    |--------------------------------------------------------------------------\n    |\n    | When authenticating your first-party SPA with Sanctum you may need to\n    | customize some of the middleware Sanctum uses while processing the\n    | request. You may change the middleware listed below as required.\n    |\n    */\n\n    'middleware' => [\n        'authenticate_session' => Laravel\\Sanctum\\Http\\Middleware\\AuthenticateSession::class,\n        'encrypt_cookies' => Illuminate\\Cookie\\Middleware\\EncryptCookies::class,\n        'validate_csrf_token' => Illuminate\\Foundation\\Http\\Middleware\\ValidateCsrfToken::class,\n    ],\n\n];\n"
  },
  {
    "path": "config/services.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Third Party Services\n    |--------------------------------------------------------------------------\n    |\n    | This file is for storing the credentials for third party services such\n    | as Mailgun, Postmark, AWS and more. This file provides the de facto\n    | location for this type of information, allowing packages to have\n    | a conventional file to locate the various service credentials.\n    |\n    */\n\n    'postmark' => [\n        'token' => env('POSTMARK_TOKEN'),\n    ],\n\n    'resend' => [\n        'key' => env('RESEND_KEY'),\n    ],\n\n    'ses' => [\n        'key' => env('AWS_ACCESS_KEY_ID'),\n        'secret' => env('AWS_SECRET_ACCESS_KEY'),\n        'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),\n    ],\n\n    'slack' => [\n        'notifications' => [\n            'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'),\n            'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'),\n        ],\n    ],\n\n];\n"
  },
  {
    "path": "config/session.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Session Driver\n    |--------------------------------------------------------------------------\n    |\n    | This option determines the default session driver that is utilized for\n    | incoming requests. Laravel supports a variety of storage options to\n    | persist session data. Database storage is a great default choice.\n    |\n    | Supported: \"file\", \"cookie\", \"database\", \"memcached\",\n    |            \"redis\", \"dynamodb\", \"array\"\n    |\n    */\n\n    'driver' => env('SESSION_DRIVER', 'database'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Lifetime\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the number of minutes that you wish the session\n    | to be allowed to remain idle before it expires. If you want them\n    | to expire immediately when the browser is closed then you may\n    | indicate that via the expire_on_close configuration option.\n    |\n    */\n\n    'lifetime' => (int) env('SESSION_LIFETIME', 120),\n\n    'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Encryption\n    |--------------------------------------------------------------------------\n    |\n    | This option allows you to easily specify that all of your session data\n    | should be encrypted before it's stored. All encryption is performed\n    | automatically by Laravel and you may use the session like normal.\n    |\n    */\n\n    'encrypt' => env('SESSION_ENCRYPT', false),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session File Location\n    |--------------------------------------------------------------------------\n    |\n    | When utilizing the \"file\" session driver, the session files are placed\n    | on disk. The default storage location is defined here; however, you\n    | are free to provide another location where they should be stored.\n    |\n    */\n\n    'files' => storage_path('framework/sessions'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Database Connection\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"database\" or \"redis\" session drivers, you may specify a\n    | connection that should be used to manage these sessions. This should\n    | correspond to a connection in your database configuration options.\n    |\n    */\n\n    'connection' => env('SESSION_CONNECTION'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Database Table\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"database\" session driver, you may specify the table to\n    | be used to store sessions. Of course, a sensible default is defined\n    | for you; however, you're welcome to change this to another table.\n    |\n    */\n\n    'table' => env('SESSION_TABLE', 'sessions'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cache Store\n    |--------------------------------------------------------------------------\n    |\n    | When using one of the framework's cache driven session backends, you may\n    | define the cache store which should be used to store the session data\n    | between requests. This must match one of your defined cache stores.\n    |\n    | Affects: \"dynamodb\", \"memcached\", \"redis\"\n    |\n    */\n\n    'store' => env('SESSION_STORE'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Sweeping Lottery\n    |--------------------------------------------------------------------------\n    |\n    | Some session drivers must manually sweep their storage location to get\n    | rid of old sessions from storage. Here are the chances that it will\n    | happen on a given request. By default, the odds are 2 out of 100.\n    |\n    */\n\n    'lottery' => [2, 100],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Name\n    |--------------------------------------------------------------------------\n    |\n    | Here you may change the name of the session cookie that is created by\n    | the framework. Typically, you should not need to change this value\n    | since doing so does not grant a meaningful security improvement.\n    |\n    */\n\n    'cookie' => env(\n        'SESSION_COOKIE',\n        Str::slug(env('APP_NAME', 'laravel')).'-session'\n    ),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Path\n    |--------------------------------------------------------------------------\n    |\n    | The session cookie path determines the path for which the cookie will\n    | be regarded as available. Typically, this will be the root path of\n    | your application, but you're free to change this when necessary.\n    |\n    */\n\n    'path' => env('SESSION_PATH', '/'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Domain\n    |--------------------------------------------------------------------------\n    |\n    | This value determines the domain and subdomains the session cookie is\n    | available to. By default, the cookie will be available to the root\n    | domain and all subdomains. Typically, this shouldn't be changed.\n    |\n    */\n\n    'domain' => env('SESSION_DOMAIN'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | HTTPS Only Cookies\n    |--------------------------------------------------------------------------\n    |\n    | By setting this option to true, session cookies will only be sent back\n    | to the server if the browser has a HTTPS connection. This will keep\n    | the cookie from being sent to you when it can't be done securely.\n    |\n    */\n\n    'secure' => env('SESSION_SECURE_COOKIE'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | HTTP Access Only\n    |--------------------------------------------------------------------------\n    |\n    | Setting this value to true will prevent JavaScript from accessing the\n    | value of the cookie and the cookie will only be accessible through\n    | the HTTP protocol. It's unlikely you should disable this option.\n    |\n    */\n\n    'http_only' => env('SESSION_HTTP_ONLY', true),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Same-Site Cookies\n    |--------------------------------------------------------------------------\n    |\n    | This option determines how your cookies behave when cross-site requests\n    | take place, and can be used to mitigate CSRF attacks. By default, we\n    | will set this value to \"lax\" to permit secure cross-site requests.\n    |\n    | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value\n    |\n    | Supported: \"lax\", \"strict\", \"none\", null\n    |\n    */\n\n    'same_site' => env('SESSION_SAME_SITE', 'lax'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Partitioned Cookies\n    |--------------------------------------------------------------------------\n    |\n    | Setting this value to true will tie the cookie to the top-level site for\n    | a cross-site context. Partitioned cookies are accepted by the browser\n    | when flagged \"secure\" and the Same-Site attribute is set to \"none\".\n    |\n    */\n\n    'partitioned' => env('SESSION_PARTITIONED_COOKIE', false),\n\n];\n"
  },
  {
    "path": "database/.gitignore",
    "content": "*.sqlite*\n"
  },
  {
    "path": "database/factories/DemoContentFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\n/**\n * @extends \\Illuminate\\Database\\Eloquent\\Factories\\Factory<\\App\\Models\\Model>\n */\nclass DemoContentFactory extends Factory\n{\n    /**\n     * Define the model's default state.\n     *\n     * @return array<string, mixed>\n     */\n    public function definition(): array\n    {\n        return [\n            'name' => $this->faker->randomNumber(3) . (\"-\" . $this->faker->colorName()),\n            'type' => $this->faker->randomKey(['Printer', 'Pencil', 'Clipper']),\n            'main_product_id' => $this->faker->numberBetween(1,50),\n            'price' => $this->faker->randomFloat(2,5,80),\n            'production_date' => $this->faker->dateTimeBetween('-5 years', 'now'),\n            'status' => $this->faker->boolean\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/PermissionGroupFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\n/**\n * @extends \\Illuminate\\Database\\Eloquent\\Factories\\Factory<\\App\\Models\\Model>\n */\nclass PermissionGroupFactory extends Factory\n{\n    /**\n     * Define the model's default state.\n     *\n     * @return array<string, mixed>\n     */\n    public function definition(): array\n    {\n        return [\n            //\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/TeamFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse App\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\n/**\n * @extends \\Illuminate\\Database\\Eloquent\\Factories\\Factory<\\App\\Models\\Team>\n */\nclass TeamFactory extends Factory\n{\n    /**\n     * Define the model's default state.\n     *\n     * @return array<string, mixed>\n     */\n    public function definition(): array\n    {\n        return [\n            'name' => $this->faker->unique()->company(),\n            'user_id' => User::factory(),\n            'personal_team' => true,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/factories/UserFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Str;\nuse Laravel\\Jetstream\\Features;\n\n/**\n * @extends \\Illuminate\\Database\\Eloquent\\Factories\\Factory<\\App\\Models\\User>\n */\nclass UserFactory extends Factory\n{\n    /**\n     * The current password being used by the factory.\n     */\n    protected static ?string $password;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array<string, mixed>\n     */\n    public function definition(): array\n    {\n        return [\n            'name' => fake()->name(),\n            'email' => fake()->unique()->safeEmail(),\n            'email_verified_at' => now(),\n            'password' => static::$password ??= Hash::make('password'),\n            'two_factor_secret' => null,\n            'two_factor_recovery_codes' => null,\n            'remember_token' => Str::random(10),\n            'profile_photo_path' => null,\n            'current_team_id' => null,\n            'language' => 'en',\n            'dark_mode' => 'auto',\n            'theme' => 'anemon',\n        ];\n    }\n\n    /**\n     * Indicate that the model's email address should be unverified.\n     */\n    public function unverified(): static\n    {\n        return $this->state(fn (array $attributes) => [\n            'email_verified_at' => null,\n        ]);\n    }\n\n    /**\n     * Indicate that the user should have a personal team.\n     */\n    public function withPersonalTeam(callable $callback = null): static\n    {\n        if (! Features::hasTeamFeatures()) {\n            return $this->state([]);\n        }\n\n        return $this->has(\n            Team::factory()\n                ->state(fn (array $attributes, User $user) => [\n                    'name' => $user->name.'\\'s Team',\n                    'user_id' => $user->id,\n                    'personal_team' => true,\n                ])\n                ->when(is_callable($callback), $callback),\n            'ownedTeams'\n        );\n    }\n}\n"
  },
  {
    "path": "database/migrations/0001_01_01_000000_create_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::create('users', function (Blueprint $table) {\n            $table->id();\n            $table->string('name');\n            $table->string('email')->unique();\n            $table->timestamp('email_verified_at')->nullable();\n            $table->string('password');\n            $table->rememberToken();\n            $table->foreignId('current_team_id')->nullable();\n            $table->string('profile_photo_path', 2048)->nullable();\n            $table->timestamps();\n        });\n\n        Schema::create('password_reset_tokens', function (Blueprint $table) {\n            $table->string('email')->primary();\n            $table->string('token');\n            $table->timestamp('created_at')->nullable();\n        });\n\n        Schema::create('sessions', function (Blueprint $table) {\n            $table->string('id')->primary();\n            $table->foreignId('user_id')->nullable()->index();\n            $table->string('ip_address', 45)->nullable();\n            $table->text('user_agent')->nullable();\n            $table->longText('payload');\n            $table->integer('last_activity')->index();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('users');\n        Schema::dropIfExists('password_reset_tokens');\n        Schema::dropIfExists('sessions');\n    }\n};\n"
  },
  {
    "path": "database/migrations/0001_01_01_000001_create_cache_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::create('cache', function (Blueprint $table) {\n            $table->string('key')->primary();\n            $table->mediumText('value');\n            $table->integer('expiration');\n        });\n\n        Schema::create('cache_locks', function (Blueprint $table) {\n            $table->string('key')->primary();\n            $table->string('owner');\n            $table->integer('expiration');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('cache');\n        Schema::dropIfExists('cache_locks');\n    }\n};\n"
  },
  {
    "path": "database/migrations/0001_01_01_000002_create_jobs_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::create('jobs', function (Blueprint $table) {\n            $table->id();\n            $table->string('queue')->index();\n            $table->longText('payload');\n            $table->unsignedTinyInteger('attempts');\n            $table->unsignedInteger('reserved_at')->nullable();\n            $table->unsignedInteger('available_at');\n            $table->unsignedInteger('created_at');\n        });\n\n        Schema::create('job_batches', function (Blueprint $table) {\n            $table->string('id')->primary();\n            $table->string('name');\n            $table->integer('total_jobs');\n            $table->integer('pending_jobs');\n            $table->integer('failed_jobs');\n            $table->longText('failed_job_ids');\n            $table->mediumText('options')->nullable();\n            $table->integer('cancelled_at')->nullable();\n            $table->integer('created_at');\n            $table->integer('finished_at')->nullable();\n        });\n\n        Schema::create('failed_jobs', function (Blueprint $table) {\n            $table->id();\n            $table->string('uuid')->unique();\n            $table->text('connection');\n            $table->text('queue');\n            $table->longText('payload');\n            $table->longText('exception');\n            $table->timestamp('failed_at')->useCurrent();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('jobs');\n        Schema::dropIfExists('job_batches');\n        Schema::dropIfExists('failed_jobs');\n    }\n};\n"
  },
  {
    "path": "database/migrations/2021_07_16_121843_create_permission_tables.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migrations\\Migration;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        $teams = config('permission.teams');\n        $tableNames = config('permission.table_names');\n        $columnNames = config('permission.column_names');\n        $pivotRole = $columnNames['role_pivot_key'] ?? 'role_id';\n        $pivotPermission = $columnNames['permission_pivot_key'] ?? 'permission_id';\n\n        if (empty($tableNames)) {\n            throw new \\Exception('Error: config/permission.php not loaded. Run [php artisan config:clear] and try again.');\n        }\n        if ($teams && empty($columnNames['team_foreign_key'] ?? null)) {\n            throw new \\Exception('Error: team_foreign_key on config/permission.php not loaded. Run [php artisan config:clear] and try again.');\n        }\n\n        Schema::create($tableNames['permissions'], function (Blueprint $table) {\n            //$table->engine('InnoDB');\n            $table->bigIncrements('id'); // permission id\n            $table->string('name');       // For MyISAM use string('name', 225); // (or 166 for InnoDB with Redundant/Compact row format)\n            $table->string('guard_name'); // For MyISAM use string('guard_name', 25);\n            $table->timestamps();\n\n            $table->unique(['name', 'guard_name']);\n        });\n\n        Schema::create($tableNames['roles'], function (Blueprint $table) use ($teams, $columnNames) {\n            //$table->engine('InnoDB');\n            $table->bigIncrements('id'); // role id\n            if ($teams || config('permission.testing')) { // permission.testing is a fix for sqlite testing\n                $table->unsignedBigInteger($columnNames['team_foreign_key'])->nullable();\n                $table->index($columnNames['team_foreign_key'], 'roles_team_foreign_key_index');\n            }\n            $table->string('name');       // For MyISAM use string('name', 225); // (or 166 for InnoDB with Redundant/Compact row format)\n            $table->string('guard_name'); // For MyISAM use string('guard_name', 25);\n            $table->timestamps();\n            if ($teams || config('permission.testing')) {\n                $table->unique([$columnNames['team_foreign_key'], 'name', 'guard_name']);\n            } else {\n                $table->unique(['name', 'guard_name']);\n            }\n        });\n\n        Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames, $pivotPermission, $teams) {\n            $table->unsignedBigInteger($pivotPermission);\n\n            $table->string('model_type');\n            $table->unsignedBigInteger($columnNames['model_morph_key']);\n            $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_model_id_model_type_index');\n\n            $table->foreign($pivotPermission)\n                ->references('id') // permission id\n                ->on($tableNames['permissions'])\n                ->onDelete('cascade');\n            if ($teams) {\n                $table->unsignedBigInteger($columnNames['team_foreign_key']);\n                $table->index($columnNames['team_foreign_key'], 'model_has_permissions_team_foreign_key_index');\n\n                $table->primary([$columnNames['team_foreign_key'], $pivotPermission, $columnNames['model_morph_key'], 'model_type'],\n                    'model_has_permissions_permission_model_type_primary');\n            } else {\n                $table->primary([$pivotPermission, $columnNames['model_morph_key'], 'model_type'],\n                    'model_has_permissions_permission_model_type_primary');\n            }\n\n        });\n\n        Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames, $pivotRole, $teams) {\n            $table->unsignedBigInteger($pivotRole);\n\n            $table->string('model_type');\n            $table->unsignedBigInteger($columnNames['model_morph_key']);\n            $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_roles_model_id_model_type_index');\n\n            $table->foreign($pivotRole)\n                ->references('id') // role id\n                ->on($tableNames['roles'])\n                ->onDelete('cascade');\n            if ($teams) {\n                $table->unsignedBigInteger($columnNames['team_foreign_key']);\n                $table->index($columnNames['team_foreign_key'], 'model_has_roles_team_foreign_key_index');\n\n                $table->primary([$columnNames['team_foreign_key'], $pivotRole, $columnNames['model_morph_key'], 'model_type'],\n                    'model_has_roles_role_model_type_primary');\n            } else {\n                $table->primary([$pivotRole, $columnNames['model_morph_key'], 'model_type'],\n                    'model_has_roles_role_model_type_primary');\n            }\n        });\n\n        Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames, $pivotRole, $pivotPermission) {\n            $table->unsignedBigInteger($pivotPermission);\n            $table->unsignedBigInteger($pivotRole);\n\n            $table->foreign($pivotPermission)\n                ->references('id') // permission id\n                ->on($tableNames['permissions'])\n                ->onDelete('cascade');\n\n            $table->foreign($pivotRole)\n                ->references('id') // role id\n                ->on($tableNames['roles'])\n                ->onDelete('cascade');\n\n            $table->primary([$pivotPermission, $pivotRole], 'role_has_permissions_permission_id_role_id_primary');\n        });\n\n        app('cache')\n            ->store(config('permission.cache.store') != 'default' ? config('permission.cache.store') : null)\n            ->forget(config('permission.cache.key'));\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        $tableNames = config('permission.table_names');\n\n        if (empty($tableNames)) {\n            throw new \\Exception('Error: config/permission.php not found and defaults could not be merged. Please publish the package configuration before proceeding, or drop the tables manually.');\n        }\n\n        Schema::drop($tableNames['role_has_permissions']);\n        Schema::drop($tableNames['model_has_roles']);\n        Schema::drop($tableNames['model_has_permissions']);\n        Schema::drop($tableNames['roles']);\n        Schema::drop($tableNames['permissions']);\n    }\n};\n"
  },
  {
    "path": "database/migrations/2021_11_10_062603_create_demo_contents_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateDemoContentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up(): void\n    {\n        Schema::create('demo_contents', function (Blueprint $table) {\n            $table->id();\n            $table->string('name');\n            $table->string('type');\n            $table->double('price');\n            $table->foreignId('main_product_id')->nullable();\n            $table->date('production_date');\n            $table->boolean('status')->default(true);\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('demo_contents');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_20_204151_add_group_columns_to_permissions_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddGroupColumnsToPermissionsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up(): void\n    {\n        Schema::table('permissions', function (Blueprint $table) {\n            $table->foreignIdFor(\\App\\Models\\PermissionGroup::class)\n                ->after('guard_name')\n                ->nullable();\n\n            $table->string('description')\n                ->after('name')\n                ->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down(): void\n    {\n        Schema::table('permissions', function (Blueprint $table) {\n            $table->dropForeign(['permission_group_id']);\n            $table->dropColumn('permission_group_id');\n            $table->dropColumn('description');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2022_01_20_204743_create_permission_groups_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePermissionGroupsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up(): void\n    {\n        Schema::create('permission_groups', function (Blueprint $table) {\n            $table->id();\n            $table->string('name',100);\n            $table->string('description',250)->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('permission_groups');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2024_07_03_194214_add_two_factor_columns_to_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->text('two_factor_secret')\n                ->after('password')\n                ->nullable();\n\n            $table->text('two_factor_recovery_codes')\n                ->after('two_factor_secret')\n                ->nullable();\n\n            $table->timestamp('two_factor_confirmed_at')\n                ->after('two_factor_recovery_codes')\n                ->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->dropColumn([\n                'two_factor_secret',\n                'two_factor_recovery_codes',\n                'two_factor_confirmed_at',\n            ]);\n        });\n    }\n};\n"
  },
  {
    "path": "database/migrations/2024_07_03_194232_create_personal_access_tokens_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::create('personal_access_tokens', function (Blueprint $table) {\n            $table->id();\n            $table->morphs('tokenable');\n            $table->text('name');\n            $table->string('token', 64)->unique();\n            $table->text('abilities')->nullable();\n            $table->timestamp('last_used_at')->nullable();\n            $table->timestamp('expires_at')->nullable()->index();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('personal_access_tokens');\n    }\n};\n"
  },
  {
    "path": "database/migrations/2024_07_03_194233_create_teams_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::create('teams', function (Blueprint $table) {\n            $table->id();\n            $table->foreignId('user_id')->index();\n            $table->string('name');\n            $table->boolean('personal_team');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('teams');\n    }\n};\n"
  },
  {
    "path": "database/migrations/2024_07_03_194234_create_team_user_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::create('team_user', function (Blueprint $table) {\n            $table->id();\n            $table->foreignId('team_id');\n            $table->foreignId('user_id');\n            $table->string('role')->nullable();\n            $table->timestamps();\n\n            $table->unique(['team_id', 'user_id']);\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('team_user');\n    }\n};\n"
  },
  {
    "path": "database/migrations/2024_07_03_194235_create_team_invitations_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration\n{\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::create('team_invitations', function (Blueprint $table) {\n            $table->id();\n            $table->foreignId('team_id')->constrained()->cascadeOnDelete();\n            $table->string('email');\n            $table->string('role')->nullable();\n            $table->timestamps();\n\n            $table->unique(['team_id', 'email']);\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::dropIfExists('team_invitations');\n    }\n};\n"
  },
  {
    "path": "database/migrations/2024_07_07_190651_add_personalization_fields_to_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nreturn new class extends Migration {\n    /**\n     * Run the migrations.\n     */\n    public function up(): void\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->string('language')\n                ->default('en')\n                ->after('profile_photo_path');\n            $table->string('dark_mode')\n                ->default('auto')\n                ->after('language');\n            $table->string('theme')\n                ->default('anemon')\n                ->after('dark_mode');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     */\n    public function down(): void\n    {\n        Schema::table('users', function (Blueprint $table) {\n            //\n        });\n    }\n};\n"
  },
  {
    "path": "database/seeders/DatabaseSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse App\\Models\\User;\n\n// use Illuminate\\Database\\Console\\Seeds\\WithoutModelEvents;\nuse Illuminate\\Database\\Seeder;\n\nclass DatabaseSeeder extends Seeder\n{\n    /**\n     * Seed the application's database.\n     */\n    public function run(): void\n    {\n        $this->call([\n            PermissionSeeder::class,\n            RoleSeeder::class,\n            UserSeeder::class\n        ]);\n        \\App\\Models\\User::factory(50)->create();\n        \\App\\Models\\DemoContent::factory(100)->create();\n\n    }\n}\n"
  },
  {
    "path": "database/seeders/PermissionGroupSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\n\nclass PermissionGroupSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "database/seeders/PermissionSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\nuse Spatie\\Permission\\Models\\Permission;\n\nclass PermissionSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     */\n    public function run(): void\n    {\n        $permissions = ['create', 'edit-all', 'delete-all', 'view-all', 'edit-own', 'delete-own', 'view-own'];\n\n        foreach ($permissions as $permission) {\n            Permission::create([\n                'name' => $permission\n            ]);\n        }\n\n    }\n}\n"
  },
  {
    "path": "database/seeders/RoleSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\nuse Spatie\\Permission\\Models\\Role;\n\nclass RoleSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     */\n    public function run(): void\n    {\n        /*Super Admin*/\n        Role::create(\n            ['name' => 'Super Admin']\n        );\n\n        /*Editor*/\n        $editor = Role::create(\n            ['name' => 'Editor'],\n        );\n\n        /*Simple User*/\n        $simpleUser = Role::create(\n            ['name' => 'Simple User'],\n        );\n\n        /*Assign Permission*/\n        $editor->givePermissionTo(['create', 'edit-all', 'delete-all', 'view-all']);\n        $simpleUser->givePermissionTo(['create', 'edit-own', 'delete-own', 'view-own']);\n    }\n}\n"
  },
  {
    "path": "database/seeders/UserSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Seeder;\nuse App\\Models\\User;\nuse App\\Actions\\Fortify\\CreateNewUser;\n\nclass UserSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     */\n    public function run(): void\n    {\n        /*Admin*/\n        $admin = User::factory()->withPersonalTeam()->create([\n            'name' => 'Super Admin',\n            'email' => 'admin@tailadmin.dev',\n            'password' => bcrypt('admin'),\n        ]);\n\n        /*Editor*/\n        $editor = User::factory()->withPersonalTeam()->create([\n            'name' => 'Editor',\n            'email' => 'editor@tailadmin.dev',\n            'password' => bcrypt('editor'),\n        ]);\n\n        /*Simple User*/\n        $simpleUser = User::factory()->withPersonalTeam()->create([\n            'name' => 'Super User',\n            'email' => 'user@tailadmin.dev',\n            'password' => bcrypt('user'),\n        ]);\n\n        /*Assign Role*/\n        $admin->assignRole('Super Admin');\n        $editor->assignRole('Editor');\n        $simpleUser->assignRole('Simple User');\n    }\n}\n"
  },
  {
    "path": "eslint.config.js",
    "content": "/** @type {import('eslint').Linter.FlatConfig[]} */\nexport default [\n    {\n        files: [\n            \"./resources/js/**/*.js\",\n            \"./resources/js/**/*.ts\"\n        ],\n        extends: [\n            // add more generic rulesets here, such as:\n            \"eslint:recommended\",\n            //'plugin:vue/vue3-recommended',\n            // 'plugin:vue/vue3-essential', // This option doesn't impose formatting rules\n            \"plugin:vue/vue3-strongly-recommended\", // This option imposes formatting rules on your code to improve readability\n            \"prettier\"\n            // Make sure \"prettier\" is the last element in this list.\n        ],\n        rules: {\n            // override/add rules settings here, such as:\n            // 'vue/no-unused-vars': 'error'\n        }\n    }\n];\n"
  },
  {
    "path": "jsconfig.json",
    "content": "{\n    \"compilerOptions\": {\n        \"baseUrl\": \".\",\n        \"paths\": {\n            \"@/*\": [\"resources/js/*\"]\n        }\n    },\n    \"exclude\": [\"node_modules\", \"public\"]\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n    \"private\": true,\n    \"type\": \"module\",\n    \"scripts\": {\n        \"dev\": \"vite\",\n        \"build\": \"vite build && vite build --ssr\"\n    },\n    \"devDependencies\": {\n        \"@inertiajs/vue3\": \"^2.0\",\n        \"@tailwindcss/forms\": \"^0.5.7\",\n        \"@tailwindcss/typography\": \"^0.5.10\",\n        \"@types/eslint\": \"^8.56.10\",\n        \"@vitejs/plugin-vue\": \"^6.0.0\",\n        \"@vue/server-renderer\": \"^3.5.21\",\n        \"autoprefixer\": \"^10.4.19\",\n        \"axios\": \"^1.11.0\",\n        \"concurrently\": \"^9.0.1\",\n        \"eslint\": \"^9.6.0\",\n        \"eslint-config-prettier\": \"^9.1.0\",\n        \"eslint-plugin-vue\": \"^9.27.0\",\n        \"laravel-vite-plugin\": \"^2.0.0\",\n        \"postcss\": \"^8.4.39\",\n        \"prettier\": \"^3.3.2\",\n        \"sass\": \"^1.77.6\",\n        \"tailwind-scrollbar\": \"^3.1.0\",\n        \"tailwindcss\": \"^3.4.0\",\n        \"vite\": \"^7.1.6\",\n        \"vue\": \"^3.5.21\"\n    },\n    \"dependencies\": {\n        \"@fortawesome/fontawesome-svg-core\": \"^7.0.1\",\n        \"@fortawesome/free-brands-svg-icons\": \"^7.0.1\",\n        \"@fortawesome/free-regular-svg-icons\": \"^7.0.1\",\n        \"@fortawesome/free-solid-svg-icons\": \"^7.0.1\",\n        \"@fortawesome/vue-fontawesome\": \"^3.1.2\",\n        \"@vuelidate/core\": \"^2.0.3\",\n        \"@vuelidate/validators\": \"^2.0.4\",\n        \"@vueuse/core\": \"^13.9.0\",\n        \"chart.js\": \"^4.4.3\",\n        \"highlight.js\": \"^11.9.0\",\n        \"lodash\": \"^4.17.21\",\n        \"nprogress\": \"^0.2.0\",\n        \"pinia\": \"^3.0.3\",\n        \"simple-syntax-highlighter\": \"^3.0.2\",\n        \"v-calendar\": \"^3.1.2\",\n        \"vue-chartjs\": \"^5.3.1\",\n        \"vue-i18n\": \"^11.1.12\",\n        \"vue3-highlightjs\": \"^1.0.5\",\n        \"vue3-keypress\": \"^4.0.1\"\n    }\n}\n"
  },
  {
    "path": "phpunit.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpunit xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:noNamespaceSchemaLocation=\"vendor/phpunit/phpunit/phpunit.xsd\"\n         bootstrap=\"vendor/autoload.php\"\n         colors=\"true\"\n>\n    <testsuites>\n        <testsuite name=\"Unit\">\n            <directory>tests/Unit</directory>\n        </testsuite>\n        <testsuite name=\"Feature\">\n            <directory>tests/Feature</directory>\n        </testsuite>\n    </testsuites>\n    <source>\n        <include>\n            <directory>app</directory>\n        </include>\n    </source>\n    <php>\n        <env name=\"APP_ENV\" value=\"testing\"/>\n        <env name=\"APP_MAINTENANCE_DRIVER\" value=\"file\"/>\n        <env name=\"BCRYPT_ROUNDS\" value=\"4\"/>\n        <env name=\"CACHE_STORE\" value=\"array\"/>\n        <!-- <env name=\"DB_CONNECTION\" value=\"sqlite\"/>\n        <env name=\"DB_DATABASE\" value=\":memory:\"/> -->\n        <env name=\"MAIL_MAILER\" value=\"array\"/>\n        <env name=\"QUEUE_CONNECTION\" value=\"sync\"/>\n        <env name=\"SESSION_DRIVER\" value=\"array\"/>\n        <env name=\"PULSE_ENABLED\" value=\"false\"/>\n        <env name=\"TELESCOPE_ENABLED\" value=\"false\"/>\n        <env name=\"NIGHTWATCH_ENABLED\" value=\"false\"/>\n    </php>\n</phpunit>\n"
  },
  {
    "path": "postcss.config.js",
    "content": "export default {\n    plugins: {\n        tailwindcss: {},\n        autoprefixer: {},\n    },\n};\n"
  },
  {
    "path": "public/.htaccess",
    "content": "<IfModule mod_rewrite.c>\n    <IfModule mod_negotiation.c>\n        Options -MultiViews -Indexes\n    </IfModule>\n\n    RewriteEngine On\n\n    # Handle Authorization Header\n    RewriteCond %{HTTP:Authorization} .\n    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\n\n    # Handle X-XSRF-Token Header\n    RewriteCond %{HTTP:x-xsrf-token} .\n    RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}]\n\n    # Redirect Trailing Slashes If Not A Folder...\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteCond %{REQUEST_URI} (.+)/$\n    RewriteRule ^ %1 [L,R=301]\n\n    # Send Requests To Front Controller...\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteCond %{REQUEST_FILENAME} !-f\n    RewriteRule ^ index.php [L]\n</IfModule>\n"
  },
  {
    "path": "public/index.php",
    "content": "<?php\n\nuse Illuminate\\Foundation\\Application;\nuse Illuminate\\Http\\Request;\n\ndefine('LARAVEL_START', microtime(true));\n\n// Determine if the application is in maintenance mode...\nif (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {\n    require $maintenance;\n}\n\n// Register the Composer autoloader...\nrequire __DIR__.'/../vendor/autoload.php';\n\n// Bootstrap Laravel and handle the request...\n/** @var Application $app */\n$app = require_once __DIR__.'/../bootstrap/app.php';\n\n$app->handleRequest(Request::capture());\n"
  },
  {
    "path": "public/robots.txt",
    "content": "User-agent: *\nDisallow:\n"
  },
  {
    "path": "resources/css/app.css",
    "content": "@import 'tailwindcss/base';\n@import 'tailwindcss/components';\n@import 'tailwindcss/utilities';\n\n/*Components*/\n@import \"./components/auth.css\";\n@import \"./components/alert.css\";\n@import \"./components/avatar.css\";\n@import \"./components/badge.css\";\n@import \"./components/breadcrumb.css\";\n@import \"./components/button.css\";\n@import \"./components/collapsible.css\";\n@import \"./components/content-box.css\";\n@import \"./components/dropdown.css\";\n@import \"./components/grid.css\";\n@import \"./components/loading.css\";\n@import \"./components/list.css\";\n@import \"./components/modal.css\";\n@import \"./components/radius.css\";\n@import \"./components/pagination.css\";\n@import \"./components/progress.css\";\n@import \"./components/tab.css\";\n@import \"./components/table.css\";\n@import \"./components/toastr.css\";\n@import \"./components/tooltip.css\";\n@import \"./components/statistic-box.css\";\n@import \"./components/backEndTablePagination.css\";\n@import \"./components/input.css\";\n@import \"./components/vertical-menu.css\";\n\n/*Layouts*/\n@import \"./layout/main.css\";\n@import \"./layout/full-screen-layout.css\";\n@import \"./layout/top-bar.css\";\n@import \"./layout/main-menu.css\";\n@import \"./layout/footer.css\";\n\n/* Miscs */\n@import \"./misc/effect.css\";\n@import \"./misc/highlighter.css\";\n\n[x-cloak] {\n    display: none;\n}\n"
  },
  {
    "path": "resources/css/components/alert.css",
    "content": ".alert {\n    @apply flex flex-shrink-0 items-center justify-start relative w-full flex-grow-0\n}\n\n.alert-content {\n    @apply flex flex-col justify-center items-start flex-grow py-2 px-4 whitespace-pre-line\n}\n\n.alert-title {\n    @apply font-bold text-lg\n}\n\n.alert-close {\n    @apply hover:text-red-500 cursor-pointer mr-2\n}\n\n.alert-icon {\n    @apply flex flex-shrink-0 justify-center items-center\n}\n\n.alert-countdown {\n    @apply absolute justify-center items-center bottom-0 left-0 h-[.3rem] px-2 w-full\n}\n\n.alert-countdown-line {\n    @apply h-[.3rem] mx-auto\n}\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.alert-filled {\n    @apply text-white py-1 px-4\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n/*Success*/\n.alert-filled-success{\n    @apply bg-emerald-500\n}\n\n.alert-filled-success .alert-countdown-line {\n    @apply bg-emerald-700\n}\n\n/*Danger*/\n.alert-filled-danger{\n    @apply bg-rose-500\n}\n\n.alert-filled-danger .alert-countdown-line {\n    @apply bg-rose-700\n}\n\n/*Warning*/\n.alert-filled-warning{\n    @apply bg-amber-500\n}\n\n.alert-filled-warning .alert-countdown-line {\n    @apply bg-amber-700\n}\n\n/*Info*/\n.alert-filled-info{\n    @apply bg-sky-500\n}\n\n.alert-filled-info .alert-countdown-line {\n    @apply bg-sky-700\n}\n\n/*Light*/\n.alert-filled-light{\n    @apply bg-slate-300 text-slate-600\n}\n\n.alert-filled-light .alert-countdown-line {\n    @apply bg-slate-500\n}\n\n/*Dark*/\n.alert-filled-dark{\n    @apply bg-slate-800\n}\n\n.alert-filled-dark .alert-countdown-line {\n    @apply bg-slate-500\n}\n\n/*Violet*/\n.alert-filled-violet{\n    @apply bg-violet-500\n}\n\n.alert-filled-violet .alert-countdown-line {\n    @apply bg-violet-700\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Light Style\">*/\n/*General Definitions*/\n.alert-light {\n    @apply border py-1 px-4\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n/*Success*/\n.alert-light-success{\n    @apply bg-emerald-50 border-emerald-500 text-emerald-600 dark:bg-emerald-100/80\n}\n\n.alert-light-success .alert-countdown-line {\n    @apply bg-emerald-500\n}\n\n/*Danger*/\n.alert-light-danger{\n    @apply bg-rose-50 border-rose-500 text-rose-600 dark:bg-rose-700/10 dark:text-rose-100\n}\n\n.alert-light-danger .alert-countdown-line {\n    @apply bg-rose-500\n}\n\n/*Warning*/\n.alert-light-warning{\n    @apply bg-amber-50 border-amber-500 text-amber-600 dark:bg-amber-700/10 dark:text-amber-100\n}\n\n.alert-light-warning .alert-countdown-line {\n    @apply bg-amber-500\n}\n\n/*Info*/\n.alert-light-info{\n    @apply bg-sky-50 border-sky-500 text-sky-600 dark:bg-sky-700/10 dark:text-sky-100\n}\n\n.alert-light-info .alert-countdown-line {\n    @apply bg-sky-500\n}\n\n/*Light*/\n.alert-light-light{\n    @apply bg-slate-50 border-slate-500 text-slate-600 dark:bg-slate-700/10 dark:text-slate-100\n}\n\n.alert-light-light .alert-countdown-line {\n    @apply bg-slate-500\n}\n\n/*Dark*/\n.alert-light-dark{\n    @apply bg-slate-400 border-slate-600 text-slate-800 dark:border-slate-800 dark:bg-slate-700 dark:text-slate-100\n}\n\n.alert-light-dark .alert-countdown-line {\n    @apply bg-slate-600\n}\n\n/*Violet*/\n.alert-light-violet{\n    @apply bg-violet-50 border-violet-500 text-violet-600 dark:bg-violet-700/10 dark:text-violet-100\n}\n\n.alert-light-violet .alert-countdown-line {\n    @apply bg-violet-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Inline Style\">*/\n/*General Definitions*/\n.alert-inline {\n    @apply border py-1 pl-6 pr-4 text-white\n}\n\n.alert-inline .alert-icon{\n    @apply -mr-2\n}\n\n.alert-inline .alert-line {\n    @apply absolute h-[80%] w-1.5 left-2 rounded-full flex-shrink-0 after:content-['\\00a0']\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n/*Success*/\n.alert-inline-success{\n    @apply bg-emerald-500 border-emerald-500 dark:bg-emerald-500/30\n}\n\n.alert-inline-success .alert-line, .alert-inline-success .alert-countdown-line {\n    @apply bg-emerald-50\n}\n\n/*Danger*/\n.alert-inline-danger{\n    @apply bg-rose-500 border-rose-500 dark:bg-rose-500/30\n}\n\n.alert-inline-danger .alert-line, .alert-inline-danger .alert-countdown-line{\n    @apply bg-rose-50\n}\n\n/*Warning*/\n.alert-inline-warning{\n    @apply bg-amber-500 border-amber-500 dark:bg-amber-500/30\n}\n\n.alert-inline-warning .alert-line, .alert-inline-warning .alert-countdown-line {\n    @apply bg-amber-50\n}\n\n/*Info*/\n.alert-inline-info{\n    @apply bg-sky-500 border-sky-500 dark:bg-sky-500/30\n}\n\n.alert-inline-info .alert-line, .alert-inline-info .alert-countdown-line  {\n    @apply bg-sky-50\n}\n\n/*Light*/\n.alert-inline-light{\n    @apply bg-slate-200 text-slate-600 dark:text-slate-100 border-slate-500 dark:border-slate-100 dark:bg-slate-500/30\n}\n\n.alert-inline-light .alert-line, .alert-inline-light .alert-countdown-line {\n    @apply bg-slate-500 dark:bg-slate-100\n}\n\n/*Dark*/\n.alert-inline-dark{\n    @apply bg-slate-800 border-slate-800 dark:bg-slate-800/50\n}\n\n.alert-inline-dark .alert-line, .alert-inline-dark .alert-countdown-line {\n    @apply bg-slate-50\n}\n\n/*Violet*/\n.alert-inline-violet{\n    @apply bg-violet-500 border-violet-500 dark:bg-violet-500/30\n}\n\n.alert-inline-violet .alert-line, .alert-inline-violet .alert-countdown-line {\n    @apply bg-violet-50\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Outline Style\">*/\n.alert-outline {\n    @apply  flex shadow px-4 text-gray-700 bg-white dark:bg-slate-800 dark:text-white overflow-hidden\n}\n\n.alert-outline .alert-content{\n    @apply pl-2 pr-4 py-3\n}\n\n.alert-outline .alert-line {\n    @apply absolute w-1.5 h-full left-0 flex-shrink-0 mr-4 before:content-['\\00a0']\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n/*Success*/\n.alert-outline-success .alert-icon{\n    @apply text-emerald-500\n}\n\n.alert-outline-success .alert-line, .alert-outline-success .alert-countdown-line {\n    @apply bg-emerald-500\n}\n\n/*Danger*/\n.alert-outline-danger .alert-icon{\n    @apply text-rose-500\n}\n\n.alert-outline-danger .alert-line, .alert-outline-danger .alert-countdown-line{\n    @apply bg-rose-500\n}\n\n/*Warning*/\n.alert-outline-warning .alert-icon{\n    @apply text-amber-500\n}\n\n.alert-outline-warning .alert-line, .alert-outline-warning .alert-countdown-line {\n    @apply bg-amber-500\n}\n\n/*Info*/\n.alert-outline-info .alert-icon{\n    @apply text-sky-500\n}\n\n.alert-outline-info .alert-line, .alert-outline-info .alert-countdown-line  {\n    @apply bg-sky-500\n}\n\n/*Light*/\n.alert-outline-light .alert-icon{\n    @apply text-slate-500\n}\n\n.alert-outline-light .alert-line, .alert-outline-light .alert-countdown-line {\n    @apply bg-slate-500\n}\n\n/*Dark*/\n.alert-outline-dark .alert-icon{\n    @apply text-slate-800 dark:text-slate-900\n}\n\n.alert-outline-dark .alert-line, .alert-outline-dark .alert-countdown-line {\n    @apply bg-slate-900\n}\n\n/*Violet*/\n.alert-outline-violet .alert-icon{\n    @apply text-violet-500\n}\n\n.alert-outline-violet .alert-line, .alert-outline-violet .alert-countdown-line {\n    @apply bg-violet-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Elegant Style\">*/\n/*General Definitions*/\n.alert-elegant {\n    @apply flex flex-row justify-start items-center py-1 px-4 shadow text-gray-700 bg-white dark:bg-slate-800 dark:text-white overflow-hidden\n}\n\n.alert-elegant .alert-content{\n    @apply flex flex-row justify-start items-center\n}\n\n.alert-elegant .alert-title {\n    @apply rounded-full border -ml-4 mr-4 px-2 leading-5 text-2xs font-normal\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n/*Success*/\n.alert-elegant-success .alert-title{\n    @apply text-emerald-600 bg-emerald-50 border-emerald-500 dark:bg-emerald-700/10 dark:text-emerald-100\n}\n.alert-elegant-success .alert-countdown-line {\n    @apply bg-emerald-500\n}\n\n/*Danger*/\n.alert-elegant-danger .alert-title{\n    @apply text-rose-500 bg-rose-50 border-rose-500 dark:bg-rose-700/10 dark:text-rose-100\n}\n.alert-elegant-danger .alert-countdown-line{\n    @apply bg-rose-500\n}\n\n/*Warning*/\n.alert-elegant-warning .alert-title{\n    @apply text-amber-500 bg-amber-50 border-amber-500 dark:bg-amber-700/10 dark:text-amber-100\n}\n.alert-elegant-warning .alert-countdown-line {\n    @apply bg-amber-500\n}\n\n/*Info*/\n.alert-elegant-info .alert-title{\n    @apply text-sky-500 bg-sky-50 border-sky-500 dark:bg-sky-700/10 dark:text-sky-100\n}\n.alert-elegant-info .alert-countdown-line  {\n    @apply bg-sky-500\n}\n\n/*Light*/\n.alert-elegant-light .alert-title{\n    @apply text-slate-500 bg-slate-50 border-slate-500 dark:bg-slate-700/10 dark:text-slate-100\n}\n.alert-elegant-light .alert-countdown-line {\n    @apply bg-slate-500\n}\n\n/*Dark*/\n.alert-elegant-dark .alert-title{\n    @apply text-slate-800 bg-slate-400 border-slate-500  dark:border-slate-900 dark:bg-slate-700/50 dark:text-slate-100\n}\n\n.alert-elegant-dark .alert-countdown-line {\n    @apply bg-slate-50\n}\n\n/*Violet*/\n.alert-elegant-violet .alert-title{\n    @apply text-violet-500 bg-violet-50 border-violet-500 dark:bg-violet-700/10 dark:text-violet-100\n}\n.alert-elegant-violet .alert-countdown-line {\n    @apply bg-violet-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Block Style\">*/\n/*General Definitions*/\n.alert-block {\n    @apply shadow pl-1 pr-4 text-gray-700 bg-white dark:bg-slate-800 dark:text-white overflow-hidden\n}\n\n.alert-block .alert-content{\n    @apply py-3 ml-12 pr-4\n}\n\n.alert-block .alert-icon {\n    @apply absolute h-full px-5 border-r-4 left-0\n}\n\n.alert-block-base #countdown {\n    @apply h-1 rounded-full mx-auto\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n/*Success*/\n.alert-block-success .alert-icon{\n    @apply text-emerald-600 bg-emerald-200 border-emerald-500 dark:bg-emerald-500 dark:border-emerald-700 dark:text-emerald-50\n}\n.alert-block-success .alert-countdown-line {\n    @apply bg-emerald-500\n}\n\n/*Danger*/\n.alert-block-danger .alert-icon{\n    @apply text-rose-500 bg-rose-200 border-rose-500 dark:bg-rose-500 dark:border-rose-700 dark:text-rose-50\n}\n.alert-block-danger .alert-countdown-line{\n    @apply bg-rose-500\n}\n\n/*Warning*/\n.alert-block-warning .alert-icon{\n    @apply text-amber-500 bg-amber-200 border-amber-500 dark:bg-amber-500 dark:border-amber-700 dark:text-amber-50\n}\n.alert-block-warning .alert-countdown-line {\n    @apply bg-amber-500\n}\n\n/*Info*/\n.alert-block-info .alert-icon{\n    @apply text-sky-500 bg-sky-200 border-sky-500 dark:bg-sky-500 dark:border-sky-700 dark:text-sky-50\n}\n.alert-block-info .alert-countdown-line  {\n    @apply bg-sky-500\n}\n\n/*Light*/\n.alert-block-light .alert-icon{\n    @apply text-slate-500 bg-slate-200 border-slate-500 dark:bg-slate-500 dark:border-slate-700 dark:text-slate-50\n}\n.alert-block-light .alert-countdown-line {\n    @apply bg-slate-500\n}\n\n/*Dark*/\n.alert-block-dark .alert-icon{\n    @apply text-slate-100 bg-slate-500 border-slate-700  dark:bg-slate-900 dark:border-slate-700 dark:text-slate-50\n}\n\n.alert-block-dark .alert-countdown-line {\n    @apply bg-slate-50\n}\n\n/*Violet*/\n.alert-block-violet .alert-icon{\n    @apply text-violet-500 bg-violet-200 border-violet-500 dark:bg-violet-500 dark:border-violet-700 dark:text-violet-50\n}\n.alert-block-violet .alert-countdown-line {\n    @apply bg-violet-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Gradient Style\">*/\n/*General Definitions*/\n.alert-gradient {\n    @apply py-1 px-4\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Rose*/\n.alert-gradient-rose {\n    @apply text-gray-600;\n    text-shadow: #ffafbd .05rem .05rem;\n    background: linear-gradient(90deg, rgba(255, 175, 189, 1) 0%, rgba(255, 195, 160, 1) 100%);\n}\n\n.alert-gradient-rose .alert-countdown-line {\n    background-color: rgba(255, 235, 239, 1);\n}\n\n/*Sky*/\n.alert-gradient-sky {\n    @apply text-gray-100;\n    text-shadow: #2193b0 .05rem .05rem;\n    background: linear-gradient(90deg, rgba(33, 147, 176, 1) 0%, rgba(109, 213, 237, 1) 100%);\n}\n\n.alert-gradient-sky .alert-countdown-line {\n    background-color: rgba(183, 237, 250, 1);\n}\n\n/*Fuchsia*/\n.alert-gradient-fuchsia {\n    @apply text-gray-100;\n    text-shadow: #cc2b5e .05rem .05rem;\n    background: linear-gradient(90deg, rgba(204, 43, 94, 1) 0%, rgba(117, 58, 136, 1) 100%);\n}\n\n.alert-gradient-fuchsia .alert-countdown-line {\n    background-color: rgba(252, 156, 187, 1);\n}\n\n/*Violet*/\n.alert-gradient-violet {\n    @apply text-gray-100;\n    text-shadow: #42275a .05rem .05rem;\n    background: linear-gradient(90deg, rgba(66, 39, 90, 1) 0%, rgba(115, 75, 109, 1) 100%);\n}\n\n.alert-gradient-violet .alert-countdown-line {\n    background-color: rgba(207, 171, 240, 1);\n}\n\n/*Cloud*/\n.alert-gradient-cloud {\n    @apply text-gray-100;\n    text-shadow: #bdc3c7 .05rem .05rem;\n    background: linear-gradient(90deg, rgba(44, 62, 80, 1) 0%, rgba(189, 195, 199, 1) 100%);\n}\n\n.alert-gradient-cloud .alert-countdown-line {\n    background-color: rgba(179, 195, 210, 1);\n}\n\n/*Turquoise*/\n.alert-gradient-turquoise {\n    @apply text-gray-100;\n    text-shadow: #06beb6 .05rem .05rem;\n    background: linear-gradient(90deg, rgba(6, 190, 182, 1) 0%, rgba(72, 177, 191, 1) 100%);\n}\n\n.alert-gradient-turquoise .alert-countdown-line {\n    background-color: rgba(168, 247, 244, 1);\n}\n\n/*Caterpillar*/\n.alert-gradient-caterpillar {\n    @apply text-gray-100;\n    text-shadow: #2193b0 .05rem .05rem;\n    background: linear-gradient(90deg, rgba(86, 171, 47, 1) 0%, rgba(168, 224, 99, 1) 100%);\n}\n\n.alert-gradient-caterpillar .alert-countdown-line {\n    background-color: rgba(208, 245, 192, 1);\n}\n\n/*Biscuit*/\n.alert-gradient-biscuit {\n    @apply text-gray-100;\n    text-shadow: #d76d77 .05rem .05rem;\n    background: linear-gradient(90deg, rgba(58, 28, 113, 1) 0%, rgba(215, 109, 119, 1) 50%, rgba(255, 175, 123, 1) 100%);\n}\n\n.alert-gradient-biscuit .alert-countdown-line {\n    background-color: rgba(219, 205, 245, 1);\n}\n\n/*Dream*/\n.alert-gradient-dream {\n    @apply text-gray-100;\n    text-shadow: #d76d77 .05rem .05rem;\n    background: linear-gradient(90deg, rgba(105, 74, 101, 1) 0%, rgba(183, 121, 235, 1) 40%, rgba(125, 173, 249, 1) 80%, rgba(4, 189, 200, 1) 100%);\n}\n\n.alert-gradient-dream .alert-countdown-line {\n    background-color: rgba(219, 205, 245, 1);\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/auth.css",
    "content": "/*Auth*/\n/*Auth Container*/\n.auth-container {\n    @apply flex flex-col border items-center justify-center shadow border-none w-96\n}\n\n/*Auth Header*/\n.auth-header {\n    @apply flex flex-col w-full justify-center items-center backdrop-filter backdrop-blur\n}\n\n/*Auth Logo*/\n.auth-logo {\n    @apply inline-flex py-4\n}\n\n/*Auth Greeting*/\n.auth-greeting {\n    @apply inline-flex justify-center w-full bg-gray-200 py-1 bg-opacity-20 w-full\n}\n\n/*Auth Status*/\n.auth-status {\n    @apply mb-4 font-medium text-sm text-green-600\n}\n\n/*Auth Form*/\n.auth-form {\n    @apply flex flex-col gap-4 bg-white dark:text-slate-100 dark:bg-slate-800 backdrop-filter backdrop-blur p-6 w-full\n}\n\n/*Auth Remember: Login*/\n.auth-remember {\n    @apply flex justify-between items-center mt-4 space-x-4\n}\n\n/*Auth Remember Text: Login*/\n.auth-remember-text {\n    @apply text-sm\n}\n\n/*Auth Forgot Password: Login*/\n.auth-forgot-password {\n    @apply underline text-sm\n}\n\n/*Auth Submit Area*/\n.auth-submit-area {\n    @apply flex items-center justify-between mt-4\n}\n\n/*Auth Error*/\n.auth-error {\n    @apply absolute w-full translate-y-1/2 mt-4 text-white\n}\n\n/*Auth Avatar Container: Lock*/\n.auth-avatar-container {\n    @apply absolute -mt-12 grid w-full justify-center\n}\n\n/*Auth Avatar Container: Lock*/\n.auth-avatar {\n    @apply border-4 rounded-full bg-gray-300 z-10\n}\n\n/*Auth Lock Form*/\n.auth-lock-form {\n    @apply flex flex-col gap-4 p-8 w-full\n}\n\n/*Auth Name*/\n.auth-name {\n    @apply text-xl text-center font-semibold pt-6 -mb-3\n}\n"
  },
  {
    "path": "resources/css/components/avatar.css",
    "content": ".avatar-container {\n    @apply relative z-0\n}\n.avatar-container-group {\n    @apply -ml-4  hover:z-10\n}\n.avatar-group-container {\n    @apply inline-flex flex-row-reverse ml-4\n}\n.avatar-group-image {\n    @apply border-2 border-white border-opacity-75 hover:scale-150 transform\n}\n.avatar-indicator {\n    @apply absolute flex flex-shrink-0 justify-center items-center w-1/3 h-1/3 rounded-full font-semibold\n}\n\n/*<editor-fold desc=\"Size Styles\">*/\n.avatar-size-1 {\n    @apply w-5 h-5\n}\n.avatar-size-2 {\n    @apply w-8 h-8\n}\n.avatar-size-3 {\n    @apply w-10 h-10\n}\n.avatar-size-4 {\n    @apply w-12 h-12\n}\n.avatar-size-5 {\n    @apply w-16 h-16\n}\n.avatar-size-6 {\n    @apply w-20 h-20\n}\n.avatar-size-7 {\n    @apply w-24 h-24\n}\n.avatar-size-8 {\n    @apply w-36 h-36\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Position Styles\">*/\n.avatar-indicator-position-lb {\n    @apply -left-0.5 -bottom-0.5\n}\n.avatar-indicator-position-rb {\n    @apply -right-0.5 -bottom-0.5\n}\n.avatar-indicator-position-lt {\n    @apply -left-0.5 -top-0.5\n}\n.avatar-indicator-position-rt {\n    @apply -right-0.5 -top-0.5\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Indicator Styles\">*/\n.avatar-indicator-info {\n    @apply bg-sky-500 text-gray-100\n}\n.avatar-indicator-danger {\n    @apply bg-rose-500 text-gray-100\n}\n.avatar-indicator-success {\n    @apply bg-emerald-500 text-gray-100\n}\n.avatar-indicator-warning {\n    @apply bg-amber-500 text-gray-100\n}\n.avatar-indicator-purple {\n    @apply bg-purple-500 text-gray-100\n}\n.avatar-indicator-pink {\n    @apply bg-pink-500 text-gray-100\n}\n.avatar-indicator-light {\n    @apply bg-gray-500 text-gray-100\n}\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/backEndTablePagination.css",
    "content": "/*bet-pagination*/\n/*bet-pagination Container*/\n.bet-pagination-container {\n    @apply flex flex-col-reverse my-2 md:flex-row md:mt-0 justify-center md:justify-between flex-shrink-0 w-full items-center ease-in-out duration-200 transition-all\n}\n/*bet-pagination Detail Text*/\n.bet-pagination-detail-container{\n    @apply flex flex-row flex-shrink-0 mt-2 md:mt-0 items-center space-x-2 select-none\n}\n.bet-pagination-detail-text{\n    @apply flex flex-row flex-shrink-0\n}\n.bet-pagination-detail-jump-container{\n    @apply relative flex items-center\n}\n.bet-pagination-detail-jump-input{\n    @apply flex h-8 ml-2 px-0 text-center focus:ring-0\n}\n.bet-pagination-detail-jump-button{\n    @apply flex text-sm items-center px-0.5 cursor-pointer h-8\n}\n.bet-pagination-counters {\n    @apply inline-flex flex-shrink-0 justify-end items-center overflow-hidden ease-in-out duration-200 transition-all\n}\n/*bet-pagination Item*/\n.bet-pagination-item {\n    @apply flex items-center justify-center h-8 px-2 cursor-pointer font-semibold select-none flex-shrink-0 ease-in-out duration-200 transition-all\n}\n.bet-pagination-active-item {\n    @apply flex items-center justify-center h-8 px-2 cursor-pointer font-semibold select-none flex-shrink-0 ease-in-out duration-200 transition-all\n}\n/*Left Right Navigation Arrows*/\n.bet-pagination-arrow, .bet-pagination-passive-arrow  {\n    @apply flex flex-shrink-0 items-center justify-center h-8 px-2 cursor-pointer font-semibold select-none\n}\n.bet-pagination-passive-arrow{\n    @apply cursor-auto\n}\n.bet-pagination-arrow-text{\n    @apply hidden md:block\n}\n\n/*Light*/\n.bet-pagination-light .bet-pagination-item{\n    @apply bg-white text-gray-700\n}\n.bet-pagination-light .bet-pagination-active-item{\n    @apply bg-gray-700 text-white\n}\n.bet-pagination-light .bet-pagination-arrow{\n    @apply bg-white text-gray-700\n}\n.bet-pagination-light .bet-pagination-passive-arrow{\n    @apply bg-white text-gray-300\n}\n.bet-pagination-light .bet-pagination-detail-jump-button{\n    @apply bg-white text-gray-700 border\n}\n.bet-pagination-light .bet-pagination-detail-jump-input{\n    @apply bg-white text-gray-700 border border-r-0 border-gray-200\n}\n\n\n/*Dark*/\n.bet-pagination-dark .bet-pagination-item{\n    @apply bg-gray-700 text-white\n}\n.bet-pagination-dark .bet-pagination-active-item{\n    @apply bg-gray-300 text-gray-700\n}\n.bet-pagination-dark .bet-pagination-arrow{\n    @apply bg-gray-700 text-white\n}\n.bet-pagination-dark .bet-pagination-passive-arrow{\n    @apply bg-gray-300 text-gray-600\n}\n\n.bet-pagination-dark .bet-pagination-detail-jump-button{\n    @apply bg-gray-700 text-white\n}\n.bet-pagination-dark .bet-pagination-detail-jump-input{\n    @apply bg-white text-gray-700\n}\n"
  },
  {
    "path": "resources/css/components/badge.css",
    "content": ".badge {\n    @apply flex relative flex-grow-0 flex-shrink-0 justify-center items-center whitespace-nowrap select-none overflow-hidden max-w-min max-h-min place-content-center transition-all duration-75\n}\n.badge-icon {\n    @apply w-5 h-5 flex flex-shrink-0 flex-grow-0 items-center justify-center\n}\n.badge-content-container {\n    @apply flex justify-center items-center flex-shrink-0 flex-grow-0\n}\n.badge-content {\n    @apply flex justify-start items-center px-1 overflow-hidden text-xs space-x-1 flex-shrink-0 flex-grow-0;\n}\n.badge-select-icon {\n    @apply cursor-pointer\n}\n.badge-value {\n    @apply flex text-2xs items-center justify-center flex-shrink-0 flex-grow-0;\n    margin-top: .075rem;\n}\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.badge-filled {\n    @apply text-white font-semibold border\n}\n.badge-filled .badge-value {\n    @apply border-slate-100 border-opacity-50 border-l font-semibold\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n\n/*Success*/\n.badge-filled-success {\n    @apply bg-emerald-500 border-emerald-500\n}\n\n/*Danger*/\n.badge-filled-danger {\n    @apply bg-rose-500 border-rose-500\n}\n\n/*Warning*/\n.badge-filled-warning {\n    @apply bg-amber-500 border-amber-500\n}\n\n/*Info*/\n.badge-filled-info {\n    @apply bg-sky-500 border-sky-500\n}\n\n/*Light*/\n.badge-filled-light {\n    @apply bg-slate-300 border-slate-300 text-slate-700\n}\n\n/*Dark*/\n.badge-filled-dark {\n    @apply bg-slate-800 border-slate-800\n}\n\n/*Violet*/\n.badge-filled-purple {\n    @apply bg-violet-500 border-violet-500\n}\n\n/*Pink*/\n.badge-filled-pink {\n    @apply bg-pink-500 border-pink-500\n}\n\n\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Light Style\">*/\n/*General Definitions*/\n.badge-light {\n    @apply border font-semibold\n}\n.badge-light .badge-value {\n    @apply border-l font-semibold\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n\n/*Success*/\n.badge-light-success {\n    @apply bg-amber-200 border-amber-500 text-amber-800\n}\n.badge-light-success .badge-value{\n    @apply border-amber-500\n}\n\n/*Danger*/\n.badge-light-danger {\n    @apply bg-rose-200 border-rose-500 text-rose-800\n}\n.badge-light-danger .badge-value{\n    @apply border-rose-500\n}\n\n/*Warning*/\n.badge-light-warning {\n    @apply bg-amber-200 border-amber-500 text-amber-800\n}\n.badge-light-warning .badge-value{\n    @apply border-amber-500\n}\n\n/*Info*/\n.badge-light-info {\n    @apply bg-sky-200 border-sky-500 text-sky-800\n}\n.badge-light-info .badge-value{\n    @apply border-sky-500\n}\n\n/*Light*/\n.badge-light-light {\n    @apply bg-slate-200 border-slate-500 text-slate-800\n}\n.badge-light-light .badge-value{\n    @apply border-slate-500\n}\n\n/*Dark*/\n.badge-light-dark {\n    @apply bg-slate-500 border-slate-800 text-slate-50\n}\n.badge-light-dark .badge-value {\n    @apply border-slate-800\n}\n\n/*Violet*/\n.badge-light-violet {\n    @apply bg-violet-200 border-violet-500 text-violet-800\n}\n.badge-light-violet .badge-value{\n    @apply border-violet-500\n}\n\n/*Pink*/\n.badge-light-pink {\n    @apply bg-pink-200 border-pink-500 text-pink-800\n}\n.badge-light-pink .badge-value{\n    @apply border-pink-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Inline Style\">*/\n/*General Definitions*/\n.badge-inline {\n    @apply text-slate-700 dark:text-slate-100 bg-white dark:bg-slate-700 font-semibold overflow-hidden;\n    box-shadow: rgba(0, 0, 0, 0.24) 0px .01rem .1rem;\n}\n.badge-inline-line {\n    @apply w-1.5 h-full flex-shrink-0;\n}\n.badge-inline-line:after {\n    content: '&nbsp';\n    visibility: hidden;\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n\n/*Success*/\n.badge-inline-success .badge-icon {\n    @apply text-amber-500\n}\n.badge-inline-success #line,.badge-inline-success .badge-increase-button {\n    @apply  bg-amber-500\n}\n\n/*Danger*/\n.badge-inline-danger .badge-icon {\n    @apply text-rose-500\n}\n.badge-inline-danger #line,.badge-inline-danger .badge-increase-button {\n    @apply  bg-rose-500\n}\n\n/*Warning*/\n.badge-inline-warning .badge-icon {\n    @apply text-amber-500\n}\n.badge-inline-warning #line,.badge-inline-warning .badge-increase-button {\n    @apply  bg-amber-500\n}\n\n/*Info*/\n.badge-inline-info .badge-icon {\n    @apply text-sky-500\n}\n.badge-inline-info #line,.badge-inline-info .badge-increase-button {\n    @apply  bg-sky-500\n}\n\n/*Light*/\n.badge-inline-light .badge-icon {\n    @apply text-slate-300\n}\n.badge-inline-light #line,.badge-inline-light .badge-increase-button {\n    @apply  bg-slate-300\n}\n\n/*Dark*/\n.badge-inline-dark .badge-icon {\n    @apply text-slate-800\n}\n.badge-inline-dark #line, .badge-inline-dark .badge-increase-button {\n    @apply bg-slate-800\n}\n\n/*Violet*/\n.badge-inline-violet .badge-icon {\n    @apply text-violet-500\n}\n.badge-inline-violet #line,.badge-inline-violet .badge-increase-button {\n    @apply  bg-violet-500\n}\n\n/*Pink*/\n.badge-inline-pink .badge-icon {\n    @apply text-pink-500\n}\n.badge-inline-pink #line,.badge-inline-pink .badge-increase-button {\n    @apply  bg-pink-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Outline Style\">*/\n.badge-outline {\n    @apply text-slate-700 dark:text-slate-100 font-semibold overflow-hidden\n}\n.badge-outline-line {\n    @apply rounded-full flex-shrink-0;\n    margin-top: .05rem;\n    margin-right: .125rem;\n    width: .5rem;\n    height: .5rem;\n}\n.badge-outline-line:after {\n    content: '&nbsp';\n    visibility: hidden;\n}\n.badge-outline .badge-icon {\n    @apply ml-2\n}\n.badge-outline .badge-increase-button, .badge-decrease-button {\n    @apply w-5 h-5\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n/*Black*/\n\n/*Success*/\n.badge-outline-success #line {\n    @apply  bg-emerald-500\n}\n.badge-outline-success .badge-value {\n    @apply  text-emerald-500\n}\n\n/*Danger*/\n.badge-outline-danger #line {\n    @apply  bg-rose-500\n}\n.badge-outline-danger .badge-value {\n    @apply  text-rose-500\n}\n\n/*Warning*/\n.badge-outline-warning #line {\n    @apply  bg-amber-500\n}\n.badge-outline-warning .badge-value {\n    @apply  text-amber-500\n}\n\n/*Info*/\n.badge-outline-info #line {\n    @apply  bg-sky-500\n}\n.badge-outline-info .badge-value {\n    @apply  text-sky-500\n}\n\n/*Light*/\n.badge-outline-light #line {\n    @apply  bg-slate-300\n}\n.badge-outline-light .badge-value {\n    @apply  text-slate-300\n}\n\n/*Dark*/\n.badge-outline-dark #line {\n    @apply bg-slate-800\n}\n.badge-outline-dark .badge-value {\n    @apply text-slate-800\n}\n\n/*Violet*/\n.badge-outline-violet #line {\n    @apply  bg-violet-500\n}\n.badge-outline-violet .badge-value {\n    @apply  text-violet-500\n}\n\n/*Pink*/\n.badge-outline-pink #line {\n    @apply  bg-pink-500\n}\n.badge-outline-pink .badge-value {\n    @apply  text-pink-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Elegant Style\">*/\n/*General Definitions*/\n.badge-elegant {\n    @apply bg-white dark:bg-slate-700 dark:text-slate-100 border font-semibold overflow-hidden\n}\n.badge-elegant .badge-value{\n    @apply border-0 font-semibold my-0.5 rounded-full;\n    margin-right: .160rem;\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n\n/*Success*/\n.badge-elegant-success {\n    @apply  text-emerald-600 border-emerald-500\n}\n.badge-elegant-success .badge-value {\n    @apply border-emerald-500 bg-emerald-200 text-emerald-700\n}\n\n/*Danger*/\n.badge-elegant-danger {\n    @apply  text-rose-600 border-rose-500\n}\n.badge-elegant-danger .badge-value {\n    @apply border-rose-500 bg-rose-200 text-rose-700\n}\n\n/*Warning*/\n.badge-elegant-warning {\n    @apply  text-amber-600 border-amber-500\n}\n.badge-elegant-warning .badge-value {\n    @apply border-amber-500 bg-amber-200 text-amber-700\n}\n\n/*Info*/\n.badge-elegant-info {\n    @apply  text-sky-600 border-sky-500\n}\n.badge-elegant-Info .badge-value {\n    @apply border-sky-500 bg-sky-200 text-sky-700\n}\n\n/*Light*/\n.badge-elegant-light {\n    @apply  text-slate-600 border-slate-500\n}\n.badge-elegant-light .badge-value {\n    @apply border-slate-500 bg-slate-500 text-white\n}\n\n/*Dark*/\n.badge-elegant-black {\n    @apply text-slate-800 border-slate-800\n}\n.badge-elegant-black .badge-value {\n    @apply border-slate-800 bg-slate-700 text-white\n}\n\n/*Violet*/\n.badge-elegant-violet {\n    @apply  text-violet-600 border-violet-500\n}\n.badge-elegant-violet .badge-value {\n    @apply border-violet-500 bg-violet-200 text-violet-700\n}\n\n/*Pink*/\n.badge-elegant-pink {\n    @apply  text-pink-600 border-pink-500\n}\n.badge-elegant-pink .badge-value {\n    @apply border-pink-500 bg-pink-200 text-pink-700\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Block Style\">*/\n/*General Definitions*/\n.badge-block {\n    @apply relative bg-white dark:bg-slate-700 dark:text-slate-100 shadow-inner border font-semibold overflow-hidden\n}\n.badge-block .badge-icon {\n    @apply absolute h-full left-0\n}\n.badge-block .badge-value {\n    @apply font-bold\n}\n\n/*Colors: success, danger, warning, info, light, dark, violet*/\n\n/*Success*/\n.badge-block-success {\n    @apply border-emerald-300 text-emerald-600\n}\n.badge-block-success .badge-icon {\n    @apply  bg-emerald-100 text-emerald-600\n}\n\n/*Danger*/\n.badge-block-danger {\n    @apply border-rose-300 text-rose-600\n}\n.badge-block-danger .badge-icon {\n    @apply  bg-rose-100 text-rose-600\n}\n\n/*Warning*/\n.badge-block-warning {\n    @apply border-amber-300 text-amber-600\n}\n.badge-block-warning .badge-icon {\n    @apply  bg-amber-100 text-amber-600\n}\n\n/*Ingo*/\n.badge-block-info {\n    @apply border-sky-300 text-sky-600\n}\n.badge-block-info .badge-icon {\n    @apply  bg-sky-100 text-sky-600\n}\n\n/*Light*/\n.badge-block-light {\n    @apply border-slate-500 text-slate-600\n}\n.badge-block-light .badge-icon {\n    @apply  bg-slate-300 text-slate-600\n}\n\n/*Dark*/\n.badge-block-dark {\n    @apply border-slate-800 text-slate-700\n}\n.badge-block-dark .badge-icon {\n    @apply bg-slate-600 text-slate-100\n}\n\n/*Violet*/\n.badge-block-violet {\n    @apply border-violet-300 text-violet-600\n}\n.badge-block-violet .badge-icon {\n    @apply  bg-violet-100 text-violet-600\n}\n\n/*Pink*/\n.badge-block-pink {\n    @apply border-pink-300 text-pink-600\n}\n.badge-block-pink .badge-icon {\n    @apply  bg-pink-100 text-pink-600\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Gradient Style\">*/\n/*General Definitions*/\n.badge-gradient {\n    @apply  font-semibold\n}\n.badge-gradient .badge-icon {\n    @apply ml-2\n}\n.badge-gradient .badge-increase-button, .badge-decrease-button {\n    @apply w-5 h-5\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Rose*/\n.badge-gradient-rose {\n    @apply text-slate-600;\n    text-shadow: #ffafbd 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(255,175,189,1) 0%, rgba(255,195,160,1) 100%);\n}\n.badge-gradient-rose .badge-close{\n    @apply bg-slate-500 text-slate-100 hover:bg-white hover:text-rose-700 bg-opacity-75 rounded-full;\n}\n.badge-gradient-rose .badge-increase-button {\n    background-color: rgba(255,235,239,1);\n}\n/*Sky*/\n.badge-gradient-sky {\n    @apply text-slate-100;\n    text-shadow: #2193b0 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(33,147,176,1) 0%, rgba(109,213,237,1) 100%);\n}\n.badge-gradient-sky .badge-close{\n    @apply bg-slate-500 text-slate-100 hover:bg-white hover:text-rose-700 bg-opacity-75 rounded-full;\n}\n.badge-gradient-sky .badge-increase-button {\n    background-color: rgba(183,237,250,1);\n}\n/*Fuchsia*/\n.badge-gradient-fuchsia {\n    @apply text-slate-100;\n    text-shadow: #cc2b5e 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(204,43,94,1) 0%, rgba(117,58,136,1) 100%);\n}\n.badge-gradient-fuchsia .badge-close{\n    @apply bg-slate-100 hover:text-rose-700 bg-opacity-75 rounded-full;\n    color: #753a88;\n}\n.badge-gradient-fuchsia .badge-increase-button {\n    background-color: rgba(252,156,187,1);\n}\n/*Violet*/\n.badge-gradient-violet {\n    @apply text-slate-100;\n    text-shadow: #42275a 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(66,39,90,1) 0%, rgba(115,75,109,1) 100%);\n}\n.badge-gradient-violet .badge-close{\n    @apply bg-slate-100 hover:text-rose-700 bg-opacity-75 rounded-full;\n    color: #753a88;\n}\n.badge-gradient-violet .badge-increase-button {\n    background-color: rgba(207,171,240,1);\n}\n/*Cloud*/\n.badge-gradient-cloud {\n    @apply text-slate-100;\n    text-shadow: #bdc3c7 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(44,62,80,1) 0%, rgba(189,195,199,1) 100%);\n}\n.badge-gradient-cloud .badge-close{\n    @apply bg-slate-500 hover:bg-slate-200 hover:text-rose-700 rounded-full;\n}\n.badge-gradient-cloud .badge-increase-button {\n    background-color: rgba(179,195,210,1);\n}\n/*Turquoise*/\n.badge-gradient-turquoise {\n    @apply text-slate-100;\n    text-shadow: #06beb6 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(6,190,182,1) 0%, rgba(72,177,191,1) 100%);\n}\n.badge-gradient-turquoise .badge-close{\n    @apply bg-slate-100 hover:text-rose-700 bg-opacity-75 rounded-full;\n    color: #48b1bf;\n}\n.badge-gradient-turquoise .badge-increase-button {\n    background-color: rgba(168,247,244,1);\n}\n/*Catterpillar*/\n.badge-gradient-caterpillar {\n    @apply text-slate-100;\n    text-shadow: #2193b0 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(86,171,47,1) 0%, rgba(168,224,99,1) 100%);\n}\n.badge-gradient-caterpillar .badge-close{\n    @apply bg-slate-500 text-slate-100 hover:bg-white hover:text-rose-700 bg-opacity-75 rounded-full;\n}\n.badge-gradient-caterpillar .badge-increase-button {\n    background-color: rgba(208,245,192,1);\n}\n/*Biscuit*/\n.badge-gradient-biscuit {\n    @apply text-slate-100;\n    text-shadow: #d76d77 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(58,28,113,1) 0%, rgba(215,109,119,1) 50%, rgba(255,175,123,1) 100%);\n}\n.badge-gradient-biscuit .badge-close{\n    @apply bg-slate-500 text-slate-100 hover:bg-white hover:text-rose-700 bg-opacity-75 rounded-full;\n}\n.badge-gradient-biscuit .badge-increase-button {\n    background-color: rgba(219,205,245,1);\n}\n/*Dream*/\n.badge-gradient-dream {\n    @apply text-slate-100;\n    text-shadow: #d76d77 0.2px 0.2px ;\n    background: linear-gradient(90deg, rgba(105,74,101,1) 0%, rgba(183,121,235,1) 40%, rgba(125,173,249,1) 80%, rgba(4,189,200,1) 100%);\n}\n.badge-gradient-dream .badge-close{\n    @apply bg-slate-500 text-slate-100 hover:bg-white hover:text-rose-700 bg-opacity-75 rounded-full;\n}\n.badge-gradient-dream .badge-increase-button {\n    background-color: rgba(219,205,245,1);\n}\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/breadcrumb.css",
    "content": ".breadcrumb {\n    @apply hidden md:flex flex-wrap items-center justify-between w-full h-14\n}\n.breadcrumb-item-active{\n    @apply px-2 py-1 font-bold\n}\n.breadcrumb-sub-content{\n    @apply text-2xl\n}\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.breadcrumb-filled-base {\n    @apply  flex p-2 border rounded-md  text-gray-600 font-semibold\n}\n.breadcrumb-filled-base #breadcrumb-filled-container {\n    @apply  flex flex-wrap\n}\n.breadcrumb-filled-item {\n    @apply flex items-center justify-center space-x-1\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.breadcrumb-filled-black {\n    @apply bg-gray-800 border-black text-gray-100\n}\n.breadcrumb-filled-black .breadcrumb-item-active {\n    @apply text-white underline\n}\n/*Blue*/\n.breadcrumb-filled-blue {\n    @apply bg-blue-50 border-blue-300\n}\n.breadcrumb-filled-blue .breadcrumb-item-active {\n    @apply text-blue-600\n}\n/*Gray*/\n.breadcrumb-filled-gray {\n    @apply bg-gray-200 border-gray-400\n}\n.breadcrumb-filled-gray .breadcrumb-item-active{\n    @apply text-gray-600\n}\n/*Green*/\n.breadcrumb-filled-green {\n    @apply bg-green-50 border-green-300\n}\n.breadcrumb-filled-green .breadcrumb-item-active{\n    @apply text-green-600\n}\n/*Indigo*/\n.breadcrumb-filled-indigo {\n    @apply bg-indigo-50 border-indigo-300\n}\n.breadcrumb-filled-indigo .breadcrumb-item-active{\n    @apply text-indigo-600\n}\n/*Pink*/\n.breadcrumb-filled-pink {\n    @apply bg-pink-50 border-pink-300\n}\n.breadcrumb-filled-pink .breadcrumb-item-active{\n    @apply text-pink-600\n}\n/*Purple*/\n.breadcrumb-filled-purple {\n    @apply bg-purple-50 border-purple-300\n}\n.breadcrumb-filled-purple .breadcrumb-item-active{\n    @apply text-purple-600\n}\n/*Red*/\n.breadcrumb-filled-red {\n    @apply bg-red-50 border-red-300\n}\n.breadcrumb-filled-red .breadcrumb-item-active{\n    @apply text-red-600\n}\n/*White*/\n.breadcrumb-filled-white {\n    @apply bg-gray-50 border-gray-300\n}\n.breadcrumb-filled-white .breadcrumb-item-active{\n    @apply text-gray-800\n}\n/*Yellow*/\n.breadcrumb-filled-yellow {\n    @apply bg-yellow-50 border-yellow-300\n}\n.breadcrumb-filled-yellow .breadcrumb-item-active{\n    @apply text-yellow-600\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Block Style\">*/\n/*General Definitions*/\n.breadcrumb-block-base {\n    @apply hidden md:flex flex-wrap items-center justify-between space-x-1 border-b-4 border-gray-300\n}\n.breadcrumb-block-base #breadcrumb-block-container {\n    @apply  flex flex-wrap space-x-1 -mb-3\n}\n.breadcrumb-block-item {\n    @apply flex items-center justify-center p-2 border-b-4 -mb-1 bg-gray-300 border-gray-500 space-x-1\n}\n.breadcrumb-block-base .breadcrumb-item-active {\n    @apply text-gray-100\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.breadcrumb-block-black .breadcrumb-item-active {\n    @apply bg-gray-800 border-black\n}\n/*Blue*/\n.breadcrumb-block-blue .breadcrumb-item-active {\n    @apply bg-blue-500 border-blue-900\n}\n/*Gray*/\n.breadcrumb-block-gray .breadcrumb-item-active {\n    @apply bg-gray-500 border-gray-900\n}\n/*Green*/\n.breadcrumb-block-green .breadcrumb-item-active {\n    @apply bg-green-500 border-green-900\n}\n/*Indigo*/\n.breadcrumb-block-indigo .breadcrumb-item-active {\n    @apply bg-indigo-500 border-indigo-900\n}\n/*Pink*/\n.breadcrumb-block-pink .breadcrumb-item-active {\n    @apply bg-pink-500 border-pink-900\n}\n/*Purple*/\n.breadcrumb-block-purple .breadcrumb-item-active {\n    @apply bg-purple-500 border-purple-900\n}\n/*Red*/\n.breadcrumb-block-red .breadcrumb-item-active {\n    @apply bg-red-500 border-red-900\n}\n/*White*/\n.breadcrumb-block-white .breadcrumb-item-active {\n    @apply bg-white border-gray-600 text-gray-600\n}\n/*Yellow*/\n.breadcrumb-block-yellow .breadcrumb-item-active {\n    @apply bg-yellow-500 border-yellow-900\n}\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/button.css",
    "content": ".button {\n    @apply flex justify-center items-center whitespace-nowrap font-semibold flex-shrink-0 p-2 gap-1 focus:ring-2 focus:outline-none select-none transition duration-300 ease-in-out\n}\n\n.button-content {\n    @apply flex justify-center items-center whitespace-nowrap flex-shrink-0 gap-1 space-x-1\n}\n\n.button-disabled {\n    @apply filter grayscale opacity-50 cursor-not-allowed pointer-events-none\n}\n\n.button-group {\n    @apply flex justify-between items-start\n}\n\n/*<editor-fold desc=\"Size Styles\">*/\n.button-small {\n    @apply h-8 text-sm text-sm min-w-min min-h-min\n}\n\n.button-normal {\n    @apply h-10\n}\n\n.button-large {\n    @apply h-14 text-lg text-xl\n}\n\n.button-full {\n    @apply h-12 w-full\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.button-filled-base {\n    @apply text-white py-1 px-2 font-semibold\n}\n\n.button-filled-base .button-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.button-filled-black {\n    @apply bg-gray-700 hover:bg-gray-300 hover:text-gray-700 border-black\n}\n\n.button-filled-black .loading-black {\n    @apply bg-gray-100\n}\n\n/*Blue*/\n.button-filled-blue {\n    @apply bg-blue-500 hover:bg-blue-200 hover:text-blue-700 border-blue-500\n}\n\n.button-filled-blue .loading-blue {\n    @apply bg-blue-100\n}\n\n/*Gray*/\n.button-filled-gray {\n    @apply bg-gray-500 hover:bg-gray-200 hover:text-gray-700 border-gray-500\n}\n\n.button-filled-gray .loading-gray {\n    @apply bg-gray-50\n}\n\n/*Green*/\n.button-filled-green {\n    @apply bg-green-500 hover:bg-green-200 hover:text-green-700 border-green-500\n}\n\n.button-filled-green .loading-green {\n    @apply bg-green-100\n}\n\n/*Indigo*/\n.button-filled-indigo {\n    @apply bg-indigo-500 hover:bg-indigo-200 hover:text-indigo-700 border-indigo-500\n}\n\n.button-filled-indigo .loading-indigo {\n    @apply bg-indigo-100\n}\n\n/*Pink*/\n.button-filled-pink {\n    @apply bg-pink-500 hover:bg-pink-200 hover:text-pink-700 border-pink-500\n}\n\n.button-filled-pink .loading-pink {\n    @apply bg-pink-100\n}\n\n/*Purple*/\n.button-filled-purple {\n    @apply bg-purple-500 hover:bg-purple-200 hover:text-purple-700 border-purple-500\n}\n\n.button-filled-purple .loading-purple {\n    @apply bg-purple-100\n}\n\n/*Red*/\n.button-filled-red {\n    @apply bg-red-500 hover:bg-red-200 hover:text-red-700 border-red-500\n}\n\n.button-filled-red .loading-red {\n    @apply bg-red-100\n}\n\n/*White*/\n.button-filled-white {\n    @apply bg-white hover:bg-gray-200 hover:text-gray-700 border-gray-200 text-gray-700  !important\n}\n\n.button-filled-white .loading-white {\n    @apply bg-gray-500\n}\n\n/*Yellow*/\n.button-filled-yellow {\n    @apply bg-yellow-500 hover:bg-yellow-200 hover:text-yellow-700 border-yellow-500\n}\n\n.button-filled-yellow .loading-yellow {\n    @apply bg-yellow-100\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Light Style\">*/\n/*General Definitions*/\n.button-light-base {\n    @apply hover:text-gray-50 py-1 px-2 font-semibold\n}\n\n.button-light-base .button-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.button-light-black {\n    @apply bg-gray-500 hover:bg-gray-700 text-gray-50 border-gray-700\n}\n\n.button-light-black .loading-black {\n    @apply bg-gray-100\n}\n\n/*Blue*/\n.button-light-blue {\n    @apply bg-blue-200 hover:bg-blue-500 text-blue-700 border-blue-500\n}\n\n.button-light-blue .loading-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.button-light-gray {\n    @apply bg-gray-300 hover:bg-gray-500 text-gray-700 border-gray-500\n}\n\n.button-light-gray .loading-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.button-light-green {\n    @apply bg-green-200 hover:bg-green-500 text-green-700 border-green-500\n}\n\n.button-light-green .loading-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.button-light-indigo {\n    @apply bg-indigo-200 hover:bg-indigo-500 text-indigo-700 border-indigo-500\n}\n\n.button-light-indigo .loading-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.button-light-pink {\n    @apply bg-pink-200 hover:bg-pink-500 text-pink-700 border-pink-500\n}\n\n.button-light-pink .loading-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.button-light-purple {\n    @apply bg-purple-200 hover:bg-purple-500 text-purple-700 border-purple-500\n}\n\n.button-light-purple .loading-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.button-light-red {\n    @apply bg-red-200 hover:bg-red-500 text-red-700 border-red-500\n}\n\n.button-light-red .loading-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.button-light-white {\n    @apply bg-white hover:bg-gray-500 text-gray-700 border-gray-300\n}\n\n.button-light-white .loading-white {\n    @apply bg-gray-500\n}\n\n/*Yellow*/\n.button-light-yellow {\n    @apply bg-yellow-200 hover:bg-yellow-500 text-yellow-700 border-yellow-500\n}\n\n.button-light-yellow .loading-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Outline Style\">*/\n/*General Definitions*/\n.button-outline-base {\n    @apply border hover:text-gray-50 py-1 px-2 font-semibold\n}\n\n.button-outline-base .button-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.button-outline-black {\n    @apply hover:bg-gray-700 text-gray-700 border-gray-700\n}\n\n.button-outline-black .loading-black {\n    @apply bg-gray-700\n}\n\n/*Blue*/\n.button-outline-blue {\n    @apply hover:bg-blue-500 text-blue-700 border-blue-500\n}\n\n.button-outline-blue .loading-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.button-outline-gray {\n    @apply hover:bg-gray-500 text-gray-700 border-gray-500\n}\n\n.button-outline-gray .loading-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.button-outline-green {\n    @apply hover:bg-green-500 text-green-700 border-green-500\n}\n\n.button-outline-green .loading-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.button-outline-indigo {\n    @apply hover:bg-indigo-500 text-indigo-700 border-indigo-500\n}\n\n.button-outline-indigo .loading-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.button-outline-pink {\n    @apply hover:bg-pink-500 text-pink-700 border-pink-500\n}\n\n.button-outline-pink .loading-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.button-outline-purple {\n    @apply hover:bg-purple-500 text-purple-700 border-purple-500\n}\n\n.button-outline-purple .loading-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.button-outline-red {\n    @apply hover:bg-red-500 text-red-700 border-red-500\n}\n\n.button-outline-red .loading-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.button-outline-white {\n    @apply hover:bg-gray-200 text-gray-700 border-gray-300 hover:text-gray-700\n}\n\n.button-outline-white .loading-white {\n    @apply bg-gray-300\n}\n\n/*Yellow*/\n.button-outline-yellow {\n    @apply hover:bg-yellow-500 text-yellow-700 border-yellow-500\n}\n\n.button-outline-yellow .loading-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Link Style\">*/\n/*General Definitions*/\n.button-link-base {\n    @apply font-semibold hover:font-bold hover:underline py-1 px-2\n}\n\n.button-link-base .button-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.button-link-black {\n    @apply text-gray-700\n}\n\n.button-link-black .loading-black {\n    @apply bg-gray-700\n}\n\n/*Blue*/\n.button-link-blue {\n    @apply text-blue-700\n}\n\n.button-link-blue .loading-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.button-link-gray {\n    @apply text-gray-700\n}\n\n.button-link-gray .loading-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.button-link-green {\n    @apply text-green-700\n}\n\n.button-link-green .loading-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.button-link-indigo {\n    @apply text-indigo-700\n}\n\n.button-link-indigo .loading-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.button-link-pink {\n    @apply text-pink-700\n}\n\n.button-link-pink .loading-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.button-link-purple {\n    @apply text-purple-700\n}\n\n.button-link-purple .loading-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.button-link-red {\n    @apply text-red-700\n}\n\n.button-link-red .loading-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.button-link-white {\n    @apply text-gray-700\n}\n\n.button-link-white .loading-white {\n    @apply bg-gray-300\n}\n\n/*Yellow*/\n.button-link-yellow {\n    @apply text-yellow-700\n}\n\n.button-link-yellow .loading-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Link Plus Style\">*/\n/*General Definitions*/\n.button-link-plus-base {\n    @apply font-semibold hover:text-gray-50 hover:underline py-1 px-2\n}\n\n.button-link-plus-base .button-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.button-link-plus-black {\n    @apply text-gray-700 hover:bg-gray-700\n}\n\n.button-link-plus-black .loading-black {\n    @apply bg-gray-700\n}\n\n/*Blue*/\n.button-link-plus-blue {\n    @apply text-blue-700 hover:bg-blue-500\n}\n\n.button-link-plus-blue .loading-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.button-link-plus-gray {\n    @apply text-gray-700 hover:bg-gray-500\n}\n\n.button-link-plus-gray .loading-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.button-link-plus-green {\n    @apply text-green-700 hover:bg-green-500\n}\n\n.button-link-plus-green .loading-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.button-link-plus-indigo {\n    @apply text-indigo-700 hover:bg-indigo-500\n}\n\n.button-link-plus-indigo .loading-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.button-link-plus-pink {\n    @apply text-pink-700 hover:bg-pink-500\n}\n\n.button-link-plus-pink .loading-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.button-link-plus-purple {\n    @apply text-purple-700 hover:bg-purple-500\n}\n\n.button-link-plus-purple .loading-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.button-link-plus-red {\n    @apply text-red-700 hover:bg-red-500\n}\n\n.button-link-plus-red .loading-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.button-link-plus-white {\n    @apply text-gray-700 hover:bg-white hover:text-gray-700\n}\n\n.button-link-plus-white .loading-white {\n    @apply bg-gray-300\n}\n\n/*Yellow*/\n.button-link-plus-yellow {\n    @apply text-yellow-700 hover:bg-yellow-500\n}\n\n.button-link-plus-yellow .loading-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/collapsible.css",
    "content": ".collapsible {\n    @apply flex flex-col flex-grow-0 flex-shrink-0 self-start w-full overflow-hidden\n}\n\n.collapsible-container {\n    @apply flex flex-grow-0 flex-shrink-0 overflow-hidden\n}\n\n.collapsible-header {\n    @apply flex w-full justify-between items-center px-4 py-3 font-bold cursor-pointer transition-colors duration-100 ease-in-out\n}\n\n.collapsible-trigger-icon {\n    @apply w-6 h-6 transform duration-300\n}\n\n.collapsible-title {\n    @apply flex items-center w-full select-none\n}\n\n.collapsible-content {\n    @apply px-4 py-3 w-full ;\n}\n\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.collapsible-filled-base{\n    @apply border-b last:border-b-0\n}\n.collapsible-filled-base .collapsible-header {\n    @apply text-white\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.collapsible-filled-black {\n    @apply border-black border-opacity-50\n}\n.collapsible-filled-black .collapsible-header {\n    @apply bg-gray-800 hover:bg-gray-300 hover:text-gray-700 border-black border-opacity-50\n}\n\n.collapsible-filled-black .collapsible-content {\n    @apply bg-gray-300 bg-opacity-30 shadow-sm\n}\n\n/*Blue*/\n.collapsible-filled-blue{\n    @apply border-blue-700 border-opacity-50\n}\n.collapsible-filled-blue .collapsible-header {\n    @apply bg-blue-500 hover:bg-blue-200 hover:text-blue-700\n}\n\n.collapsible-filled-blue .collapsible-content {\n    @apply bg-blue-200 bg-opacity-50\n}\n\n/*Gray*/\n.collapsible-filled-gray {\n    @apply border-gray-700 border-opacity-50\n}\n.collapsible-filled-gray .collapsible-header {\n    @apply bg-gray-500 hover:bg-gray-200 hover:text-gray-700\n}\n\n.collapsible-filled-gray .collapsible-content {\n    @apply bg-gray-200 bg-opacity-50\n}\n\n/*Green*/\n.collapsible-filled-green {\n    @apply border-green-700 border-opacity-50\n}\n.collapsible-filled-green .collapsible-header {\n    @apply bg-green-500 hover:bg-green-200 hover:text-green-700\n}\n\n.collapsible-filled-green .collapsible-content {\n    @apply bg-green-200 bg-opacity-50\n}\n\n/*Indigo*/\n.collapsible-filled-indigo {\n    @apply border-indigo-700 border-opacity-50\n}\n.collapsible-filled-indigo .collapsible-header {\n    @apply bg-indigo-500 hover:bg-indigo-200 hover:text-indigo-700\n}\n\n.collapsible-filled-indigo .collapsible-content {\n    @apply bg-indigo-200 bg-opacity-50\n}\n\n/*Pink*/\n.collapsible-filled-pink {\n    @apply border-pink-700 border-opacity-50\n}\n.collapsible-filled-pink .collapsible-header {\n    @apply bg-pink-500 hover:bg-pink-200 hover:text-pink-700\n}\n\n.collapsible-filled-pink .collapsible-content {\n    @apply bg-pink-200 bg-opacity-50\n}\n\n/*Purple*/\n.collapsible-filled-purple {\n    @apply border-purple-700 border-opacity-50\n}\n.collapsible-filled-purple .collapsible-header {\n    @apply bg-purple-500 hover:bg-purple-200 hover:text-purple-700\n}\n\n.collapsible-filled-purple .collapsible-content {\n    @apply bg-purple-200 bg-opacity-50\n}\n\n/*Red*/\n.collapsible-filled-red {\n    @apply border-red-700 border-opacity-50\n}\n.collapsible-filled-red .collapsible-header {\n    @apply bg-red-500 hover:bg-red-200 hover:text-red-700\n}\n\n.collapsible-filled-red .collapsible-content {\n    @apply bg-red-200 bg-opacity-50\n}\n/*White*/\n.collapsible-filled-white {\n    @apply border-gray-500 border-opacity-50\n}\n.collapsible-filled-white .collapsible-header {\n    @apply bg-white hover:bg-gray-200 text-gray-700\n}\n\n.collapsible-filled-white .collapsible-content {\n    @apply bg-gray-50 bg-opacity-50\n}\n\n/*Yellow*/\n.collapsible-filled-yellow {\n    @apply border-yellow-700\n}\n\n.collapsible-filled-yellow .collapsible-header {\n    @apply bg-yellow-500 hover:bg-yellow-200 hover:text-yellow-700\n}\n\n.collapsible-filled-yellow .collapsible-content {\n    @apply bg-yellow-200 bg-opacity-50\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Light Style\">*/\n/*General Definitions*/\n\n.collapsible-light-base {\n    @apply h-full text-gray-600 border-b last:border-b-0\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.collapsible-light-black {\n    @apply bg-gray-500  hover:bg-gray-200 border-gray-600 text-gray-50 hover:text-gray-600\n}\n\n/*Blue*/\n.collapsible-light-blue {\n    @apply bg-blue-200 hover:bg-blue-100 border-blue-400\n}\n\n/*Gray*/\n.collapsible-light-gray {\n    @apply bg-gray-200 hover:bg-gray-100 border-gray-400\n}\n\n/*Green*/\n.collapsible-light-green {\n    @apply bg-green-200 hover:bg-green-100 border-green-400\n}\n\n/*Indigo*/\n.collapsible-light-indigo {\n    @apply bg-indigo-200 hover:bg-indigo-100 border-indigo-400\n}\n\n/*Pink*/\n.collapsible-light-pink {\n    @apply bg-pink-200 hover:bg-pink-100 border-pink-300\n}\n\n/*Purple*/\n.collapsible-light-purple {\n    @apply bg-purple-200 hover:bg-purple-100 border-purple-400\n}\n\n/*Red*/\n.collapsible-light-red {\n    @apply bg-red-200 hover:bg-red-100 border-red-400\n}\n\n/*White*/\n.collapsible-light-white {\n    @apply bg-white hover:bg-gray-100 border-gray-300\n}\n\n/*Yellow*/\n.collapsible-light-yellow {\n    @apply bg-yellow-200 hover:bg-yellow-100 border-yellow-400\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Inline Style\">*/\n/*General Definitions*/\n.collapsible-inline-base {\n    @apply h-full text-gray-500 border-b last:border-b-0\n}\n.collapsible-inline-base .collapsible-header {\n    @apply text-gray-600\n}\n\n.collapsible-inline-line {\n    @apply flex w-2 -mr-1 h-auto;\n}\n\n.collapsible-inline-line:after {\n    content: '&nbsp';\n    visibility: hidden;\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.collapsible-inline-black {\n    @apply bg-gray-200 hover:bg-gray-100 border-gray-200\n}\n\n.collapsible-inline-black #line {\n    @apply bg-gray-800\n}\n\n/*Blue*/\n.collapsible-inline-blue {\n    @apply bg-blue-50 hover:bg-white border-blue-200\n}\n\n.collapsible-inline-blue #line {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.collapsible-inline-gray {\n    @apply bg-gray-50 hover:bg-white border-gray-200\n}\n\n.collapsible-inline-gray #line {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.collapsible-inline-green {\n    @apply bg-green-50 hover:bg-white border-green-200\n}\n\n.collapsible-inline-green #line {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.collapsible-inline-indigo {\n    @apply bg-indigo-50 hover:bg-white border-indigo-200\n}\n\n.collapsible-inline-indigo #line {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.collapsible-inline-pink {\n    @apply bg-pink-50 hover:bg-white border-pink-200\n}\n\n.collapsible-inline-pink #line {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.collapsible-inline-purple {\n    @apply bg-purple-50 hover:bg-white border-purple-200\n}\n\n.collapsible-inline-purple #line {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.collapsible-inline-red {\n    @apply bg-red-50 hover:bg-white border-red-200\n}\n\n.collapsible-inline-red #line {\n    @apply bg-red-500\n}\n\n/*White*/\n.collapsible-inline-white {\n    @apply bg-gray-50 hover:bg-white border-gray-50\n}\n\n.collapsible-inline-white #line {\n    @apply bg-gray-300\n}\n\n/*Yellow*/\n.collapsible-inline-yellow {\n    @apply bg-yellow-50 hover:bg-white border-yellow-200\n}\n\n.collapsible-inline-yellow #line {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/content-box.css",
    "content": "/*Content Card*/\n.content-card-show-button {\n    @apply absolute top-4 right-4 text-gray-600 hover:bg-gray-500 hover:text-white w-7 h-7 flex items-center justify-center rounded-full cursor-pointer\n}\n"
  },
  {
    "path": "resources/css/components/dropdown.css",
    "content": ".dropdown {\n    @apply relative max-w-min select-none\n}\n\n.dropdown-button-trigger {\n    @apply relative whitespace-nowrap space-x-2\n}\n\n.dropdown-button-trigger-content {\n    @apply flex flex-col whitespace-nowrap z-10 absolute border rounded-md mt-1 overflow-hidden bg-white\n}\n\n.dropdown-rich-trigger {\n    @apply cursor-pointer\n}\n\n.dropdown-rich-trigger-content {\n    @apply absolute flex flex-col whitespace-normal z-10\n}\n\n.dropdown-content-container {\n    @apply relative z-40\n}\n\n\n.dropdown-content-left {\n    @apply origin-top-left left-0\n}\n\n.dropdown-content-center {\n    @apply origin-top\n}\n\n.dropdown-content-right {\n    @apply origin-top-right right-0\n}\n\n.dropdown-content-wide {\n    @apply min-w-[2rem]\n}\n\n.dropdown-content-fit {\n    @apply min-w-min\n}\n\n.dropdown-trigger-icon {\n    @apply w-5 h-5 transform duration-300\n}\n\n.dropdown-item-container{\n    @apply justify-start p-2 hover:bg-gray-600 hover:text-white cursor-pointer\n}\n.dropdown-item{\n    @apply flex flex-row items-center justify-start\n}\n.dropdown-icon{\n    @apply flex justify-center items-center w-5 h-5 mr-1\n}\n"
  },
  {
    "path": "resources/css/components/grid.css",
    "content": ".grid-1 {\n @apply col-span-1\n}\n.grid-2 {\n    @apply col-span-2\n}\n.grid-3 {\n    @apply col-span-3\n}\n.grid-4 {\n    @apply col-span-4\n}\n.grid-5 {\n    @apply col-span-5\n}\n.grid-6 {\n    @apply col-span-6\n}\n.grid-7 {\n    @apply col-span-7\n}\n.grid-8 {\n    @apply col-span-8\n}\n.grid-9 {\n    @apply col-span-9\n}\n.grid-10 {\n    @apply col-span-10\n}\n.grid-11 {\n    @apply col-span-11\n}\n.grid-12,.grid-full {\n    @apply col-span-12\n}\n\n/*Medium : Tablets*/\n.grid-md-1 {\n    @apply md:col-span-1\n}\n.grid-md-2 {\n    @apply md:col-span-2\n}\n.grid-md-3 {\n    @apply md:col-span-3\n}\n.grid-md-4 {\n    @apply md:col-span-4\n}\n.grid-md-5 {\n    @apply md:col-span-5\n}\n.grid-md-6 {\n    @apply md:col-span-6\n}\n.grid-md-7 {\n    @apply md:col-span-7\n}\n.grid-md-8 {\n    @apply md:col-span-8\n}\n.grid-md-9 {\n    @apply md:col-span-9\n}\n.grid-md-10 {\n    @apply md:col-span-10\n}\n.grid-md-11 {\n    @apply md:col-span-11\n}\n.grid-md-12,.grid-full {\n    @apply md:col-span-12\n}\n\n/*Large : Laptop*/\n.grid-lg-1 {\n    @apply lg:col-span-1\n}\n.grid-lg-2 {\n    @apply lg:col-span-2\n}\n.grid-lg-3 {\n    @apply lg:col-span-3\n}\n.grid-lg-4 {\n    @apply lg:col-span-4\n}\n.grid-lg-5 {\n    @apply lg:col-span-5\n}\n.grid-lg-6 {\n    @apply lg:col-span-6\n}\n.grid-lg-7 {\n    @apply lg:col-span-7\n}\n.grid-lg-8 {\n    @apply lg:col-span-8\n}\n.grid-lg-9 {\n    @apply lg:col-span-9\n}\n.grid-lg-10 {\n    @apply lg:col-span-10\n}\n.grid-lg-11 {\n    @apply lg:col-span-11\n}\n.grid-lg-12,.grid-full {\n    @apply lg:col-span-12\n}\n\n\n/*XL : Desktop*/\n.grid-xl-1 {\n    @apply xl:col-span-1\n}\n.grid-xl-2 {\n    @apply xl:col-span-2\n}\n.grid-xl-3 {\n    @apply xl:col-span-3\n}\n.grid-xl-4 {\n    @apply xl:col-span-4\n}\n.grid-xl-5 {\n    @apply xl:col-span-5\n}\n.grid-xl-6 {\n    @apply xl:col-span-6\n}\n.grid-xl-7 {\n    @apply xl:col-span-7\n}\n.grid-xl-8 {\n    @apply xl:col-span-8\n}\n.grid-xl-9 {\n    @apply xl:col-span-9\n}\n.grid-xl-10 {\n    @apply xl:col-span-10\n}\n.grid-xl-11 {\n    @apply xl:col-span-11\n}\n.grid-xl-12,.grid-full {\n    @apply xl:col-span-12\n}\n"
  },
  {
    "path": "resources/css/components/input.css",
    "content": ".input {\n    @apply flex w-full min-h-[2.5rem] border-gray-300 focus:border-blue-300 focus:outline-none focus:ring focus:ring-blue-200 focus:ring-opacity-50 placeholder-gray-300 dark:placeholder-gray-400 bg-white dark:border-transparent dark:bg-gray-600 dark:text-white text-gray-500 leading-none\n}\n\n.input-clear-icon {\n    @apply h-5 w-5 hover:text-red-500 dark:hover:bg-gray-600 dark:hover:text-red-400 active:bg-gray-200 dark:active:bg-gray-700 active:scale-90 rounded-full transform hover:scale-110 transition-size-short transition-color-short\n}\n\n.input-disabled {\n    @apply bg-gray-200 dark:border-transparent dark:text-gray-500 cursor-not-allowed !important\n}\n\n\n/*<editor-fold desc=\"Select\">*/\n.input-select {\n    @apply relative flex w-full select-none min-w-[1rem]\n}\n\n.select-container {\n    @apply relative flex flex-shrink-0 w-full justify-between items-center\n}\n\n.select-input-icon {\n    @apply flex min-h-[2.5rem] px-2 bg-gray-200 dark:bg-gray-500 dark:border-gray-500 dark:text-white items-center justify-center text-gray-500 border-gray-300 border-t border-b border-l\n}\n\n.select-trigger {\n    @apply flex min-h-[2.5rem] w-full justify-between items-center px-2 border border-gray-300 focus:border-blue-300 focus:outline-none focus:ring focus:ring-blue-200 focus:ring-opacity-50 placeholder-gray-300 dark:placeholder-gray-400 bg-white dark:border-transparent dark:bg-gray-600 dark:text-white text-gray-500 select-none\n}\n\n.select-trigger-text {\n    @apply inline-flex w-full\n}\n\n.select-trigger-placeholder {\n    @apply text-gray-300 dark:text-gray-400\n}\n\n.select-search-container{\n    @apply w-full px-2 pt-1 pb-2\n}\n\n.select-options-container {\n    @apply absolute flex flex-col z-50 top-10 mt-1 flex w-full top-11 py-2 pl-2 bg-white dark:bg-gray-500 min-w-max dark:text-gray-200 shadow overflow-hidden\n}\n\n.select-options-content {\n    @apply flex flex-col flex-shrink-0 w-full pr-2 my-2 overscroll-y-auto overflow-y-scroll scrollbar scrollbar-thin scrollbar-thumb-gray-500 scrollbar-track-white dark:scrollbar-thumb-gray-200 dark:scrollbar-track-gray-500\n}\n\n\n.select-option-item {\n    @apply flex flex-shrink-0 justify-between items-center  p-2 mx-2 text-gray-500 dark:text-white font-semibold text-left hover:bg-gray-200 active:bg-gray-300 dark:hover:bg-opacity-10 gap-2 cursor-pointer whitespace-nowrap transform active:scale-95 transition-size-short\n}\n.select-option-active-item{\n    @apply bg-gray-200 dark:bg-opacity-10 my-1 !important\n}\n\n.select-option-active-item-icon{\n    @apply w-5 h-5 text-green-500 dark:text-gray-200\n}\n\n.select-many-result{\n    @apply hidden md:block text-xs text-center text-blue-500 dark:text-gray-200\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Multi Select\">*/\n.multi-select-option-clear-icon{\n    @apply h-4 w-4 hover:text-red-500 dark:hover:bg-gray-600 dark:hover:text-red-400 active:bg-gray-200 dark:active:bg-gray-700 active:scale-90 rounded-full transform hover:scale-110 transition-size-short transition-color-short\n}\n.multi-select-selected-options-container{\n    @apply flex flex-wrap justify-start mt-2\n}\n.multi-select-selected-badge{\n    @apply mr-2 mb-2\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Text\">*/\n.text-input {\n    @apply flex flex-grow justify-start items-center\n}\n\n.text-input-outside-icon {\n    @apply flex min-h-[2.5rem] px-2 bg-gray-200 dark:bg-gray-500 dark:border-gray-500 dark:text-white items-center justify-center text-gray-500 border-gray-300 border-t border-b border-l\n}\n\n.text-input-inside-icon {\n    @apply absolute flex min-h-[2.5rem] px-2 items-center justify-center text-gray-300 dark:text-gray-400\n}\n\n.text-input-prepend {\n    @apply flex min-h-[2.5rem] items-center border-gray-300 bg-gray-200 text-gray-500 dark:bg-gray-500 dark:border-gray-500 dark:text-white font-semibold px-2 border-t border-b border-l h-full\n}\n\n.text-input-prepend-inline {\n    @apply flex items-center border-gray-300 px-2 border h-full\n}\n\n.text-input-append {\n    @apply flex min-h-[2.5rem] items-center border-gray-300 bg-gray-200 text-gray-500 dark:bg-gray-500 dark:border-gray-500 dark:text-white font-semibold px-2 border-t border-b border-r h-full\n}\n\n.text-input-append-inline {\n    @apply flex items-center border-gray-300 px-2 border h-full\n}\n\n.text-input-select-container {\n    @apply relative flex justify-center items-center h-full\n}\n\n.text-input-select-trigger {\n    @apply relative flex flex-shrink-0 min-h-[2.5rem] items-center space-x-1 text-gray-500 border-gray-300 bg-gray-200 dark:bg-gray-500 dark:border-gray-500 dark:text-white active:bg-gray-300 font-semibold px-2 border-t border-b select-none transition-size-short\n}\n\n.text-input-selected-indicator {\n    @apply absolute top-1 right-1 w-2 h-2 rounded-full transition-color-medium\n}\n\n.text-input-select-list-container {\n    @apply absolute z-50 top-10 mt-1 bg-white dark:bg-gray-500 dark:text-gray-200 shadow overflow-hidden\n}\n\n.text-input-select-list-item {\n    @apply flex justify-between items-center px-4 py-2 space-x-4 text-sm text-gray-500 dark:text-white font-semibold text-left hover:bg-gray-200 active:bg-gray-300 dark:hover:bg-opacity-10 w-full whitespace-nowrap cursor-pointer\n}\n\n.text-input-select-list-selected-icon {\n    @apply h-5 w-5 text-green-500\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/list.css",
    "content": ".list {\n    @apply flex flex-col flex-grow-0 flex-shrink-0 self-start w-full\n}\n\n.list-container {\n    @apply flex flex-grow-0 flex-shrink-0 space-x-2 items-center w-full whitespace-normal transition duration-100 ease-in-out\n}\n\n.list-content {\n    @apply flex flex-grow min-w-min\n}\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.list-filled-base {\n    @apply text-white p-2 font-semibold border-b last:border-b-0\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.list-filled-black {\n    @apply bg-gray-800 border-black border-opacity-50 hover:bg-gray-300 hover:text-gray-700 focus:bg-gray-300 focus:text-gray-700\n}\n\n.list-filled-black-active {\n    @apply bg-gray-600 border-black border-gray-700 hover:bg-gray-300 hover:text-gray-700 !important\n}\n\n/*Blue*/\n.list-filled-blue {\n    @apply bg-blue-500 border-blue-300 border-opacity-50 hover:bg-blue-200 hover:text-blue-700 focus:bg-blue-200 focus:text-blue-700\n}\n\n.list-filled-blue-active {\n    @apply bg-blue-100 border-blue-300 text-blue-700 hover:bg-blue-200 hover:text-blue-700\n}\n\n/*Gray*/\n.list-filled-gray {\n    @apply bg-gray-500 border-gray-300 border-opacity-50 hover:bg-gray-200 hover:text-gray-700 focus:bg-gray-200 focus:text-gray-700\n}\n\n.list-filled-gray-active {\n    @apply bg-white border-gray-300 text-gray-700 hover:bg-gray-200 hover:text-gray-700\n}\n\n/*Green*/\n.list-filled-green {\n    @apply bg-green-500 border-green-300 border-opacity-50 hover:bg-green-200 hover:text-green-700 focus:bg-green-200 focus:text-green-700\n}\n\n.list-filled-green-active {\n    @apply bg-green-100 border-green-300 text-green-700 hover:bg-green-200 hover:text-green-700\n}\n\n/*Indigo*/\n.list-filled-indigo {\n    @apply bg-indigo-500 border-indigo-300 border-opacity-50 hover:bg-indigo-200 hover:text-indigo-700 focus:bg-indigo-200 focus:text-indigo-700\n}\n\n.list-filled-indigo-active {\n    @apply bg-indigo-100 border-indigo-300 text-indigo-700 hover:bg-indigo-200 hover:text-indigo-700\n}\n\n/*Pink*/\n.list-filled-pink {\n    @apply bg-pink-500 border-pink-300 border-opacity-50 hover:bg-pink-200 hover:text-pink-700 focus:bg-pink-200 focus:text-pink-700\n}\n\n.list-filled-pink-active {\n    @apply bg-pink-100 border-pink-300 text-pink-700 hover:bg-pink-200 hover:text-pink-700\n}\n\n/*Purple*/\n.list-filled-purple {\n    @apply bg-purple-500 border-purple-300 border-opacity-50 hover:bg-purple-200 hover:text-purple-700 focus:bg-purple-200 focus:text-purple-700\n}\n\n.list-filled-purple-active {\n    @apply bg-purple-100 border-purple-300 text-purple-700 hover:bg-purple-200 hover:text-purple-700\n}\n\n/*Red*/\n.list-filled-red {\n    @apply bg-red-500 border-red-100 border-opacity-50 hover:bg-red-200 hover:text-red-700 focus:bg-red-200 focus:text-red-700\n}\n\n.list-filled-red-active {\n    @apply bg-red-100 border-red-100 border-red-300 text-red-700 hover:bg-red-200 hover:text-red-700\n}\n\n/*White*/\n.list-filled-white {\n    @apply bg-white text-gray-700 border-gray-500 border-opacity-50 hover:bg-gray-200 hover:text-gray-700 focus:bg-gray-200 focus:text-gray-700\n}\n\n.list-filled-white-active {\n    @apply bg-gray-300 border-gray-500 text-gray-700 hover:bg-gray-200 hover:text-gray-700\n}\n\n/*Yellow*/\n\n.list-filled-yellow {\n    @apply bg-yellow-500 border-yellow-300 border-opacity-50 hover:bg-yellow-200 hover:text-yellow-700 focus:bg-yellow-200 focus:text-yellow-700\n}\n\n.list-filled-yellow-active {\n    @apply bg-yellow-100 border-yellow-300 text-yellow-700 hover:bg-yellow-200 hover:text-yellow-700\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Light Style\">*/\n/*General Definitions*/\n.list-light-base {\n    @apply first:border-t border-b border-l border-r p-2 font-semibold\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.list-light-black {\n    @apply bg-gray-500 border-black text-gray-50 hover:bg-gray-500 hover:text-white\n}\n\n.list-light-black-active {\n    @apply bg-gray-300 border-black text-gray-700 hover:bg-gray-500 hover:text-white\n}\n\n/*Blue*/\n.list-light-blue {\n    @apply bg-blue-200 border-blue-500 text-blue-800 hover:bg-blue-500 hover:text-white\n}\n\n.list-light-blue-active {\n    @apply bg-blue-300 border-blue-500 text-blue-700 hover:bg-blue-500 hover:text-white\n}\n\n/*Gray*/\n.list-light-gray {\n    @apply bg-gray-200 border-gray-500 text-gray-800 hover:bg-gray-500 hover:text-white\n}\n\n.list-light-gray-active {\n    @apply bg-white border-gray-500 text-gray-700 hover:bg-gray-500 hover:text-white\n}\n\n/*Green*/\n.list-light-green {\n    @apply bg-green-200 border-green-500 text-green-800 hover:bg-green-500 hover:text-white\n}\n\n.list-light-green-active {\n    @apply bg-green-300 border-green-500 text-green-700 hover:bg-green-500 hover:text-white\n}\n\n/*Indigo*/\n.list-light-indigo {\n    @apply bg-indigo-200 border-indigo-500 text-indigo-800 hover:bg-indigo-500 hover:text-white\n}\n\n.list-light-indigo-active {\n    @apply bg-indigo-300 border-indigo-500 text-indigo-700 hover:bg-indigo-500 hover:text-white\n}\n\n/*Pink*/\n.list-light-pink {\n    @apply bg-pink-200 border-pink-500 text-pink-800 hover:bg-pink-500 hover:text-white\n}\n\n.list-light-pink-active {\n    @apply bg-pink-300 border-pink-500 text-pink-700 hover:bg-pink-500 hover:text-white\n}\n\n/*Purple*/\n.list-light-purple {\n    @apply bg-purple-200 border-purple-500 text-purple-800\n}\n\n.list-light-purple-active {\n    @apply bg-purple-300 border-purple-500 text-purple-700 hover:bg-purple-500 hover:text-white\n}\n\n/*Red*/\n.list-light-red {\n    @apply bg-red-200 border-red-500 text-red-800 hover:bg-red-500 hover:text-white\n}\n\n.list-light-red-active {\n    @apply bg-red-300 border-red-500 text-red-700 hover:bg-red-500 hover:text-white\n}\n\n/*White*/\n.list-light-white {\n    @apply bg-white border-gray-300 text-gray-700\n}\n\n.list-light-white-active {\n    @apply bg-gray-300 border-gray-400 border-opacity-75 text-gray-700 hover:bg-gray-500 hover:text-white\n}\n/*Yellow*/\n.list-light-yellow {\n    @apply bg-yellow-200 border-yellow-500 text-yellow-800 hover:bg-yellow-500 hover:text-white\n}\n\n.list-light-yellow-active {\n    @apply bg-yellow-300 border-yellow-500 text-yellow-700 hover:bg-yellow-500 hover:text-white\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Outline Style\">*/\n.list-outline-base {\n    @apply first:border-t border-b border-l border-r p-2 font-semibold\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.list-outline-black {\n    @apply border-black text-gray-700 hover:bg-gray-500 hover:text-white\n}\n\n.list-outline-black-active {\n    @apply bg-gray-300 border-black text-gray-700 hover:bg-gray-500 hover:text-white\n}\n\n/*Blue*/\n.list-outline-blue {\n    @apply border-blue-500 text-blue-700 hover:bg-blue-100\n}\n\n.list-outline-blue-active {\n    @apply bg-blue-100 border-blue-500 text-blue-700 hover:bg-blue-500 hover:text-white\n}\n\n/*Gray*/\n.list-outline-gray {\n    @apply border-gray-500 text-gray-700 hover:bg-gray-200\n}\n\n.list-outline-gray-active {\n    @apply bg-gray-200 border-gray-500  text-gray-700 hover:bg-gray-500 hover:text-white\n}\n\n/*Green*/\n.list-outline-green {\n    @apply border-green-500 text-green-700 hover:bg-green-100\n}\n\n.list-outline-green-active {\n    @apply bg-green-100 border-green-500 text-green-700 hover:bg-green-500 hover:text-white\n}\n\n/*Indigo*/\n.list-outline-indigo {\n    @apply border-indigo-500 text-indigo-700 hover:bg-indigo-100\n}\n\n.list-outline-indigo-active {\n    @apply bg-indigo-100 border-indigo-500 text-indigo-700 hover:bg-indigo-500 hover:text-white\n}\n\n/*Pink*/\n.list-outline-pink {\n    @apply border-pink-500 text-pink-700 hover:bg-pink-100\n}\n\n.list-outline-pink-active {\n    @apply bg-pink-100 border-pink-500 text-pink-700 hover:bg-pink-500 hover:text-white\n}\n\n/*Purple*/\n.list-outline-purple {\n    @apply border-purple-500 text-purple-700 hover:bg-purple-100\n}\n\n.list-outline-purple-active {\n    @apply bg-purple-100 border-purple-500 text-purple-700 hover:bg-purple-500 hover:text-white\n}\n\n/*Red*/\n.list-outline-red {\n    @apply border-red-500 text-red-700 hover:bg-red-100\n}\n\n.list-outline-red-active {\n    @apply bg-red-100 border-red-500 text-red-700 hover:bg-red-500 hover:text-white\n}\n\n/*White*/\n.list-outline-white {\n    @apply border-gray-300 text-gray-700 hover:bg-white\n}\n\n.list-outline-white-active {\n    @apply bg-gray-200 border-gray-300 border-opacity-100 text-gray-700 hover:bg-gray-500 hover:text-white\n}\n\n/*Yellow*/\n.list-outline-yellow {\n    @apply border-yellow-500 text-yellow-700 hover:bg-yellow-100\n}\n\n.list-outline-yellow-active {\n    @apply bg-yellow-100 border-yellow-500 text-yellow-700 hover:bg-yellow-500 hover:text-white\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Elegant Style\">*/\n/*General Definitions*/\n.list-elegant-base {\n    @apply first:border-t border-b border-l border-r border-dashed p-4 font-semibold bg-red-200\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.list-elegant-black {\n    @apply bg-gray-500 text-white text-opacity-80 border-gray-800 hover:bg-gray-300 hover:text-gray-700 hover:text-opacity-80\n}\n\n.list-elegant-black-active {\n    @apply bg-gray-200 border-opacity-100 border-opacity-100 text-gray-700 text-opacity-80 hover:bg-gray-300 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*Blue*/\n.list-elegant-blue {\n    @apply bg-blue-50 text-gray-700 text-opacity-80 border-blue-300 hover:bg-blue-200\n}\n\n.list-elegant-blue-active {\n    @apply bg-blue-100 border-opacity-100 text-blue-700 text-opacity-80 hover:bg-blue-200 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*Gray*/\n.list-elegant-gray {\n    @apply bg-gray-50 text-gray-700 text-opacity-80 border-gray-300 hover:bg-gray-200\n}\n\n.list-elegant-gray-active {\n    @apply bg-white border-opacity-100 text-gray-700 text-opacity-80 hover:bg-gray-300 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*Green*/\n.list-elegant-green {\n    @apply bg-green-50 text-gray-700 text-opacity-80 border-green-300 hover:bg-green-200\n}\n\n.list-elegant-green-active {\n    @apply bg-green-100 border-opacity-100 text-green-700 text-opacity-80 hover:bg-green-200 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*Indigo*/\n.list-elegant-indigo {\n    @apply bg-indigo-50 text-gray-700 text-opacity-80 border-indigo-300 hover:bg-indigo-200\n}\n\n.list-elegant-indigo-active {\n    @apply bg-indigo-100 border-opacity-100 text-indigo-700 text-opacity-80 hover:bg-indigo-200 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*Pink*/\n.list-elegant-pink {\n    @apply bg-pink-50 text-gray-700 text-opacity-80 border-pink-300 hover:bg-pink-200\n}\n\n.list-elegant-pink-active {\n    @apply bg-pink-100 border-opacity-100 text-pink-700 text-opacity-80 hover:bg-pink-200 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*Purple*/\n.list-elegant-purple {\n    @apply bg-purple-50 text-gray-700 text-opacity-80 border-purple-300 hover:bg-purple-200\n}\n\n.list-elegant-purple-active {\n    @apply bg-purple-100 border-opacity-100 text-purple-700 text-opacity-80 hover:bg-purple-200 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*Red*/\n.list-elegant-red {\n    @apply bg-red-50 text-gray-700 text-opacity-80 border-red-300 hover:bg-red-200\n}\n\n.list-elegant-red-active {\n    @apply bg-red-100 border-opacity-100 text-red-700 text-opacity-80 hover:bg-red-200 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*White*/\n.list-elegant-white {\n    @apply bg-white text-gray-700 text-opacity-80 border-gray-300 hover:bg-gray-200\n}\n\n.list-elegant-white-active {\n    @apply bg-gray-100 border-opacity-100 text-gray-700 text-opacity-80 hover:bg-gray-200 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*Yellow*/\n.list-elegant-yellow {\n    @apply bg-yellow-50 text-gray-700 text-opacity-80 border-yellow-300 hover:bg-yellow-200\n}\n\n.list-elegant-yellow-active {\n    @apply bg-yellow-100 border-opacity-100 text-yellow-700 text-opacity-80 hover:bg-yellow-200 hover:text-gray-700 hover:text-opacity-80\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.list-simple-base {\n    @apply px-2 py-1 font-semibold border-b last:border-b-0\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.list-simple-black {\n    @apply border-gray-800 hover:bg-gray-300 hover:border-transparent hover:text-gray-700 focus:bg-gray-300 focus:text-gray-700\n}\n\n.list-simple-black-active {\n    @apply font-bold text-gray-700 hover:bg-gray-300 hover:text-gray-700\n}\n\n/*Blue*/\n.list-simple-blue {\n    @apply border-blue-200 hover:bg-blue-50 hover:border-transparent hover:text-blue-700 focus:bg-blue-200 focus:text-blue-700\n}\n\n.list-simple-blue-active {\n    @apply text-blue-700 hover:bg-blue-50 hover:text-blue-700\n}\n\n/*Gray*/\n.list-simple-gray {\n    @apply border-gray-200 hover:bg-gray-200 hover:border-transparent hover:text-gray-700 focus:bg-gray-200 focus:text-gray-700\n}\n\n.list-simple-gray-active {\n    @apply font-bold text-gray-700 hover:bg-gray-200 hover:text-gray-700\n}\n\n/*Green*/\n.list-simple-green {\n    @apply border-green-200 hover:bg-green-50 hover:border-transparent hover:text-green-700 focus:bg-green-200 focus:text-green-700\n}\n\n.list-simple-green-active {\n    @apply text-green-700 hover:bg-green-50 hover:text-green-700\n}\n\n/*Indigo*/\n.list-simple-indigo {\n    @apply border-indigo-200 hover:bg-indigo-50 hover:border-transparent hover:text-indigo-700 focus:bg-indigo-200 focus:text-indigo-700\n}\n\n.list-simple-indigo-active {\n    @apply text-indigo-700 hover:bg-indigo-50 hover:text-indigo-700\n}\n\n/*Pink*/\n.list-simple-pink {\n    @apply border-pink-200 hover:bg-pink-50 hover:border-transparent hover:text-pink-700 focus:bg-pink-200 focus:text-pink-700\n}\n\n.list-simple-pink-active {\n    @apply text-pink-700 hover:bg-red-50 hover:text-pink-700\n}\n\n/*Purple*/\n.list-simple-purple {\n    @apply border-purple-200 hover:bg-purple-50 hover:border-transparent hover:text-purple-700 focus:bg-purple-200 focus:text-purple-700\n}\n\n.list-simple-purple-active {\n    @apply text-purple-700 hover:bg-purple-50 hover:text-purple-700\n}\n\n/*Red*/\n.list-simple-red {\n    @apply border-red-200 hover:bg-red-50 hover:border-transparent hover:text-red-700 focus:bg-red-200 focus:text-red-700\n}\n\n.list-simple-red-active {\n    @apply text-red-700 hover:bg-red-50 hover:text-red-700\n}\n\n/*White*/\n.list-simple-white {\n    @apply border-gray-200 hover:bg-white hover:border-transparent hover:text-gray-700 focus:bg-white focus:text-gray-700\n}\n\n.list-simple-white-active {\n    @apply font-bold text-gray-700 hover:bg-white hover:text-gray-700\n}\n\n/*Yellow*/\n\n.list-simple-yellow {\n    @apply bg-yellow-500 border-yellow-300 border-opacity-50 hover:bg-yellow-200 hover:text-yellow-700 focus:bg-yellow-200 focus:text-yellow-700\n}\n\n.list-simple-yellow-active {\n    @apply bg-yellow-100 border-opacity-100 text-yellow-700 hover:bg-yellow-200 hover:text-yellow-700\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/loading.css",
    "content": ".loading-screen {\n    @apply fixed flex h-screen w-screen top-0 justify-center items-center left-0;\n    z-index: 99999999;\n}\n.loading-screen-content {\n    @apply flex flex-col text-white justify-between items-center h-screen\n}\n.loading-screen-content #wrapper{\n    @apply flex flex-col h-full space-y-8 justify-center items-center\n}\n.loading-screen-content #title {\n    @apply flex text-4xl md:text-7xl filter drop-shadow-lg text-center\n}\n.loading-screen-content #message {\n    @apply flex text-xl md:text-4xl filter drop-shadow-lg text-center\n}\n.loading-screen-content #animation {\n    @apply flex justify-center items-center h-28 mb-8 -mt-28\n}\n.loading-screen #custom-content {\n    @apply flex text-white justify-center items-center h-screen w-full\n}\n.loading-screen-content + .loading-black , .loading-blue , .loading-gray , .loading-green , .loading-indigo , .loading-pink , .loading-red , .loading-purple, .loading-yellow {\n@apply bg-gray-50 text-gray-50\n}\n.loading-screen-close {\n    @apply fixed flex right-12 rounded-md top-12 bg-gray-50 border-4 border-gray-400 hover:border-red-500 hover:text-red-500 cursor-pointer transition-all duration-300 ease-in-out;\n}\n.loading-screen-countdown {\n    @apply absolute top-0 w-screen h-2 bg-gray-50 bg-opacity-90 transition-all\n}\n.loading-screen-countdown #countdown {\n    @apply h-2\n}\n\n/*Animations*/\n.loading-cogs-container{\n    @apply flex justify-center\n}\n.loading-cogs-second{\n    @apply mt-8 -ml-4\n}\n.loading-three-bars{\n    @apply relative flex flex-shrink-0 flex-grow-0 h-4 justify-between space-x-1\n}\n.loading-three-dots{\n    @apply relative flex flex-wrap flex-shrink-0 flex-grow-0 h-full justify-between items-center space-x-0.5;\n}\n\n/*<editor-fold desc=\"Loading Screen Color Styles\">*/\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.loading-screen-black {\n    @apply bg-gray-800 bg-opacity-90\n}\n.loading-screen-black #countdown {\n    @apply bg-gray-800\n}\n\n/*Blue*/\n.loading-screen-blue {\n    @apply bg-blue-500 bg-opacity-90\n}\n.loading-screen-blue #countdown {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.loading-screen-gray {\n    @apply bg-gray-500 bg-opacity-90\n}\n.loading-screen-gray #countdown {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.loading-screen-green {\n    @apply bg-green-500 bg-opacity-90\n}\n.loading-screen-green #countdown {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.loading-screen-indigo {\n    @apply bg-indigo-500 bg-opacity-90\n}\n.loading-screen-indigo #countdown {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.loading-screen-pink {\n    @apply bg-pink-500 bg-opacity-90\n}\n.loading-screen-pink #countdown {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.loading-screen-purple {\n    @apply bg-purple-500 bg-opacity-90\n}\n.loading-screen-purple #countdown {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.loading-screen-red {\n    @apply bg-red-500 bg-opacity-90\n}\n.loading-screen-red #countdown {\n    @apply bg-red-500\n}\n\n/*White*/\n.loading-screen-white {\n    @apply bg-gray-100 bg-opacity-90 text-gray-600\n}\n.loading-screen-white #countdown {\n    @apply bg-gray-200\n}\n.loading-screen-white #title, .loading-screen-white #message{\n    @apply text-gray-600 !important\n}\n.loading-screen-white .loading-white {\n    @apply bg-gray-800 text-gray-600\n}\n\n/*Yellow*/\n.loading-screen-yellow {\n    @apply bg-yellow-500 bg-opacity-90\n}\n.loading-screen-yellow #countdown {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/modal.css",
    "content": ".modal-container {\n    @apply fixed top-0 left-0 inset-0 flex h-screen w-full md:w-screen overflow-hidden justify-center items-center bg-gray-500 z-50 backdrop-filter backdrop-blur-sm\n}\n\n.modal-box {\n    @apply relative flex flex-col md:min-w-[3rem] md:max-w-2xl\n}\n\n.modal-header {\n    @apply relative flex flex-row z-10\n}\n\n.modal-actions-container {\n    @apply flex flex-row h-10\n}\n\n.modal-action-buttons {\n    @apply flex flex-row justify-center items-center px-1 my-1 space-x-1 border rounded-full\n}\n\n.modal-close-button {\n    @apply flex justify-center items-center hover:text-red-500 focus:text-red-700 h-full cursor-pointer\n}\n\n.modal-content-container {\n    @apply flex flex-col justify-center items-center px-16 pt-8\n}\n\n.modal-custom-content-container {\n    @apply flex items-center p-4\n}\n\n.modal-content {\n    @apply text-center space-y-4 w-full\n}\n\n.modal-content-default {\n    @apply text-xl text-center\n}\n\n.modal-icon {\n    @apply flex pb-4\n}\n\n.modal-icon-default {\n    @apply h-28 w-28\n}\n\n.modal-footer-container {\n    @apply flex justify-between w-full p-4  whitespace-normal\n}\n\n.modal-countdown {\n    @apply absolute top-0 w-screen h-2 bg-gray-50 bg-opacity-60 transition-all\n}\n#countdown {\n    @apply h-2\n}\n\n.modal-countdown #close {\n    @apply h-2\n}\n\n.modal-footer-item {\n    @apply flex flex-wrap space-x-2\n}\n\n.modal-footer-left {\n    @apply inline-flex flex-grow space-x-2 justify-start\n}\n\n.modal-footer-center {\n    @apply inline-flex flex-grow space-x-2 justify-center\n}\n\n.modal-footer-right {\n    @apply inline-flex flex-grow space-x-2 justify-end\n}\n\n/*<editor-fold desc=\"Modal Background Color Styles\">*/\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.modal-container-black {\n    @apply bg-gray-800 bg-opacity-75\n}\n\n.modal-container-black #countdown {\n    @apply bg-gray-800\n}\n\n/*Blue*/\n.modal-container-blue {\n    @apply bg-blue-900 bg-opacity-75\n}\n\n.modal-container-blue #countdown {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.modal-container-gray {\n    @apply bg-gray-500 bg-opacity-75\n}\n\n.modal-container-gray #countdown {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.modal-container-green {\n    @apply bg-green-900 bg-opacity-75\n}\n\n.modal-container-green #countdown {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.modal-container-indigo {\n    @apply bg-indigo-900 bg-opacity-75\n}\n\n.modal-container-indigo #countdown {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.modal-container-pink {\n    @apply bg-pink-900 bg-opacity-75\n}\n\n.modal-container-pink #countdown {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.modal-container-purple {\n    @apply bg-purple-900 bg-opacity-75\n}\n\n.modal-container-purple #countdown {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.modal-container-red {\n    @apply bg-red-900 bg-opacity-75\n}\n\n.modal-container-red #countdown {\n    @apply bg-red-500\n}\n\n/*White*/\n.modal-container-white {\n    @apply bg-gray-50 bg-opacity-75\n}\n\n.modal-container-white #countdown {\n    @apply bg-gray-500\n}\n\n/*Yellow*/\n.modal-container-yellow {\n    @apply bg-yellow-900 bg-opacity-75\n}\n\n.modal-container-yellow #countdown {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n\n/*<editor-fold desc=\"Filled Style\">*/\n.modal-filled-base {\n    @apply text-white\n}\n\n.modal-filled-base .modal-header {\n    @apply justify-between p-2 -mb-8 items-stretch\n}\n\n.modal-filled-base .modal-close-button {\n    @apply ml-2 mt-1 bg-white text-red-500 rounded-full hover:bg-red-500 hover:text-white w-8 h-8\n}\n\n/*Title Styles*/\n.modal-filled-base #content-title-container {\n    @apply flex flex-col w-full text-center -mt-2 mb-4\n}\n\n.modal-filled-base #content-title {\n    @apply text-3xl\n}\n\n.modal-filled-base #content-sub-title {\n    @apply text-xl\n}\n\n.modal-filled-base .modal-icon-default {\n    @apply bg-white bg-opacity-80 rounded-full\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.modal-filled-black {\n    @apply bg-gray-700 border-black\n}\n\n/*Blue*/\n.modal-filled-blue {\n    @apply bg-blue-500 border-blue-500\n}\n\n/*Gray*/\n.modal-filled-gray {\n    @apply bg-gray-500 border-gray-500\n}\n\n/*Green*/\n.modal-filled-green {\n    @apply bg-green-500 border-green-500\n}\n\n/*Indigo*/\n.modal-filled-indigo {\n    @apply bg-indigo-500 border-indigo-500\n}\n\n/*Pink*/\n.modal-filled-pink {\n    @apply bg-pink-500 border-pink-500\n}\n\n/*Purple*/\n.modal-filled-purple {\n    @apply bg-purple-500 border-purple-500\n}\n\n/*Red*/\n.modal-filled-red {\n    @apply bg-red-500 border-red-500\n}\n\n/*White*/\n.modal-filled-white {\n    @apply bg-white border-gray-300 text-gray-700\n}\n\n/*Yellow*/\n.modal-filled-yellow {\n    @apply bg-yellow-500 border-yellow-400\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Elegant Style\">*/\n\n.modal-elegant-base {\n    @apply flex\n}\n\n/*Dark Mode Styles*/\n.modal-elegant-dark {\n    @apply bg-gray-700 text-white\n}\n\n.modal-elegant-dark .modal-action-buttons {\n    @apply border-white text-white\n}\n\n.modal-elegant-dark .box-close {\n    @apply text-white\n}\n\n.modal-elegant-light {\n    @apply bg-white text-gray-700\n}\n\n.modal-elegant-light .modal-action-buttons {\n    @apply border-gray-700 text-gray-700\n}\n\n.modal-elegant-light .modal-close {\n    @apply text-gray-700\n}\n\n/*Header Style*/\n.modal-elegant-base .modal-header {\n    @apply justify-between p-2 items-stretch\n}\n\n/*Title Styles*/\n.modal-elegant-base #title-container {\n    @apply flex flex-col justify-center\n}\n\n.modal-elegant-base #top-title {\n    @apply text-3xl\n}\n\n.modal-elegant-base #top-sub-title {\n    @apply text-xl\n}\n\n/*Seperator*/\n.modal-elegant-base #header-separator {\n    @apply flex h-1 mx-2 rounded-full\n}\n\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.modal-elegant-black #header-separator {\n    @apply bg-gray-600\n}\n\n/*Blue*/\n.modal-elegant-blue #header-separator {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.modal-elegant-gray #header-separator {\n    @apply bg-gray-400\n}\n\n/*Green*/\n.modal-elegant-green #header-separator {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.modal-elegant-indigo #header-separator {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.modal-elegant-pink #header-separator {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.modal-elegant-purple #header-separator {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.modal-elegant-red #header-separator {\n    @apply bg-red-500\n}\n\n/*White*/\n.modal-elegant-white #header-separator {\n    @apply bg-gray-200\n}\n\n/*Yellow*/\n.modal-elegant-yellow #header-separator {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/pagination.css",
    "content": "/*Pagination*/\n/*Pagination Container*/\n.pagination-container {\n    @apply flex flex-col-reverse my-2 md:flex-row md:mt-0 justify-center md:justify-between flex-shrink-0 w-full items-center ease-in-out duration-200 transition-all\n}\n/*Pagination Detail Text*/\n.pagination-detail-container{\n    @apply flex flex-row flex-shrink-0 mt-2 md:mt-0 items-center space-x-2 select-none\n}\n.pagination-detail-text{\n    @apply flex flex-row flex-shrink-0\n}\n.pagination-detail-jump-container{\n    @apply relative flex items-center\n}\n.pagination-detail-jump-input{\n    @apply flex rounded-l-md h-6 ml-2 px-0 text-gray-700 text-center focus:ring-0\n}\n.pagination-detail-jump-button{\n    @apply flex text-sm items-center px-0.5 cursor-pointer h-6 rounded-r-md\n}\n.pagination-counters {\n    @apply inline-flex flex-shrink-0 justify-end items-center overflow-hidden ease-in-out duration-200 transition-all\n}\n/*Pagination Item*/\n.pagination-item {\n    @apply flex items-center justify-center h-8 px-2 cursor-pointer font-semibold select-none flex-shrink-0 ease-in-out duration-200 transition-all\n}\n.pagination-active-item {\n    @apply flex items-center justify-center h-8 px-2 cursor-pointer font-semibold select-none flex-shrink-0 ease-in-out duration-200 transition-all\n}\n/*Left Right Navigation Arrows*/\n.pagination-arrow, .pagination-passive-arrow  {\n    @apply flex flex-shrink-0 items-center justify-center h-8 px-2 cursor-pointer font-semibold select-none\n}\n.pagination-passive-arrow{\n    filter: blur(.03rem) opacity(.9);\n}\n.pagination-arrow-text{\n    @apply hidden md:block\n}\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.pagination-filled-base .pagination-detail-jump-input{\n    @apply border-none\n}\n\n.pagination-filled-base .pagination-counters {\n    @apply text-white\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.pagination-filled-black  .pagination-item,.pagination-filled-black .pagination-arrow{\n    @apply bg-gray-800 hover:bg-gray-300 hover:text-gray-700\n}\n.pagination-filled-black  .pagination-active-item{\n    @apply bg-gray-600\n}\n.pagination-filled-black .pagination-passive-arrow{\n    @apply  bg-gray-100 text-gray-500 cursor-not-allowed\n}\n.pagination-filled-black .pagination-detail-jump-input{\n    @apply bg-gray-200 text-gray-700\n}\n.pagination-filled-black .pagination-detail-jump-button{\n    @apply text-white bg-gray-800\n}\n\n/*Blue*/\n.pagination-filled-blue  .pagination-item,.pagination-filled-blue .pagination-arrow{\n    @apply bg-blue-500 hover:bg-blue-100 hover:text-blue-500\n}\n.pagination-filled-blue  .pagination-active-item{\n    @apply bg-blue-700\n}\n.pagination-filled-blue .pagination-passive-arrow{\n    @apply  bg-blue-100 text-blue-300 cursor-not-allowed\n}\n.pagination-filled-blue .pagination-detail-jump-input{\n    @apply bg-blue-200 text-blue-500\n}\n.pagination-filled-blue .pagination-detail-jump-button{\n    @apply text-white bg-blue-500\n}\n\n/*Gray*/\n.pagination-filled-gray  .pagination-item,.pagination-filled-gray .pagination-arrow{\n    @apply bg-gray-300 text-gray-700 hover:bg-gray-500 hover:text-white\n}\n.pagination-filled-gray  .pagination-active-item{\n    @apply bg-gray-700\n}\n.pagination-filled-gray .pagination-passive-arrow{\n    @apply  bg-gray-100 text-gray-300 cursor-not-allowed\n}\n.pagination-filled-gray .pagination-detail-jump-input{\n    @apply bg-gray-200 text-gray-700\n}\n.pagination-filled-gray .pagination-detail-jump-button{\n    @apply text-white bg-gray-500\n}\n\n/*Green*/\n.pagination-filled-green  .pagination-item,.pagination-filled-green .pagination-arrow{\n    @apply bg-green-500 hover:bg-green-100 hover:text-green-500\n}\n.pagination-filled-green  .pagination-active-item{\n    @apply bg-green-700\n}\n.pagination-filled-green .pagination-passive-arrow{\n    @apply  bg-green-100 text-green-300 cursor-not-allowed\n}\n.pagination-filled-green .pagination-detail-jump-input{\n    @apply bg-green-200 text-green-500\n}\n.pagination-filled-green .pagination-detail-jump-button{\n    @apply text-white bg-green-500\n}\n\n/*Indigo*/\n.pagination-filled-indigo  .pagination-item,.pagination-filled-indigo .pagination-arrow{\n    @apply bg-indigo-500 hover:bg-indigo-100 hover:text-indigo-500\n}\n.pagination-filled-indigo  .pagination-active-item{\n    @apply bg-indigo-700\n}\n.pagination-filled-indigo .pagination-passive-arrow{\n    @apply  bg-indigo-100 text-indigo-300 cursor-not-allowed\n}\n.pagination-filled-indigo .pagination-detail-jump-input{\n    @apply bg-indigo-200 text-indigo-500\n}\n.pagination-filled-indigo .pagination-detail-jump-button{\n    @apply text-white bg-indigo-500\n}\n\n/*Pink*/\n.pagination-filled-pink  .pagination-item,.pagination-filled-pink .pagination-arrow{\n    @apply bg-pink-500 hover:bg-pink-100 hover:text-pink-500\n}\n.pagination-filled-pink  .pagination-active-item{\n    @apply bg-pink-700\n}\n.pagination-filled-pink .pagination-passive-arrow{\n    @apply  bg-pink-100 text-pink-300 cursor-not-allowed\n}\n.pagination-filled-pink .pagination-detail-jump-input{\n    @apply bg-pink-200 text-pink-500\n}\n.pagination-filled-pink .pagination-detail-jump-button{\n    @apply text-white bg-pink-500\n}\n\n/*Purple*/\n.pagination-filled-purple  .pagination-item,.pagination-filled-purple .pagination-arrow{\n    @apply bg-purple-500 hover:bg-purple-100 hover:text-purple-500\n}\n.pagination-filled-purple  .pagination-active-item{\n    @apply bg-purple-700\n}\n.pagination-filled-purple .pagination-passive-arrow{\n    @apply  bg-purple-100 text-purple-300 cursor-not-allowed\n}\n.pagination-filled-purple .pagination-detail-jump-input{\n    @apply bg-purple-200 text-purple-500\n}\n.pagination-filled-purple .pagination-detail-jump-button{\n    @apply text-white bg-purple-500\n}\n\n/*Red*/\n.pagination-filled-red  .pagination-item,.pagination-filled-red .pagination-arrow{\n    @apply bg-red-500 hover:bg-red-100 hover:text-red-500\n}\n.pagination-filled-red  .pagination-active-item{\n    @apply bg-red-700\n}\n.pagination-filled-red .pagination-passive-arrow{\n    @apply  bg-red-100 text-red-300 cursor-not-allowed\n}\n.pagination-filled-red .pagination-detail-jump-input{\n    @apply bg-red-200 text-red-500\n}\n.pagination-filled-red .pagination-detail-jump-button{\n    @apply text-white bg-red-500\n}\n\n/*White*/\n.pagination-filled-white  .pagination-item,.pagination-filled-white .pagination-arrow{\n    @apply bg-white text-gray-700 hover:bg-gray-200 hover:text-gray-700\n}\n.pagination-filled-white  .pagination-active-item{\n    @apply bg-gray-600\n}\n.pagination-filled-white .pagination-passive-arrow{\n    @apply  text-gray-300 cursor-not-allowed\n}\n.pagination-filled-white .pagination-detail-jump-input{\n    @apply bg-gray-200 border text-gray-500\n}\n.pagination-filled-white .pagination-detail-jump-button{\n    @apply text-gray-500 border border-gray-500\n}\n\n/*Yellow*/\n.pagination-filled-yellow  .pagination-item,.pagination-filled-yellow .pagination-arrow{\n    @apply bg-yellow-500 hover:bg-yellow-100 hover:text-yellow-500\n}\n.pagination-filled-yellow  .pagination-active-item{\n    @apply bg-yellow-700\n}\n.pagination-filled-yellow .pagination-passive-arrow{\n    @apply  bg-yellow-100 text-yellow-300 cursor-not-allowed\n}\n.pagination-filled-yellow .pagination-detail-jump-input{\n    @apply bg-yellow-200 text-yellow-500\n}\n.pagination-filled-yellow .pagination-detail-jump-button{\n    @apply text-white bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Light Style\">*/\n/*General Definitions*/\n.pagination-light-base {\n    @apply hover:text-gray-50 py-1 px-2 font-semibold\n}\n\n.pagination-light-base .pagination-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.pagination-light-black {\n    @apply bg-gray-500 hover:bg-gray-800 text-gray-50 border-gray-800\n}\n.pagination-light-black .loading-black {\n    @apply bg-gray-100\n}\n\n/*Blue*/\n.pagination-light-blue {\n    @apply bg-blue-200 hover:bg-blue-500 text-blue-700 border-blue-500\n}\n.pagination-light-blue .loading-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.pagination-light-gray {\n    @apply bg-gray-300 hover:bg-gray-500 text-gray-700 border-gray-500\n}\n.pagination-light-gray .loading-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.pagination-light-green {\n    @apply bg-green-200 hover:bg-green-500 text-green-700 border-green-500\n}\n.pagination-light-green .loading-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.pagination-light-indigo {\n    @apply bg-indigo-200 hover:bg-indigo-500 text-indigo-700 border-indigo-500\n}\n.pagination-light-indigo .loading-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.pagination-light-pink {\n    @apply bg-pink-200 hover:bg-pink-500 text-pink-700 border-pink-500\n}\n.pagination-light-pink .loading-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.pagination-light-purple {\n    @apply bg-purple-200 hover:bg-purple-500 text-purple-700 border-purple-500\n}\n.pagination-light-purple .loading-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.pagination-light-red {\n    @apply bg-red-200 hover:bg-red-500 text-red-700 border-red-500\n}\n.pagination-light-red .loading-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.pagination-light-white {\n    @apply bg-gray-100 hover:bg-gray-500 text-gray-700 border-gray-300\n}\n.pagination-light-white .loading-white {\n    @apply bg-gray-500\n}\n\n/*Yellow*/\n.pagination-light-yellow {\n    @apply bg-yellow-200 hover:bg-yellow-500 text-yellow-700 border-yellow-500\n}\n.pagination-light-yellow .loading-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Outline Style\">*/\n/*General Definitions*/\n.pagination-outline-base {\n    @apply border hover:text-gray-50 py-1 px-2 font-semibold\n}\n\n.pagination-outline-base .pagination-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.pagination-outline-black {\n    @apply hover:bg-gray-800 text-gray-800 border-gray-800\n}\n.pagination-outline-black .loading-black {\n    @apply bg-gray-800\n}\n\n/*Blue*/\n.pagination-outline-blue {\n    @apply hover:bg-blue-500 text-blue-700 border-blue-500\n}\n.pagination-outline-blue .loading-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.pagination-outline-gray {\n    @apply hover:bg-gray-500 text-gray-700 border-gray-500\n}\n.pagination-outline-gray .loading-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.pagination-outline-green {\n    @apply hover:bg-green-500 text-green-700 border-green-500\n}\n.pagination-outline-green .loading-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.pagination-outline-indigo {\n    @apply hover:bg-indigo-500 text-indigo-700 border-indigo-500\n}\n.pagination-outline-indigo .loading-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.pagination-outline-pink {\n    @apply hover:bg-pink-500 text-pink-700 border-pink-500\n}\n.pagination-outline-pink .loading-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.pagination-outline-purple {\n    @apply hover:bg-purple-500 text-purple-700 border-purple-500\n}\n.pagination-outline-purple .loading-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.pagination-outline-red {\n    @apply hover:bg-red-500 text-red-700 border-red-500\n}\n.pagination-outline-red .loading-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.pagination-outline-white {\n    @apply hover:bg-gray-200 text-gray-700 border-gray-300 hover:text-gray-700\n}\n.pagination-outline-white .loading-white {\n    @apply bg-gray-300\n}\n\n/*Yellow*/\n.pagination-outline-yellow {\n    @apply hover:bg-yellow-500 text-yellow-700 border-yellow-500\n}\n.pagination-outline-yellow .loading-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Link Style\">*/\n/*General Definitions*/\n.pagination-link-base {\n    @apply font-semibold hover:font-bold hover:underline py-1 px-2\n}\n\n.pagination-link-base .pagination-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.pagination-link-black {\n    @apply text-gray-800\n}\n.pagination-link-black .loading-black {\n    @apply bg-gray-800\n}\n\n/*Blue*/\n.pagination-link-blue {\n    @apply text-blue-700\n}\n.pagination-link-blue .loading-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.pagination-link-gray {\n    @apply text-gray-700\n}\n.pagination-link-gray .loading-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.pagination-link-green {\n    @apply text-green-700\n}\n.pagination-link-green .loading-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.pagination-link-indigo {\n    @apply text-indigo-700\n}\n.pagination-link-indigo .loading-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.pagination-link-pink {\n    @apply text-pink-700\n}\n.pagination-link-pink .loading-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.pagination-link-purple {\n    @apply text-purple-700\n}\n.pagination-link-purple .loading-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.pagination-link-red {\n    @apply text-red-700\n}\n.pagination-link-red .loading-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.pagination-link-white {\n    @apply text-gray-700\n}\n.pagination-link-white .loading-white {\n    @apply bg-gray-300\n}\n\n/*Yellow*/\n.pagination-link-yellow {\n    @apply text-yellow-700\n}\n.pagination-link-yellow .loading-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Link Plus Style\">*/\n/*General Definitions*/\n.pagination-link-plus-base {\n    @apply font-semibold hover:text-gray-50 hover:underline py-1 px-2\n}\n\n.pagination-link-plus-base .pagination-icon {\n    @apply ml-2\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.pagination-link-plus-black {\n    @apply text-gray-800 hover:bg-gray-800\n}\n.pagination-link-plus-black .loading-black {\n    @apply bg-gray-800\n}\n\n/*Blue*/\n.pagination-link-plus-blue {\n    @apply text-blue-700 hover:bg-blue-500\n}\n.pagination-link-plus-blue .loading-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.pagination-link-plus-gray {\n    @apply text-gray-700 hover:bg-gray-500\n}\n.pagination-link-plus-gray .loading-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.pagination-link-plus-green {\n    @apply text-green-700 hover:bg-green-500\n}\n.pagination-link-plus-green .loading-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.pagination-link-plus-indigo {\n    @apply text-indigo-700 hover:bg-indigo-500\n}\n.pagination-link-plus-indigo .loading-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.pagination-link-plus-pink {\n    @apply text-pink-700 hover:bg-pink-500\n}\n.pagination-link-plus-pink .loading-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.pagination-link-plus-purple {\n    @apply text-purple-700 hover:bg-purple-500\n}\n.pagination-link-plus-purple .loading-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.pagination-link-plus-red {\n    @apply text-red-700 hover:bg-red-500\n}\n.pagination-link-plus-red .loading-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.pagination-link-plus-white {\n    @apply text-gray-700 hover:bg-gray-300 hover:text-gray-700\n}\n.pagination-link-plus-white .loading-white {\n    @apply bg-gray-300\n}\n\n/*Yellow*/\n.pagination-link-plus-yellow {\n    @apply text-yellow-700 hover:bg-yellow-500\n}\n.pagination-link-plus-yellow .loading-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/progress.css",
    "content": ".progress {\n    @apply flex flex-col w-full\n}\n\n.progress-container {\n    @apply flex flex-row justify-between text-sm\n}\n\n.progress-value {\n    @apply flex w-full bg-gray-200 shadow-inner rounded-full overflow-hidden flex-shrink-0 flex-grow-0\n}\n\n.progress-counter-line {\n    @apply flex transition-all duration-1000\n}\n\n/*<editor-fold desc=\"Progress Height Styles\">*/\n.progress-height-1 {\n    @apply h-1\n}\n\n.progress-height-2 {\n    @apply h-2\n}\n\n.progress-height-3 {\n    @apply h-3\n}\n\n.progress-height-4 {\n    @apply h-4\n}\n\n.progress-height-5 {\n    @apply h-5\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Progress Color Styles\">*/\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.progress-black {\n    @apply bg-gray-800\n}\n\n/*Blue*/\n.progress-blue {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.progress-gray {\n    @apply bg-gray-500\n}\n\n/*Green*/\n.progress-green {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.progress-indigo {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.progress-pink {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.progress-purple {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.progress-red {\n    @apply bg-red-500\n}\n\n/*White*/\n.progress-white {\n    @apply bg-white shadow-inner shadow-lg;\n}\n\n/*Yellow*/\n.progress-yellow {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/radius.css",
    "content": ".radius-0{\n    @apply rounded-none\n}\n.radius-1{\n    @apply rounded-sm\n}\n.radius-2{\n    @apply rounded\n}\n.radius-3{\n    @apply rounded-md\n}\n.radius-4{\n    @apply rounded-lg\n}\n.radius-5{\n    @apply rounded-xl\n}\n.radius-6{\n    @apply rounded-2xl\n}\n.radius-7{\n    @apply rounded-3xl\n}\n.radius-8{\n    @apply rounded-full\n}\n\n/*<editor-fold desc=\"Seperated Corner Radius\">*/\n/*Top Left*/\n.radius-tl-0{\n    @apply rounded-tl-none\n}\n.radius-tl-1{\n    @apply rounded-tl-sm\n}\n.radius-tl-2{\n    @apply rounded-tl\n}\n.radius-tl-3{\n    @apply rounded-tl-md\n}\n.radius-tl-4{\n    @apply rounded-tl-lg\n}\n.radius-tl-5{\n    @apply rounded-tl-xl\n}\n.radius-tl-6{\n    @apply rounded-tl-2xl\n}\n.radius-tl-7{\n    @apply rounded-tl-3xl\n}\n.radius-tl-8{\n    @apply rounded-tl-full\n}\n/*Top Right*/\n.radius-tr-0{\n    @apply rounded-tr-none\n}\n.radius-tr-1{\n    @apply rounded-tr-sm\n}\n.radius-tr-2{\n    @apply rounded-tr\n}\n.radius-tr-3{\n    @apply rounded-tr-md\n}\n.radius-tr-4{\n    @apply rounded-tr-lg\n}\n.radius-tr-5{\n    @apply rounded-tr-xl\n}\n.radius-tr-6{\n    @apply rounded-tr-2xl\n}\n.radius-tr-7{\n    @apply rounded-tr-3xl\n}\n.radius-tr-8{\n    @apply rounded-tr-full\n}\n/*Bottom Left*/\n.radius-bl-0{\n    @apply rounded-bl-none\n}\n.radius-bl-1{\n    @apply rounded-bl-sm\n}\n.radius-bl-2{\n    @apply rounded-bl\n}\n.radius-bl-3{\n    @apply rounded-bl-md\n}\n.radius-bl-4{\n    @apply rounded-bl-lg\n}\n.radius-bl-5{\n    @apply rounded-bl-xl\n}\n.radius-bl-6{\n    @apply rounded-bl-2xl\n}\n.radius-bl-7{\n    @apply rounded-bl-3xl\n}\n.radius-bl-8{\n    @apply rounded-bl-full\n}\n/*Bottom Right*/\n.radius-br-0{\n    @apply rounded-br-none\n}\n.radius-br-1{\n    @apply rounded-br-sm\n}\n.radius-br-2{\n    @apply rounded-br\n}\n.radius-br-3{\n    @apply rounded-br-md\n}\n.radius-br-4{\n    @apply rounded-br-lg\n}\n.radius-br-5{\n    @apply rounded-br-xl\n}\n.radius-br-6{\n    @apply rounded-br-2xl\n}\n.radius-br-7{\n    @apply rounded-br-3xl\n}\n.radius-br-8{\n    @apply rounded-br-full\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Seperated Left-Right Side Radius\">*/\n/*Left*/\n.radius-l-0{\n    @apply rounded-l-none\n}\n.radius-l-1{\n    @apply rounded-l-sm\n}\n.radius-l-2{\n    @apply rounded-l\n}\n.radius-l-3{\n    @apply rounded-l-md\n}\n.radius-l-4{\n    @apply rounded-l-lg\n}\n.radius-l-5{\n    @apply rounded-l-xl\n}\n.radius-l-6{\n    @apply rounded-l-2xl\n}\n.radius-l-7{\n    @apply rounded-l-3xl\n}\n.radius-l-8{\n    @apply rounded-l-full\n}\n/*Right*/\n.radius-r-0{\n    @apply rounded-r-none\n}\n.radius-r-1{\n    @apply rounded-r-sm\n}\n.radius-r-2{\n    @apply rounded-r\n}\n.radius-r-3{\n    @apply rounded-r-md\n}\n.radius-r-4{\n    @apply rounded-r-lg\n}\n.radius-r-5{\n    @apply rounded-r-xl\n}\n.radius-r-6{\n    @apply rounded-r-2xl\n}\n.radius-r-7{\n    @apply rounded-r-3xl\n}\n.radius-r-8{\n    @apply rounded-r-full\n}\n/*Top*/\n.radius-t-0{\n    @apply rounded-t-none\n}\n.radius-t-1{\n    @apply rounded-t-sm\n}\n.radius-t-2{\n    @apply rounded-t\n}\n.radius-t-3{\n    @apply rounded-t-md\n}\n.radius-t-4{\n    @apply rounded-t-lg\n}\n.radius-t-5{\n    @apply rounded-t-xl\n}\n.radius-t-6{\n    @apply rounded-t-2xl\n}\n.radius-t-7{\n    @apply rounded-t-3xl\n}\n.radius-t-8{\n    @apply rounded-t-full\n}\n/*Bottom*/\n.radius-b-0{\n    @apply rounded-b-none\n}\n.radius-b-1{\n    @apply rounded-b-sm\n}\n.radius-b-2{\n    @apply rounded-b\n}\n.radius-b-3{\n    @apply rounded-b-md\n}\n.radius-b-4{\n    @apply rounded-b-lg\n}\n.radius-b-5{\n    @apply rounded-b-xl\n}\n.radius-b-6{\n    @apply rounded-b-2xl\n}\n.radius-b-7{\n    @apply rounded-b-3xl\n}\n.radius-b-8{\n    @apply rounded-b-full\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Group Radius\">*/\n.group-radius-0{\n    @apply rounded-none\n}\n.group-radius-1{\n    @apply first:rounded-t-sm last:rounded-b-sm\n}\n.group-radius-2{\n    @apply first:rounded-t last:rounded-b\n}\n.group-radius-3{\n    @apply first:rounded-t-md last:rounded-b-md\n}\n.group-radius-4{\n    @apply first:rounded-t-lg last:rounded-b-lg\n}\n.group-radius-5{\n    @apply first:rounded-t-xl last:rounded-b-xl\n}\n.group-radius-6{\n    @apply first:rounded-t-2xl last:rounded-b-2xl\n}\n.group-radius-7{\n    @apply first:rounded-t-3xl last:rounded-b-3xl\n}\n.group-radius-8{\n    @apply first:rounded-t-full last:rounded-b-full\n}\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/statistic-box.css",
    "content": "/*Statistic Widget*/\n.statistic-widget {\n    @apply flex justify-between h-full w-full\n}\n\n.statistic-widget-data {\n    @apply flex flex-col flex-grow\n}\n\n.statistic-widget-title {\n    @apply text-lg font-semibold\n}\n\n.statistic-widget-value {\n    @apply text-xl md:text-2xl xl:text-3xl font-bold py-2\n}\n\n.statistic-widget-diff-value {\n    @apply flex items-center gap-1 max-w-min text-sm\n}\n\n.statistic-widget-icon-container {\n    @apply flex flex-shrink-0 items-center overflow-hidden object-cover\n}\n\n.statistic-widget-icon {\n    @apply flex items-center justify-center p-4 border-2 w-20 h-20 rounded-full\n}\n\n.statistic-widget-picture-container {\n    @apply flex flex-shrink-0 items-center\n}\n\n.statistic-widget-picture {\n    @apply flex items-center justify-center border-2 w-20 rounded-full object-cover overflow-hidden\n}\n"
  },
  {
    "path": "resources/css/components/tab.css",
    "content": ".tab {\n    @apply relative flex flex-col w-full\n}\n\n.tab-title-container {\n    @apply relative flex flex-row justify-center md:justify-start overflow-x-scroll z-10 scrollbar-thin scrollbar-thumb-gray-500 scrollbar-track-gray-300\n}\n\n.tab-title {\n    @apply flex items-center justify-center whitespace-nowrap space-x-1 items-center cursor-pointer transition duration-200 select-none\n}\n\n.tab-title-active {\n    @apply flex items-center justify-center whitespace-nowrap space-x-1 items-center cursor-pointer transition duration-200 select-none font-semibold\n}\n\n.tab-content {\n    @apply flex p-2 border\n}\n\n.tab-light .tab-content {\n    @apply bg-gray-50 text-gray-700\n}\n\n.tab-dark .tab-content {\n    @apply bg-gray-700 text-white\n}\n\n/*<editor-fold desc=\"Filled Style\">*/\n/*General Definitions*/\n.tab-filled-base.tab-light .tab-title {\n    @apply px-2 py-1 bg-gray-200 text-gray-400\n}\n\n.tab-filled-base.tab-dark .tab-title {\n    @apply px-2 py-1 bg-gray-500 text-gray-300\n}\n\n.tab-filled-base .tab-title-active {\n    @apply px-2 py-1 text-white\n}\n\n.tab-filled-base.tab-dark .tab-content{\n    @apply border-none\n}\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.tab-filled-black .tab-title-active {\n    @apply bg-gray-700 border-black\n}\n\n/*Blue*/\n.tab-filled-blue .tab-title-active {\n    @apply bg-blue-500\n}\n\n/*Gray*/\n.tab-filled-gray .tab-title-active {\n    @apply bg-gray-500\n}\n\n.tab-dark.tab-filled-gray .tab-title-active {\n    @apply bg-gray-600\n}\n\n/*Green*/\n.tab-filled-green .tab-title-active {\n    @apply bg-green-500\n}\n\n/*Indigo*/\n.tab-filled-indigo .tab-title-active {\n    @apply bg-indigo-500\n}\n\n/*Pink*/\n.tab-filled-pink .tab-title-active {\n    @apply bg-pink-500\n}\n\n/*Purple*/\n.tab-filled-purple .tab-title-active {\n    @apply bg-purple-500\n}\n\n/*Red*/\n.tab-filled-red .tab-title-active {\n    @apply bg-red-500\n}\n\n/*White*/\n.tab-filled-white .tab-title-active {\n    @apply bg-white text-gray-700\n}\n\n/*Yellow*/\n.tab-filled-yellow .tab-title-active {\n    @apply bg-yellow-500\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Underline Style\">*/\n/*General Definitions*/\n.tab-underline-base .tab-title-container {\n    @apply -mb-1\n}\n.tab-underline-base.tab-dark .tab-title-container {\n    @apply mb-0\n}\n\n.tab-underline-base .tab-content {\n    @apply border-t-4\n}\n.tab-underline-base.tab-dark .tab-content {\n    @apply border-none\n}\n\n.tab-underline-base .tab-title {\n    @apply px-2 py-1 border-b-4 border-transparent\n}\n\n.tab-underline-base .tab-title-active {\n    @apply px-2 py-1 border-b-4\n}\n\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.tab-underline-black .tab-title-active {\n    @apply border-gray-700\n}\n\n.tab-dark.tab-underline-black .tab-title-active {\n    @apply border-black\n}\n\n/*Blue*/\n.tab-underline-blue .tab-title-active {\n    @apply border-blue-600 text-blue-600\n}\n\n/*Gray*/\n.tab-underline-gray .tab-title-active {\n    @apply border-gray-500\n}\n\n.tab-dark.tab-underline-gray .tab-title-active {\n    @apply border-gray-400\n}\n\n/*Green*/\n.tab-underline-green .tab-title-active {\n    @apply border-green-600 text-green-600\n}\n\n/*Indigo*/\n.tab-underline-indigo .tab-title-active {\n    @apply border-indigo-600 text-indigo-600\n}\n\n/*Pink*/\n.tab-underline-pink .tab-title-active {\n    @apply border-pink-600 text-pink-600\n}\n\n/*Purple*/\n.tab-underline-purple .tab-title-active {\n    @apply border-purple-600 text-purple-600 !important\n}\n\n/*Red*/\n.tab-underline-red .tab-title-active {\n    @apply border-red-600 text-red-600\n}\n\n/*White*/\n.tab-underline-white .tab-title-active {\n    @apply border-gray-400\n}\n\n.tab-dark.tab-underline-white .tab-title-active {\n    @apply border-gray-300\n}\n\n/*Yellow*/\n.tab-underline-yellow .tab-title-active {\n    @apply border-yellow-600 text-yellow-600\n}\n\n.tab-underline-simple-text {\n    @apply text-gray-700 !important\n}\n\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/table.css",
    "content": ".table-outside-container {\n    @apply w-full space-y-4\n}\n\n/*<editor-fold desc=\"Top Content\">*/\n.table-top {\n    @apply flex justify-between\n}\n.table-top-left {\n    @apply flex justify-start items-center space-x-2\n}\n.table-advanced-search-container{\n    @apply flex flex-col p-4 space-y-4 border bg-white dark:border-transparent dark:bg-gray-800 dark:text-gray-200\n}\n.table-advanced-search-content-wrapper{\n    @apply grid grid-cols-1 md:grid-cols-2 gap-4\n}\n/*</editor-fold>*/\n.table-header-cell{\n    @apply flex items-center font-semibold space-x-1 select-none\n}\n.table-container{\n    @apply w-full ;\n}\n.table-content-cell{\n    @apply px-4 py-2\n}\n.table-no-content{\n    @apply flex justify-center items-center p-4 space-x-2\n}\n.table-paginator{\n    @apply mt-4\n}\n\n/*<editor-fold desc=\"Elegant Style\">*/\n/*General Definitions*/\n.table-elegant .table-header-cell{\n    @apply px-4 py-2 text-sm dark:text-gray-200 uppercase leading-normal\n}\n.table-elegant .table-content-row{\n    @apply bg-white dark:bg-gray-600 dark:text-gray-200\n}\n.table-elegant .table-content-zebra-row{\n    @apply odd:bg-gray-300 dark:odd:bg-gray-500\n}\n.table-elegant .table-content-hover-row{\n    @apply hover:bg-gray-500 hover:text-white dark:hover:bg-gray-300 dark:hover:text-gray-700\n}\n.table-elegant .table-content-border-row{\n    @apply border-b last:border-b-0 dark:border-gray-500\n}\n.table-elegant .table-no-content{\n    @apply bg-gray-200 bg-opacity-50\n}\n.table-elegant .table-simple-search-input {\n    @apply bg-gray-700 text-white placeholder-gray-200\n}\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/components/toastr.css",
    "content": "/*Toastr*/\n.toastr {\n    @apply flex flex-row justify-between items-center shadow p-4 min-h-max\n}\n\n.toastr-close {\n    @apply flex items-center justify-center w-5 h-5 rounded-full font-bold hover:bg-red-700 hover:text-white hover:bg-opacity-90 cursor-pointer\n}\n"
  },
  {
    "path": "resources/css/components/tooltip.css",
    "content": ".tooltip, .tooltip:after, .tooltip:before{\n    @apply inline-flex\n}\n.tooltip-container{\n    @apply relative whitespace-normal select-none cursor-pointer\n}\n\n.tooltip-box{\n    @apply absolute z-10 font-normal;\n    filter: drop-shadow(0px 0px 2px #4a5568);\n}\n\n.tooltip-box-content{\n    @apply bg-white dark:bg-slate-700 dark:text-slate-100 px-2 py-1 whitespace-nowrap z-50;\n}\n.tooltip-left-container{\n    @apply right-full -top-4 mr-2 mt-2\n}\n.tooltip-left-arrow{\n    @apply absolute border-slate-500 dark:border-slate-100 w-2 h-2 border-r-2 border-t-2 transform -right-1 top-4 rotate-45 z-10\n}\n.tooltip-right-container{\n    @apply left-full -top-4 ml-2 mt-2\n}\n.tooltip-right-arrow{\n    @apply absolute border-slate-500 dark:border-slate-100 w-2 h-2 border-l-2 border-b-2 transform -left-1 top-4 rotate-45 z-10\n}\n.tooltip-top-container{\n    @apply left-0 bottom-6 mb-2\n}\n.tooltip-top-arrow{\n    @apply absolute border-slate-500 dark:border-slate-100 w-2 h-2 bg-white border-b-2 border-r-2 transform left-4 -bottom-1 rotate-45 z-10\n}\n.tooltip-bottom-container{\n    @apply top-6 mt-2\n}\n.tooltip-bottom-arrow{\n    @apply absolute border-slate-500 dark:border-slate-100 w-2 h-2 border-l-2 border-t-2 transform left-4 -top-1 rotate-45 z-10\n}\n\n.tooltip-bold{\n    @apply font-bold\n}\n\n\n/*Colors: black, blue, gray, green, indigo, pink, purple, white and yellow*/\n/*Black*/\n.tooltip-black .tooltip-box-title,.tooltip-black .tooltip-arrow {\n    @apply bg-gray-800 border-transparent\n}\n\n/*Blue*/\n.tooltip-blue .tooltip-box-title,.tooltip-blue .tooltip-arrow {\n    @apply bg-blue-500 border-transparent\n}\n\n/*Gray*/\n.tooltip-gray .tooltip-box-title,.tooltip-gray .tooltip-arrow {\n    @apply bg-gray-500 border-transparent\n}\n\n/*Green*/\n.tooltip-green .tooltip-box-title,.tooltip-green .tooltip-arrow {\n    @apply bg-green-500 border-transparent\n}\n\n/*Indigo*/\n.tooltip-indigo .tooltip-box-title,.tooltip-indigo .tooltip-arrow {\n    @apply bg-indigo-500 border-transparent\n}\n\n/*Pink*/\n.tooltip-pink .tooltip-box-title,.tooltip-pink .tooltip-arrow {\n    @apply bg-pink-500 border-transparent\n}\n\n/*Purple*/\n.tooltip-purple .tooltip-box-title,.tooltip-purple .tooltip-arrow {\n    @apply bg-purple-500 border-transparent\n}\n\n/*Red*/\n.tooltip-red .tooltip-box-title,.tooltip-red .tooltip-arrow {\n    @apply bg-red-500 border-transparent\n}\n\n/*White*/\n.tooltip-white .tooltip-box-title {\n    @apply bg-gray-200 text-gray-700 border-b border-gray-500\n}\n.tooltip-white .tooltip-arrow{\n    @apply bg-white dark:bg-slate-700\n}\n\n/*Yellow*/\n.tooltip-yellow .tooltip-box-title,.tooltip-yellow .tooltip-arrow {\n    @apply bg-yellow-500\n}\n"
  },
  {
    "path": "resources/css/components/vertical-menu.css",
    "content": "/*Initial Vertical Menu*/\n.ivm {\n    @apply flex flex-col md:flex-row items-center max-h-min w-full px-2 py-2 overflow-hidden\n}\n\n.ivm-container {\n    @apply flex flex-col md:flex-row w-full gap-2\n}\n\n.ivm-item {\n    @apply bg-opacity-0 hover:bg-opacity-100 items-center justify-center px-3 py-2 gap-2 whitespace-nowrap h-full w-full md:max-w-min font-bold cursor-pointer transition duration-300 ease-in-out\n}\n"
  },
  {
    "path": "resources/css/layout/footer.css",
    "content": "/*Footer*/\n.footer {\n    @apply flex flex-wrap flex-shrink-0 items-center py-2 px-6 justify-center md:justify-end space-x-1 text-sm font-semibold text-right text-gray-500 w-full\n}\n"
  },
  {
    "path": "resources/css/layout/full-screen-layout.css",
    "content": "/*Full Screen Card*/\n.full-screen-card {\n    @apply relative flex h-screen w-screen\n}\n\n/*Full Screen Card Container*/\n.full-screen-card-container {\n    @apply absolute h-screen w-screen bg-cover z-10\n}\n\n/*Full Screen Card Content*/\n.full-screen-card-content {\n    @apply flex w-full items-center justify-center z-20\n}\n"
  },
  {
    "path": "resources/css/layout/main-menu.css",
    "content": "/*<editor-fold desc=\"Umay Main Menu\">*/\n.umay-main-menu {\n    @apply flex flex-col flex-shrink-0 justify-between w-72 h-screen bg-gray-800 relative transition-size-medium\n}\n\n/*<editor-fold desc=\"Main Menu Header\">*/\n.umay-main-menu .header {\n    @apply flex flex-shrink-0 h-16 px-3 m-4;\n}\n\n.umay-main-menu .logo-out-container {\n    @apply flex justify-center w-full\n}\n\n.umay-main-menu .logo-inside-container {\n    @apply flex items-center overflow-hidden\n}\n\n.umay-main-menu #logo {\n    @apply flex flex-shrink-0 w-10\n}\n\n.umay-main-menu #logo-title {\n    @apply flex flex-shrink-0 text-3xl h-10 items-center leading-normal transition-size-medium\n}\n\n/*</editor-fold>*/\n/*<editor-fold desc=\"Let Menu Links\">*/\n.umay-main-menu #links-wrapper {\n    @apply h-full bg-gray-800 px-4 overflow-x-hidden overflow-y-scroll scrollbar-thin scrollbar-thumb-gray-300 scrollbar-track-gray-800 transition-size-long overflow-hidden\n\n}\n\n/*Root Link*/\n.umay-main-menu #link {\n    @apply overflow-hidden bg-gray-800 mb-2\n}\n\n.umay-main-menu-root-link {\n    @apply relative z-20 inline-flex w-full border-none border-separate font-semibold cursor-pointer whitespace-nowrap select-none bg-gray-800 active:bg-gray-500 active:text-white transition-color-short transition-size-medium overflow-hidden\n}\n\n.umay-main-menu-root-link-active {\n    @apply bg-white hover:bg-gray-400 text-gray-700 transition-color-short\n}\n\n.umay-main-menu-root-link-passive {\n    @apply text-gray-200 bg-gray-800 hover:text-gray-700 hover:bg-gray-100\n}\n\n.umay-main-menu-root-link-fold {\n    @apply justify-center p-4 space-x-0\n}\n\n.umay-main-menu-root-link-expand {\n    @apply justify-start p-2 space-x-1\n}\n\n.umay-main-menu-label-wrapper {\n    @apply flex justify-between items-center transition-size-long overflow-hidden\n}\n\n.umay-main-menu-root-link #trigger {\n    @apply flex items-center justify-center\n}\n\n.umay-main-menu-root-link #trigger-icon {\n    @apply w-6 h-6 transform transition-size-short\n}\n\n/*Sub Links*/\n.umay-main-menu-sub-links-wrapper {\n    @apply flex flex-col bg-gray-100 bg-opacity-10 transition-size-long overflow-hidden\n}\n\n.umay-main-menu-sub-link {\n    @apply relative inline-flex flex-shrink-0 p-2 items-center w-full whitespace-nowrap cursor-pointer active:bg-gray-500 active:text-white transition-color-short overflow-hidden\n}\n\n.umay-main-menu-sub-link-active {\n    @apply bg-white bg-opacity-60 hover:bg-opacity-25 text-gray-800 hover:text-white font-bold\n}\n\n.umay-main-menu-sub-link-passive {\n    @apply text-gray-200 hover:text-white bg-opacity-10 hover:bg-gray-200 hover:bg-opacity-25\n}\n\n.umay-main-menu-sub-link-fold {\n    @apply justify-center p-4 space-x-0\n}\n\n.umay-main-menu-sub-link-expand {\n    @apply justify-start p-2 space-x-1\n}\n\n.umay-main-menu-icon {\n    @apply flex flex-shrink-0 justify-center items-center w-6 h-6\n}\n\n/*</editor-fold>*/\n/*<editor-fold desc=\"Main Menu Footer\">*/\n.umay-main-menu #footer {\n    @apply flex flex-shrink-0 justify-center items-center w-full overflow-hidden\n}\n\n.umay-main-menu #footer-links-wrapper {\n    @apply grid grid-flow-row auto-cols-max auto-rows-min w-full m-4 justify-center items-center overflow-hidden\n}\n\n.umay-main-menu #footer-link {\n    @apply flex items-center px-2 py-2 text-white bg-gray-100 bg-opacity-10 hover:text-gray-700 hover:bg-gray-100 hover:bg-opacity-75 focus:text-gray-400 focus:bg-gray-700 space-x-1 transition-color-short overflow-hidden\n}\n\n.umay-main-menu #footer-trigger {\n    @apply flex flex-shrink-0 w-full m-4 justify-center items-center text-white cursor-pointer transform hover:scale-110\n}\n\n.umay-main-menu-trigger-icon {\n    @apply w-8 h-8\n}\n\n/*</editor-fold>*/\n/*<editor-fold desc=\"Main Menu Transitions\">*/\n.umay-main-menu-show {\n    @apply m-0 opacity-100\n}\n\n.umay-main-menu-hide {\n    @apply -ml-72 opacity-0\n}\n\n.umay-main-menu-fold {\n    @apply w-[6.5rem]\n}\n\n.umay-main-menu-expand {\n    @apply w-80\n}\n\n.umay-main-menu-title-show {\n    @apply max-w-sm opacity-100 ml-1\n}\n\n.umay-main-menu-title-hide {\n    @apply ml-0 max-w-min opacity-0\n}\n\n/*</editor-fold>*/\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Abay Main Menu\">*/\n.abay-main-menu{\n    @apply relative bg-slate-50 dark:bg-slate-800 z-20 flex flex-col w-28 dark:border-slate-600 px-4 text-slate-700 dark:text-slate-200 select-none transition-size-medium\n}\n\n.abay-main-menu-show {\n    @apply m-0 opacity-100\n}\n\n.abay-main-menu-root-wrapper{\n    @apply flex flex-col flex-shrink-0 items-center justify-center w-20 py-[.5rem] rounded-md text-center cursor-pointer hover:bg-slate-100/10 transition-color-short\n}\n\n.abay-main-menu-root-link{\n    @apply flex flex-col justify-center items-center space-y-1\n}\n\n.abay-main-menu-hide {\n    @apply -ml-28 opacity-0\n}\n/*</editor-fold>*/\n"
  },
  {
    "path": "resources/css/layout/main.css",
    "content": ".main-container {\n    @apply flex justify-between bg-gray-100 h-screen dark:bg-gray-700 overflow-hidden\n}\n\n.content-wrapper {\n    @apply flex flex-col flex-shrink-0 sm:flex-shrink min-h-screen flex-grow p-4 space-y-6 overflow-y-auto  w-screen sm:w-full;\n}\n\n.content-container {\n    @apply relative flex flex-col flex-grow justify-between space-y-6 w-full;\n}\n\n/*Content Container -> Content Header*/\n.container-header {\n    @apply flex flex-col lg:justify-between items-center md:flex-row;\n}\n\n/*Content Header -> Page Header*/\n.container-header .page-header {\n    @apply flex flex-col flex-grow;\n}\n\n.page-header .page-title {\n    @apply mb-2 text-2xl lg:text-4xl font-semibold  dark:text-gray-200;\n}\n\n.page-header .page-subtitle {\n    @apply hidden md:block md:text-xl text-gray-600 ml-0.5 text-2xl font-semibold  dark:text-gray-400;\n}\n\n.container-header .page-action-buttons {\n    @apply flex flex-row items-center space-x-1;\n}\n"
  },
  {
    "path": "resources/css/layout/top-bar.css",
    "content": ".top-menu {\n    @apply flex flex-shrink-0 flex-grow-0 justify-between items-center h-16 px-4 bg-white dark:bg-gray-800 shadow-md dark:text-gray-200;\n}\n\n.top-menu .dropdown-container {\n    @apply bg-white dark:bg-gray-800 dark:text-gray-200 dark:drop-shadow-md shadow mt-2 rounded-md overflow-hidden;\n}\n\n.top-menu .dropdown-header {\n    @apply block px-4 py-2 text-xs text-gray-400 dark:text-gray-200\n}\n\n.top-menu .dropdown-item {\n    @apply block px-4 py-2 text-sm text-gray-500 dark:text-white font-semibold text-left hover:bg-gray-200 dark:hover:bg-opacity-10 w-full\n}\n\n.top-menu .dropdown-item-separator {\n    @apply border-t border-gray-200 dark:border-gray-600\n}\n\n.top-menu .lang-selector-container {\n    @apply flex flex-wrap px-4 py-1 w-full justify-center items-center;\n}\n.top-menu .lang-selector-item {\n    @apply transform hover:scale-110 p-1 transition-size-short;\n}\n\n.top-menu .lang-icon {\n    @apply w-8 h-8 cursor-pointer;\n}\n\n.top-menu .theme-icon {\n    @apply w-6 h-6 cursor-pointer;\n}\n\n.top-menu .logout-button {\n    @apply flex justify-center w-full px-4 py-2 bg-white hover:bg-red-500 text-red-500 hover:text-white dark:bg-red-500 dark:hover:bg-red-500 dark:hover:bg-opacity-50  dark:hover:text-white dark:text-white inline-flex h-full space-x-1 items-center focus:outline-none font-semibold cursor-pointer;\n}\n\n/*<editor-fold desc=\"Top Menu Trigger\">*/\n.top-menu .trigger {\n    @apply flex flex-shrink-0 p-2 justify-center items-center h-10 w-10 hover:bg-gray-200 dark:hover:bg-opacity-10 active:bg-gray-300 cursor-pointer overflow-hidden transition-color-short;\n}\n\n.top-menu .trigger-icon {\n    @apply flex-shrink-0 hover:scale-110 active:scale-90 transform transition-size-short;\n}\n\n.top-menu .trigger-icon-show {\n    @apply w-8 h-8 opacity-100 scale-100;\n}\n\n.top-menu .trigger-icon-hide {\n    @apply w-0 h-0 opacity-0 scale-0;\n}\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Top Menu Search Box\">*/\n.top-menu .search-box {\n    @apply flex flex-grow md:flex-grow-0 justify-start mr-2;\n}\n.top-menu .search-box-wrapper {\n    @apply p-2 w-10 h-10 hover:bg-gray-200 dark:hover:bg-opacity-10 active:bg-gray-300 cursor-pointer transition-color-short;\n}\n\n.search-box .search-icon {\n    @apply h-6 w-6 transform hover:scale-110 active:scale-90 transition-size-short;\n}\n.search-modal{\n    @apply w-2/3 md:w-1/2 bg-white dark:bg-gray-800 shadow-lg p-4 bg-opacity-90\n}\n.search-modal #search{\n    @apply w-full dark:bg-gray-600 dark:text-gray-200 rounded-md text-xl text-center text-gray-600\n}\n\n\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Top Menu Active Team\">*/\n.top-menu .active-team {\n    @apply hidden md:flex flex-grow justify-start items-center overflow-hidden\n}\n.top-menu .active-team-wrapper{\n    @apply flex justify-between items-center space-x-2 p-2 rounded-md border border-gray-300 dark:border-gray-600 text-gray-600 bg-opacity-50 dark:text-gray-400 overflow-hidden\n}\n.top-menu .active-team-label {\n    @apply flex whitespace-nowrap font-semibold overflow-hidden\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Top Menu Notification\">*/\n.top-menu .notification-box {\n    @apply relative flex justify-center items-center p-2 w-10 w-10 h-10 hover:bg-slate-500/10 dark:hover:bg-slate-500/50 active:bg-gray-300 cursor-pointer;\n}\n\n.top-menu .notification-icon {\n    @apply flex-shrink-0 w-6 h-6 hover:scale-110 active:scale-90 transform transition-size-short;\n}\n\n.top-menu .notification-ping {\n    @apply absolute top-0 right-0 w-2 h-2 mt-1 mr-2 bg-red-500 rounded-full\n}\n/*</editor-fold>*/\n\n/*<editor-fold desc=\"Top Menu User Menu\">*/\n.top-menu .user-menu-trigger {\n    @apply inline-flex items-center md:space-x-2 px-2\n}\n\n.user-menu-trigger .staff-info {\n    @apply hidden md:flex md:flex-col items-center pt-1 leading-tight;\n}\n\n.user-menu-trigger .staff-name {\n    @apply flex justify-end w-full font-semibold whitespace-nowrap ;\n}\n\n.staff-info .staff-title {\n    @apply flex justify-end w-full text-sm text-gray-500 dark:text-gray-400 whitespace-nowrap ;\n}\n\n.staff-photo .trigger-button {\n    @apply flex text-sm transition duration-150 ease-in-out border-2 border-transparent rounded-full focus:outline-none focus:border-gray-300;\n}\n\n.staff-photo img {\n    @apply object-cover w-full h-full rounded-full;\n}\n\n.user-menu .dropdown-list-container {\n    @apply bg-white dark:bg-gray-700 dark:text-white shadow mt-2 rounded-md overflow-hidden;\n}\n\n\n\n.top-menu .action-section {\n    @apply flex p-1 gap-2;\n}\n\n.action-section .trigger-button {\n    @apply relative p-2 text-gray-400 hover:bg-gray-100 hover:text-gray-600 focus:bg-gray-100 rounded-full focus:text-gray-600 focus:border-gray-300 focus:outline-none;\n}\n\n\n\n.theme-changer-container {\n    @apply flex justify-center space-x-2 py-2 mx-auto items-center\n}\n\n.theme-changer-button {\n    @apply flex justify-around p-1 items-center space-x-1 rounded-full font-semibold rounded-full text-gray-600 dark:text-white text-sm cursor-pointer overflow-hidden\n}\n/*Auto*/\n.theme-changer-button-auto {\n    @apply text-blue-600 dark:text-blue-600\n}\n.theme-changer-button-auto-active {\n    @apply bg-blue-500 text-white\n}\n/*Dark*/\n.theme-changer-button-dark {\n    @apply text-gray-600\n}\n.theme-changer-button-dark-active {\n    @apply bg-gray-700 text-white\n}\n/*Light*/\n.theme-changer-button-light {\n    @apply text-yellow-600 dark:text-yellow-600;\n}\n.theme-changer-button-light-active {\n     @apply bg-yellow-500 shadow-sm text-white;\n }\n.theme-changer-button-text {\n    @apply transition-size-long\n}\n\n/*</editor-fold>*/\n\n.top-menu-dropdown-trigger-transparent{\n    @apply flex justify-center items-center cursor-pointer w-10 h-10 hover:bg-slate-500/10 dark:hover:bg-slate-500/50\n}\n\n.top-menu-dropdown-content-wrapper-transparent{\n    @apply flex flex-col mt-3\n}\n\n.top-menu-dropdown-header-transparent{\n    @apply flex items-center text-sm font-semibold whitespace-nowrap space-x-2 px-2 py-1 bg-white text-slate-700 dark:text-slate-100 shadow-xl border-transparent dark:bg-gray-800/95 first:rounded-t active:scale-95 border-l border-b-0 border-r first:border-t dark:border-gray-500 cursor-pointer select-none transition duration-300\n}\n\n.top-menu-dropdown-item-transparent{\n    @apply flex items-center whitespace-nowrap space-x-2 px-2 py-1 bg-white text-slate-600 dark:text-slate-100 hover:bg-slate-200 shadow-xl border-slate-200/90 dark:bg-gray-800/95 dark:hover:bg-slate-600/90 first:rounded-t active:scale-95 last:rounded-b border-l border-b border-r first:border-t dark:border-gray-500 cursor-pointer select-none transition duration-300\n}\n\n.top-menu-dropdown-header{\n    @apply flex items-center text-sm font-semibold whitespace-nowrap space-x-2 px-2 py-1 bg-white text-slate-700 dark:text-slate-100 shadow-xl border-transparent dark:bg-gray-800/95 active:scale-95 border-l border-r dark:border-gray-500 cursor-pointer select-none transition duration-300\n}\n\n\n.top-menu-dropdown-item{\n    @apply flex items-center whitespace-nowrap space-x-2 px-2 py-1 bg-white text-slate-600 dark:text-slate-100 hover:bg-slate-200 shadow-xl border-transparent dark:bg-gray-800/95 dark:hover:bg-slate-600/90 active:scale-95 border-l border-r dark:border-gray-500 cursor-pointer select-none transition duration-300\n}\n"
  },
  {
    "path": "resources/css/layout/top-menu.css",
    "content": ""
  },
  {
    "path": "resources/css/misc/effect.css",
    "content": "/*Animations*/\n/*Color*/\n.transition-color-long {\n    transition-property: background-color, color, border-color, text-shadow;\n    transition-duration: 1000ms;\n}\n\n.transition-color-medium {\n    transition-property: background-color, color, border-color, text-shadow;\n    transition-duration: 700ms;\n}\n\n.transition-color-short {\n    transition-property: background-color, color, border-color, text-shadow;\n    transition-duration: 300ms;\n}\n\n/*Fade*/\n.transition-size-long {\n    transition-property: max-height, max-width, height, width, opacity, padding, margin, border-radius, transform;\n    transition-duration: 1000ms;\n}\n\n.transition-size-medium {\n    transition-property: max-height, max-width, height, width, opacity, padding, margin, border-radius, transform;\n    transition-duration: 700ms;\n}\n\n.transition-size-short {\n    transition-property: max-height, max-width, height, width, opacity, padding, margin, border-radius, transform;\n    transition-duration: 300ms;\n}\n\n/*Show Hide Effects*/\n.w-show {\n    @apply w-full opacity-100\n}\n\n.w-hide {\n    @apply w-0 opacity-0\n}\n\n.h-show {\n    @apply h-full opacity-100\n}\n\n.h-hide {\n    @apply h-0 opacity-0\n}\n"
  },
  {
    "path": "resources/css/misc/highlighter.css",
    "content": "pre{\n    @apply flex w-full\n}\n\npre code.hljs{\n    @apply block p-4\n}\n\ncode.hljs{\n    @apply flex w-full overflow-auto;\n}\n\ncode.hljs::-webkit-scrollbar{\n    @apply h-2 rounded-b-full;\n\n}\n\ncode.hljs::-webkit-scrollbar-track-piece{\n    @apply bg-slate-400/50 dark:bg-slate-500/50 mx-2 rounded-full\n}\n\n\ncode.hljs::-webkit-scrollbar-track {\n    @apply bg-transparent\n}\ncode.hljs::-webkit-scrollbar-thumb {\n    @apply bg-slate-500 dark:bg-slate-900 rounded-full\n}\n\n.hljs{\n    @apply flex bg-slate-200 dark:bg-slate-800 text-slate-600 dark:text-slate-300 overflow-hidden w-full\n}\n.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}\n\n.hljs-doctag,.hljs-formula,.hljs-keyword{\n    @apply text-pink-600\n}\n\n.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{\n    @apply text-rose-500\n}\n\n.hljs-literal{color:#56b6c2}\n\n.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}\n\n.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}\n\n.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}\n\n.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}\n\n.hljs-emphasis{font-style:italic}\n\n.hljs-strong{font-weight:700}\n\n.hljs-link{text-decoration:underline}\n"
  },
  {
    "path": "resources/js/Components/Alert/TAlert.vue",
    "content": "<template>\n    <transition name=\"alert\">\n        <!--Alert Container-->\n        <div\n            v-if=\"showAlertBox\"\n            class=\"alert\"\n            :class=\"[\n                `alert-${temporaryDesign}`,\n                !type ? `alert-${temporaryDesign}-${temporaryColor}` :\n                    [{ 'alert-success': type === 'success' },\n                    { 'alert-warning': type === 'warning' },\n                    { 'alert-danger': type === 'error' },\n                    { 'alert-info': type === 'info' }],\n                `radius-${temporaryRadius}`,\n            ]\"\n        >\n            <!--Alert Line-->\n            <div v-if=\"temporaryDesign.includes('line')\" class=\"alert-line\" />\n\n            <!--Alert Icon-->\n            <div v-if=\"hasSlot('icon')\" class=\"alert-icon\">\n                <slot name=\"icon\"></slot>\n            </div>\n\n            <!--Alert Content-->\n            <div class=\"alert-content\">\n                <!--Title-->\n                <span v-if=\"title\" class=\"alert-title\" v-text=\"title\"></span>\n                <!--Content-->\n                <span>\n                    <slot></slot>\n                </span>\n            </div>\n\n            <!--Close Icon-->\n            <icon icon=\"times\" v-if=\"temporaryCloseable\" @click=\"close\" class=\"alert-close\" />\n\n            <!--Countdown Line-->\n            <div v-if=\"temporaryTimer\" class=\"alert-countdown\">\n                <div\n                    class=\"alert-countdown-line\"\n                    :class=\"`radius-${temporaryRadius}`\"\n                    :style=\"{ width: countDownCounter + '%' }\"\n                ></div>\n            </div>\n        </div>\n    </transition>\n</template>\n<script>\n/* Main Functions */\nimport { defineComponent, inject, ref, toRefs, watch, useSlots} from \"vue\";\n\n/*Sources*/\nimport { alertConf } from \"@/config\";\n\n/*Import FontAwesomeIcon*/\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faTimes } from \"@fortawesome/free-solid-svg-icons\";\nlibrary.add(faTimes)\n\nexport default defineComponent({\n    name: \"TAlert\",\n    props: {\n        id: {\n            type: [Number, String, Array, Object, Date, Boolean],\n            default: function () {\n                return \"alert-\" + Number(new Date());\n            }\n        },\n        closeable: {\n            type: Boolean,\n            default: false\n        },\n        timerStatus: {\n            type: Boolean,\n            default: false,\n        },\n        timer: {\n            type: Number,\n            default: null,\n        },\n        title: {\n            type: String,\n            default: null\n        },\n        type: {\n            type: String,\n            default: null\n        },\n        radius: {\n            type: Number,\n            default: null\n        },\n        design: {\n            type: String,\n            default: \"filled\"\n        },\n        color: {\n            type: String,\n            default: \"light\"\n        }\n    },\n    emits: [\"destroy\"],\n\n    setup(props, { slots, emit }) {\n\n        /*Definitions*/\n        const { design, color, radius, closeable, timerStatus, timer, id } = toRefs(props);\n        const showAlertBox = ref(true);\n        const appConf = inject('appConf');\n\n        /*Temporary Definations*/\n        const temporaryDesign = ref(design.value ? design.value : alertConf.design ? alertConf.design : appConf.value.design)\n        const temporaryColor = ref(color.value ? color.value : alertConf.color ? alertConf.color : appConf.value.color)\n        const temporaryRadius = ref(radius.value ? radius.value : alertConf.radius ? alertConf.radius : appConf.value.radius)\n        const temporaryCloseable = ref(closeable.value ? closeable.value : alertConf.closeable ? alertConf.closeable : appConf.value.closeable)\n        const temporaryTimer = ref(timer.value ? timer.value : alertConf.timer ? alertConf.timer : appConf.value.timer)\n\n        /*Close Function*/\n        const close = () => {\n            showAlertBox.value = false;\n            emit(\"destroy\", id.value);\n        };\n\n        /*Timer*/\n        const timerCounter = ref(0);\n        const countDownCounter = ref(0);\n\n        watch(timerStatus, (newValue, oldValue) => {\n            if (timerStatus.value && !oldValue && newValue > 0) {\n                /*Timer Function*/\n                setTimeout(() => {\n                    showAlertBox.value = false;\n                    emit(\"destroy\", id.value);\n                }, temporaryTimer.value);\n\n                /*Count Down Function*/\n                let countDownFn = setInterval(() => {\n                    if (temporaryTimer.value >= timerCounter.value) {\n                        countDownCounter.value = 100 - (timerCounter.value / temporaryTimer.value) * 100;\n                        timerCounter.value += 4;\n                    } else {\n                        clearInterval(countDownFn);\n                    }\n                }, 1);\n            }\n        })\n\n        /*Slot Check*/\n        const hasSlot = name => !!useSlots()[name];\n\n        return {\n            appConf,\n            alertConf,\n            temporaryDesign,\n            temporaryColor,\n            temporaryRadius,\n            temporaryCloseable,\n            temporaryTimer,\n            showAlertBox,\n            countDownCounter,\n            timerCounter,\n            hasSlot,\n            close\n        };\n    }\n});\n</script>\n\n<style scoped>\n/* eslint-disable no-alert */\n.alert-enter-active,\n.alert-leave-active {\n    transition: all ease-in-out 1000ms;\n}\n\n.alert-enter-from,\n.alert-leave-to {\n    opacity: 0;\n}\n\n.alert-enter-to,\n.alert-leave-from {\n    opacity: 1;\n}\n\n/* eslint-disable no-alert */\n</style>\n"
  },
  {
    "path": "resources/js/Components/Auth/TForgot.vue",
    "content": "<template>\n    <full-screen-layout\n        :bg-image-url=\"activeDesign.bgImage[appearingMode]\"\n        :bg-color=\"activeDesign.bgColor\"\n    >\n        <!--Container-->\n        <div :class=\"[\n                'auth-container',\n                {'w-full' : deviceType === 'phone'},\n            ]\">\n            <!--Header-->\n            <div\n                class=\"auth-header\"\n                :class=\"[\n                        activeDesign.header,\n                        deviceType !== 'phone' && `radius-t-${activeDesign.radius ? activeDesign.radius : appConf.radius}`,\n                    ]\"\n            >\n                <!--Logo-->\n                <div class=\"auth-logo\">\n                    <slot v-if=\"$slots.logo\" name=\"logo\"/>\n                    <div v-else :class=\"authScreenConf.logoAreaClasses\">\n                        <img\n                            :src=\"temporaryLogo\"\n                            :class=\"authScreenConf.logoClasses\"\n                        />\n                        <span\n                            v-text=\"authScreenConf.appName ? authScreenConf.appName : appConf.appName\"\n                            :class=\"authScreenConf.appNameClasses\"\n                        ></span>\n                    </div>\n                </div>\n                <!--Greeting-->\n                <div class=\"auth-greeting\" v-if=\"status || $slots.greeting\">\n                    <div class=\"text-sm\">\n                        <!--Status-->\n                        <div v-if=\"status\" class=\"auth-status\">{{ status }}</div>\n                        <slot v-else name=\"greeting\"/>\n                    </div>\n                </div>\n            </div>\n\n            <!--Sub Greeting-->\n            <div v-if=\"$slots.subGreeting\" class=\"text-sm shadow p-2 bg-white bg-opacity-75 text-center font-semibold\">\n                <slot name=\"subGreeting\" />\n            </div>\n\n            <!--Form-->\n            <div\n                class=\"auth-form\"\n                :class=\"[\n                    deviceType !== 'phone' && `radius-b-${activeDesign.radius ? activeDesign.radius : appConf.radius}`,\n                    activeDesign.body,\n                ]\"\n            >\n                <form @submit.prevent=\"submit\">\n                    <!--Email-->\n                    <div class=\"mt-2\">\n                        <t-input-group\n                            :label=\"t('email')\"\n                            label-for=\"email\"\n                            :errors=\"v.email.$errors\"\n                        >\n                            <t-input-text\n                                id=\"email\"\n                                v-model=\"form.email\"\n                                @blur=\"v.email.$touch\"\n                                :radius=\"3\"\n                                autofocus\n                                autocomplete=\"username\"\n                                required\n                                type=\"email\"\n                            />\n                        </t-input-group>\n                    </div>\n\n                    <!--Submit Button-->\n                    <div class=\"auth-submit-area flex-col \">\n                        <!--Submit Button-->\n                        <t-button\n                            :class=\"{ 'opacity-25': form.processing }\"\n                            :color=\"activeDesign.forgotPassword.sendButton[appearingMode].color\"\n                            :design=\"activeDesign.forgotPassword.sendButton[appearingMode].design\"\n                            :disabled=\"form.processing\"\n                            :radius=\"3\"\n                            class=\"ml-4\"\n                            size=\"full\"\n                        >\n                            {{ tm('emailPasswordResetLink') }}\n                        </t-button>\n\n                        <!--Back Button-->\n                        <t-button\n                            :color=\"activeDesign.forgotPassword.backButton[appearingMode].color\"\n                            :design=\"activeDesign.forgotPassword.backButton[appearingMode].design\"\n                            :link=\"route('login')\"\n                            :radius=\"3\"\n                            class=\"mr-4\"\n                            type=\"link\"\n                        >\n                            {{ tm('backToLogin') }}\n                        </t-button>\n                    </div>\n                </form>\n            </div>\n        </div>\n\n        <!--Errors-->\n        <div class=\"auth-error\">\n            <transition @before-enter=\"beforeStyle\" @after-enter=\"enterStyle\">\n                <t-alert v-if=\"hasErrors\" :radius=\"deviceType !== 'phone' && 5\" color=\"red\">\n                    <template #icon>\n                        <t-bell-icon class=\"w-8 h-8\" />\n                    </template>\n                    <ul class=\"list-inside text-sm\">\n                        <li v-for=\"(error, key) in errors\" :key=\"key\">{{ error }}</li>\n                    </ul>\n                </t-alert>\n            </transition>\n        </div>\n\n        <!--Selectors-->\n        <div class=\"fixed bottom-0 flex z-50 w-full justify-center sm:justify-end space-x-6 p-6\">\n            <!--Language Selector-->\n            <t-tooltip\n                v-if=\"authScreenConf.showLanguageSelector\"\n                position=\"top\"\n                :border=\"false\"\n                :custom-style=\"true\"\n            >\n                <!--Selected Language-->\n                <div\n                    class=\"flex justify-center items-center group bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer overflow-hidden bg-cover\"\n                    :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n                >\n                    <component\n                        :is=\"languages.find(i => i.id === locale).flag\"\n                        class=\"flex flex-shrink-0 w-14 aspect-auto drop-shadow transform hover:scale-110 active:scale-90 hover:-rotate-12 transition-all duration-300\"\n                        :alt=\"languages.find(i => i.id === locale).name\"\n                    />\n                    <span\n                        class=\"absolute text-sm -top-2 -right-2 bg-slate-100/10 dark:bg-slate-800/50 backdrop-filter backdrop-blur text-slate-100 px-1 rounded\"\n                        v-text=\"languages.find(i => i.id === locale).id\"\n                    ></span>\n                </div>\n                <template #boxContent>\n                    <!--Language Lists-->\n                    <div class=\"top-menu-dropdown-content-wrapper-transparent mb-3\">\n                        <template v-for=\"lang in languages\" :key=\"lang.id\">\n                            <div\n                                @click=\"changeLang(lang.id)\"\n                                class=\"top-menu-dropdown-item-transparent\"\n                            >\n                                <component :is=\"lang.flag\" class=\"w-6 aspect-auto drop-shadow\"/>\n                                <span v-text=\"lang.name\"></span>\n                            </div>\n                        </template>\n                    </div>\n                </template>\n            </t-tooltip>\n            <!--Dark Mode-->\n            <div\n                v-if=\"authScreenConf.showDarkModeSelector\"\n                class=\"flex justify-center items-center bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer overflow-hidden\"\n                :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n                @click=\"changeTheme\"\n            >\n                <transition mode=\"out-in\" name=\"darkModeTransition\">\n                    <!-- Light -->\n                    <icon\n                        v-if=\"darkMode === 'light'\"\n                        icon=\"sun\"\n                        size=\"lg\"\n                        key=\"light\"\n                        :alt=\"tm('lightMode')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                    <!-- Auto -->\n                    <icon\n                        v-else-if=\"darkMode === 'auto'\"\n                        icon=\"palette\"\n                        size=\"lg\"\n                        key=\"auto\"\n                        :alt=\"tm('auto')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                    <!-- Dark -->\n                    <icon\n                        v-else\n                        icon=\"moon\"\n                        size=\"lg\"\n                        key=\"dark\"\n                        :alt=\"tm('darkMode')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                </transition>\n            </div>\n            <!--Change Background-->\n            <div\n                v-if=\"authScreenConf.showDesignChanger && authDesigns.length > 1\"\n                @click=\"changeBg\"\n                class=\"flex justify-center items-center group bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer\"\n                :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n            >\n                <icon\n                    icon=\"redo\"\n                    class=\"transform group-hover:scale-110 group-active:scale-90 transition-transform duration-300\"\n                />\n            </div>\n        </div>\n    </full-screen-layout>\n</template>\n\n<script>\n/*Main functions*/\nimport { defineComponent, computed, ref } from \"vue\";\nimport {useForm} from \"@inertiajs/vue3\";\nimport { forgotPasswordStyleMixin } from \"@/Mixins/Styles/forgotPasswordStyleMixin\";\nimport windowSizeCalculator from \"@/Functions/windowSizeCalculator\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {email, helpers, required} from \"@vuelidate/validators\";\nimport {useDarkModeStore} from \"@/Stores/darkMode.js\";\n\n/*Components*/\nimport FullScreenLayout from \"@/Layouts/FullScreenLayout.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\nimport TBellIcon from \"@/Components/Icon/TBellIcon.vue\";\nimport TTooltip from \"@/Components/Tooltip/TTooltip.vue\";\n\n/*Sources*/\nimport {appConf, authScreenConf, badgeConf} from \"@/config\";\nimport {authDesigns} from \"@/Sources/authScreenDesigns\";\n\n/* Multi language */\nimport {useI18n} from \"vue-i18n\";\nimport {useDisplayLanguageStore} from \"@/Stores/displayLanguage.js\";\nimport {languages, authTranslates} from \"@/Lang/languages\";\n\n/*Fontawesome icons*/\nimport {library} from \"@fortawesome/fontawesome-svg-core\";\nimport {faSun, faMoon, faPalette, faRedo, faKey, faBell} from \"@fortawesome/free-solid-svg-icons\";\nimport { storeToRefs } from \"pinia\";\n\nlibrary.add(faSun, faMoon, faPalette, faRedo, faKey, faBell)\n\nexport default defineComponent({\n    name: \"TForgot\",\n    components: {\n        TBellIcon,\n        TAlert, TButton, TInputText, TInputGroup, FullScreenLayout, TTooltip\n    },\n    mixins: [forgotPasswordStyleMixin],\n    props: {\n        status: String,\n        color: {\n            type: String,\n            default: \"gradient-red-to-pink\"\n        },\n        buttonDesign: {\n            type: String,\n            default: \"filled\"\n        },\n        buttonColor: {\n            type: String,\n            default: \"green\"\n        },\n        bgColor: {\n            type: String,\n            default: \"solid-gray\"\n        },\n        bgGradientDirection: {\n            type: String\n        },\n        bgImage: {\n            type: String\n        }\n    },\n    setup() {\n        /*Device type*/\n        const {deviceType} = windowSizeCalculator();\n\n        /* Dark Mode */\n        const darkModeStore = useDarkModeStore()\n        const {changeTheme} = darkModeStore;\n        const {darkMode, appearingMode} = storeToRefs(darkModeStore);\n\n        /* Multi-language */\n        const displayLanguageStore = useDisplayLanguageStore()\n        const {changeLang} = displayLanguageStore;\n        const {locale} = storeToRefs(displayLanguageStore);\n\n        const {t, tm} = useI18n({\n            inheritLocale: true,\n            messages: authTranslates,\n        });\n\n        /* Form */\n        const form = useForm({\n            email: \"\",\n        });\n\n        /* Client-side Validation */\n        const rules = ref({\n            email: {\n                required: helpers.withMessage(tm('validationMessage.email.required'), required),\n                email: helpers.withMessage(tm('validationMessage.email.email'), email)\n            }\n        });\n        const v = useVuelidate(rules, form, {$lazy: true});\n\n        /*Submit*/\n        const submit = async () => {\n            if (!(await v.value.$validate())) {\n                return;\n            }\n            form.post(route(\"password.email\"), {\n                onFinish: () => form.reset(\"email\"),\n            });\n        };\n\n        /*Logo SRC*/\n        /*Temporary Definitions*/\n        const temporaryLogo = computed(()=>{\n            let logo;\n\n\n            if(appearingMode.value === 'dark'){\n                if(activeDesign.value.logo.dark){\n                    logo = activeDesign.value.logo.dark\n                }else if(authScreenConf.logo.dark) {\n                    logo = authScreenConf.darkLogo\n                }else{\n                    logo = appConf.logo.dark\n                }\n            } else {\n                if(activeDesign.value.logo.light){\n                    logo = activeDesign.value.logo.light\n                }else if(authScreenConf.logo.light) {\n                    logo = authScreenConf.logo.light\n                }else{\n                    logo = appConf.logo.light\n                }\n            }\n\n            return logo;\n        });\n\n        /*Design Template Changer*/\n        const activeDesignIndex = ref(0)\n        const changeBg = () => {\n            if (authDesigns.length - 1 > activeDesignIndex.value) {\n                activeDesignIndex.value++\n            } else {\n                activeDesignIndex.value = 0\n            }\n        };\n        const activeDesign = computed(() => {\n            return authDesigns[activeDesignIndex.value]\n        })\n\n\n        return {\n            authDesigns,\n            form,\n            darkMode,\n            appearingMode,\n            changeLang,\n            changeTheme,\n            changeBg,\n            activeDesign,\n            submit,\n            languages,\n            locale,\n            deviceType,\n            appConf,\n            authScreenConf,\n            temporaryLogo,\n            t,\n            tm,\n            v\n        };\n    },\n\n    methods: {\n\n        beforeStyle(event) {\n            event.style.opacity = 0;\n        },\n        enterStyle(event) {\n            event.style.opacity = 1;\n            event.style.transition = `all 1s linear`;\n        }\n    },\n    computed: {\n        errors() {\n            return this.$page.props.errors;\n        },\n\n        hasErrors() {\n            return Object.keys(this.errors).length > 0;\n        }\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Auth/TLock.vue",
    "content": "<template>\n    <full-screen-layout :bg-image-url=\"activeDesign.bgImage[appearingMode]\" :bg-color=\"activeDesign.bgColor\">\n        <div :class=\"['relative']\">\n            <!--Avatar-->\n            <div class=\"auth-avatar-container\">\n                <div class=\"auth-avatar\">\n                    <t-avatar :alt=\"$page.props.auth.user?.name\" :radius=\"8\" :size=\"7\"\n                        :src=\"$page.props.auth.user.profile_photo_url\" />\n                </div>\n            </div>\n            <!--Container-->\n            <div :class=\"[\n                deviceType !== 'phone' && radiusStyle\n            ]\">\n                <form @submit.prevent=\"submit\">\n                    <!--Form-->\n                    <div :class=\"[\n                        'auth-lock-form',\n                        calculatedLockStyle,\n                        deviceType !== 'phone' && radiusStyle\n                    ]\">\n                        <!--Name-->\n                        <div class=\"auth-name\">\n                            {{ $page.props.auth.user.name }}\n                        </div>\n                        <!--Password-->\n                        <t-input-group :radius=\"5\" class=\"relative\" label-for=\"password\">\n                            <t-input-text\n                                id=\"password\"\n                                v-model=\"form.password\"\n                                :radius=\"3\"\n                                :placeholder=\"tm('password')\"\n                            >\n                                <template #icon>\n                                    <t-user-circle-icon class=\"w-5 h-5\" />\n                                </template>\n                            </t-input-text>\n                        </t-input-group>\n\n                        <!--Submit Button-->\n                        <t-button\n                            :class=\"{ 'opacity-25': form.processing }\"\n                            :color=\"activeDesign.lock.reLoginButton[appearingMode].color\"\n                            :design=\"activeDesign.lock.reLoginButton[appearingMode].design\"\n                            :disabled=\"form.processing\"\n                            :radius=\"3\"\n                            size=\"full\"\n                        >{{ t('reLogin') }}\n                        </t-button>\n                    </div>\n                </form>\n            </div>\n\n            <!--Errors-->\n            <div class=\"auth-error\">\n                <transition @before-enter=\"beforeStyle\" @after-enter=\"enterStyle\">\n                    <t-alert v-if=\"hasErrors\" :radius=\"deviceType !== 'phone' && 5\" color=\"red\">\n                        <template #icon>\n                            <t-bell-icon class=\"w-8 h-8\" />\n                        </template>\n                        <ul class=\"list-inside text-sm\">\n                            <li v-for=\"(error, key) in errors\" :key=\"key\">{{ error }}</li>\n                        </ul>\n                    </t-alert>\n                </transition>\n            </div>\n\n\n        </div>\n\n        <!--Selectors-->\n        <div class=\"fixed bottom-0 flex z-50 w-full justify-center sm:justify-end space-x-6 p-6\">\n            <!--Language Selector-->\n            <t-tooltip\n                v-if=\"authScreenConf.showLanguageSelector\"\n                position=\"top\"\n                :border=\"false\"\n                :custom-style=\"true\"\n            >\n                <!--Selected Language-->\n                <div\n                    class=\"flex justify-center items-center group bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer overflow-hidden bg-cover\"\n                    :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n                >\n                    <component\n                        :is=\"languages.find(i => i.id === locale).flag\"\n                        class=\"flex flex-shrink-0 w-14 aspect-auto drop-shadow transform hover:scale-110 active:scale-90 hover:-rotate-12 transition-all duration-300\"\n                        :alt=\"languages.find(i => i.id === locale).name\"\n                    />\n                    <span\n                        class=\"absolute text-sm -top-2 -right-2 bg-slate-100/10 dark:bg-slate-800/50 backdrop-filter backdrop-blur text-slate-100 px-1 rounded\"\n                        v-text=\"languages.find(i => i.id === locale).id\"\n                    ></span>\n                </div>\n                <template #boxContent>\n                    <!--Language Lists-->\n                    <div class=\"top-menu-dropdown-content-wrapper-transparent mb-3\">\n                        <template v-for=\"lang in languages\" :key=\"lang.id\">\n                            <div\n                                @click=\"changeLang(lang.id)\"\n                                class=\"top-menu-dropdown-item-transparent\"\n                            >\n                                <component :is=\"lang.flag\" class=\"w-6 aspect-auto drop-shadow\"/>\n                                <span v-text=\"lang.name\"></span>\n                            </div>\n                        </template>\n                    </div>\n                </template>\n            </t-tooltip>\n            <!--Dark Mode-->\n            <div\n                v-if=\"authScreenConf.showDarkModeSelector\"\n                class=\"flex justify-center items-center bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer overflow-hidden\"\n                :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n                @click=\"changeTheme\"\n            >\n                <transition mode=\"out-in\" name=\"darkModeTransition\">\n                    <!-- Light -->\n                    <icon\n                        v-if=\"darkMode === 'light'\"\n                        icon=\"sun\"\n                        size=\"lg\"\n                        key=\"light\"\n                        :alt=\"tm('lightMode')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                    <!-- Auto -->\n                    <icon\n                        v-else-if=\"darkMode === 'auto'\"\n                        icon=\"palette\"\n                        size=\"lg\"\n                        key=\"auto\"\n                        :alt=\"tm('auto')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                    <!-- Dark -->\n                    <icon\n                        v-else\n                        icon=\"moon\"\n                        size=\"lg\"\n                        key=\"dark\"\n                        :alt=\"tm('darkMode')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                </transition>\n            </div>\n            <!--Change Background-->\n            <div\n                v-if=\"authScreenConf.showDesignChanger && authDesigns.length > 1\"\n                @click=\"changeBg\"\n                class=\"flex justify-center items-center group bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer\"\n                :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n            >\n                <icon\n                    icon=\"redo\"\n                    class=\"transform group-hover:scale-110 group-active:scale-90 transition-transform duration-300\"\n                />\n            </div>\n        </div>\n    </full-screen-layout>\n</template>\n\n<script>\n/*Main functions*/\nimport { defineComponent, computed, ref } from \"vue\";\nimport {useForm} from \"@inertiajs/vue3\";\nimport { lockStyleMixin } from \"@/Mixins/Styles/lockStyleMixin\";\nimport windowSizeCalculator from \"@/Functions/windowSizeCalculator\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {helpers, required} from \"@vuelidate/validators\";\nimport {useDarkModeStore} from \"@/Stores/darkMode.js\";\n\n/*Components*/\nimport FullScreenLayout from \"@/Layouts/FullScreenLayout.vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\nimport TBellIcon from \"@/Components/Icon/TBellIcon.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TUserCircleIcon from \"@/Components/Icon/TUserCircleIcon.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TTooltip from \"@/Components/Tooltip/TTooltip.vue\";\n\n/*Sources*/\nimport {appConf, authScreenConf, badgeConf} from \"@/config\";\nimport {authDesigns} from \"@/Sources/authScreenDesigns\";\n\n/* Multi language */\nimport {useI18n} from \"vue-i18n\";\nimport {useDisplayLanguageStore} from \"@/Stores/displayLanguage.js\";\nimport {languages, authTranslates} from \"@/Lang/languages\";\n\n/*Fontawesome icons*/\nimport {library} from \"@fortawesome/fontawesome-svg-core\";\nimport {faSun, faMoon, faPalette, faRedo, faKey, faBell} from \"@fortawesome/free-solid-svg-icons\";\nimport { storeToRefs } from \"pinia\";\n\nlibrary.add(faSun, faMoon, faPalette, faRedo, faKey, faBell)\n\nexport default defineComponent({\n    name: \"TLock\",\n    components: { TButton, TAvatar, TUserCircleIcon, TInputText, TInputGroup, TBellIcon, TAlert, FullScreenLayout, TTooltip },\n    mixins: [lockStyleMixin],\n    props: {\n        buttonColor: {\n            type: String,\n            default: \"solid-green\"\n        },\n        buttonDesign: {\n            type: String,\n            default: \"filled\"\n        },\n        bgColor: {\n            type: String,\n            default: \"gray\"\n        },\n        bgGradientDirection: {\n            type: String\n        },\n        bgImage: {\n            type: String\n        },\n        buttonText: {\n            type: String,\n            default: \"Re-Login\"\n        }\n    },\n    setup() {\n        /*Device type*/\n        const { deviceType } = windowSizeCalculator();\n\n        /* Dark Mode */\n        const darkModeStore = useDarkModeStore()\n        const {changeTheme} = darkModeStore;\n        const {darkMode, appearingMode} = storeToRefs(darkModeStore);\n\n        /* Multi-language */\n        const displayLanguageStore = useDisplayLanguageStore()\n        const {changeLang} = displayLanguageStore;\n        const {locale} = storeToRefs(displayLanguageStore);\n\n        const {t, tm} = useI18n({\n            inheritLocale: true,\n            messages: authTranslates,\n        });\n\n        /* Form */\n        const form = useForm({\n            password: \"\",\n        });\n\n        /* Client-side Validation */\n        const rules = ref({\n            password: {\n                required: helpers.withMessage(tm('validationMessage.password.required'), required)\n            },\n        });\n        const v = useVuelidate(rules, form, {$lazy: true});\n\n        /*Submit*/\n        const submit = async () => {\n            if (!(await v.value.$validate())) {\n                return;\n            }\n            form.post(route(\"unlock\"), {\n                onFinish: () => form.reset(\"password\"),\n            });\n        };\n\n        /*Design Template Changer*/\n        const activeDesignIndex = ref(0)\n        const changeBg = () => {\n            if (authDesigns.length - 1 > activeDesignIndex.value) {\n                activeDesignIndex.value++\n            } else {\n                activeDesignIndex.value = 0\n            }\n        };\n        const activeDesign = computed(() => {\n            return authDesigns[activeDesignIndex.value]\n        })\n\n        return {\n            authDesigns,\n            form,\n            darkMode,\n            appearingMode,\n            changeLang,\n            changeTheme,\n            changeBg,\n            activeDesign,\n            submit,\n            languages,\n            locale,\n            deviceType,\n            appConf,\n            authScreenConf,\n            t,\n            tm,\n            v\n        };\n    },\n    methods: {\n        beforeStyle(event) {\n            event.style.opacity = 0;\n        },\n        enterStyle(event) {\n            event.style.opacity = 1;\n            event.style.transition = `all 1s linear`;\n        }\n    },\n    computed: {\n        errors() {\n            return this.$page.props.errors;\n        },\n\n        hasErrors() {\n            return Object.keys(this.errors).length > 0;\n        }\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Auth/TLogin.vue",
    "content": "<template>\n    <full-screen-layout\n        :bg-image-url=\"activeDesign.bgImage[appearingMode]\"\n        :bg-color=\"activeDesign.bgColor\"\n    >\n\n        <!--Container-->\n        <div :class=\"[\n                'auth-container',\n                {'w-full' : deviceType === 'phone'},\n            ]\">\n            <!--Header-->\n            <div\n                class=\"auth-header\"\n                :class=\"[\n                        activeDesign.header,\n                        deviceType !== 'phone' && `radius-t-${activeDesign.radius ? activeDesign.radius : appConf.radius}`,\n                    ]\"\n            >\n                <!--Logo-->\n                <div class=\"auth-logo\">\n                    <slot v-if=\"$slots.logo\" name=\"logo\"/>\n                    <div v-else :class=\"authScreenConf.logoAreaClasses\">\n                        <img\n                            :src=\"temporaryLogo\"\n                            :class=\"authScreenConf.logoClasses\"\n                        />\n                        <span\n                            v-text=\"authScreenConf.appName ? authScreenConf.appName : appConf.appName\"\n                            :class=\"authScreenConf.appNameClasses\"\n                        ></span>\n                    </div>\n                </div>\n                <!--Greeting-->\n                <div class=\"auth-greeting\" v-if=\"status || $slots.greeting\">\n                    <div class=\"text-sm\">\n                        <!--Status-->\n                        <div v-if=\"status\" class=\"auth-status\">{{ status }}</div>\n                        <slot v-else name=\"greeting\"/>\n                    </div>\n                </div>\n            </div>\n\n            <!--Form-->\n            <div\n                class=\"auth-form\"\n                :class=\"[\n                        deviceType !== 'phone' && `radius-b-${activeDesign.radius ? activeDesign.radius : appConf.radius}`,\n                        activeDesign.body,\n                    ]\"\n            >\n                <form @submit.prevent=\"submit\">\n                    <!--Email-->\n                    <div>\n                        <t-input-group\n                            :label=\"t('email')\"\n                            label-for=\"email\"\n                            :errors=\"v.email.$errors\"\n                        >\n                            <t-input-text\n                                id=\"email\"\n                                v-model=\"form.email\"\n                                @blur=\"v.email.$touch\"\n                                :radius=\"3\"\n                                autofocus\n                                autocomplete=\"username\"\n                                required\n                                type=\"email\"\n                            />\n                        </t-input-group>\n                    </div>\n                    <!--Password-->\n                    <div class=\"mt-4\">\n                        <t-input-group\n                            :label=\"t('password')\"\n                            label-for=\"password\"\n                            :errors=\"v.password.$errors\"\n                        >\n                            <t-input-text\n                                id=\"password\"\n                                v-model=\"form.password\"\n                                @blur=\"v.password.$touch\"\n                                :radius=\"3\"\n                                autocomplete=\"current-password\"\n                                required\n                                type=\"password\"\n                            />\n                        </t-input-group>\n                    </div>\n\n                    <div class=\"auth-remember\">\n                        <!--Remember Me-->\n                        <label class=\"flex items-center\">\n                            <t-input-check-box\n                                id=\"remember\"\n                                v-model=\"form.remember\"\n                                :label=\"t('rememberMe')\"\n                            >\n                                <template #icon>\n                                    <icon icon=\"key\" size=\"sm\"/>\n                                </template>\n                            </t-input-check-box>\n                        </label>\n\n                        <!--Forgot Password-->\n                        <Link\n                            v-if=\"canResetPassword\"\n                            :href=\"route('password.request')\"\n                            class=\"auth-forgot-password\"\n                        >{{ t('forgotPassword') }}\n                        </Link>\n                    </div>\n                    <!--Submit Area-->\n                    <div class=\"auth-submit-area\">\n                        <!--Register Button-->\n                        <t-button\n                            :class=\"{ 'opacity-25': form.processing }\"\n                            :design=\"activeDesign.login.registerButton[appearingMode].design\"\n                            :color=\"activeDesign.login.registerButton[appearingMode].color\"\n                            :link=\"route('register')\"\n                            :radius=\"3\"\n                            type=\"link\"\n                        >{{ t('register') }}\n                        </t-button>\n\n                        <!--Submit Button-->\n                        <t-button\n                            :class=\"{ 'opacity-25': form.processing }\"\n                            :color=\"activeDesign.login.loginButton[appearingMode].color\"\n                            :design=\"activeDesign.login.loginButton[appearingMode].design\"\n                            :disabled=\"form.processing\"\n                            :radius=\"3\"\n                            class=\"ml-4\"\n                        >{{ t('login') }}\n                        </t-button>\n                    </div>\n                </form>\n            </div>\n        </div>\n\n        <!--Errors-->\n        <div class=\"auth-error\">\n            <transition @before-enter=\"beforeStyle\" @after-enter=\"enterStyle\">\n                <t-alert v-if=\"hasErrors\" :radius=\"deviceType !== 'phone' && 5\" color=\"danger\">\n                    <template #icon>\n                        <icon icon=\"bell\" size=\"lg\"/>\n                    </template>\n                    <ul class=\"list-inside text-sm\">\n                        <li v-for=\"(error, key) in errors\" :key=\"key\">{{ error }}</li>\n                    </ul>\n                </t-alert>\n            </transition>\n        </div>\n\n\n        <!--Selectors-->\n        <div class=\"fixed bottom-0 flex z-50 w-full justify-center sm:justify-end space-x-6 p-6\">\n            <!--Language Selector-->\n            <t-tooltip\n                v-if=\"authScreenConf.showLanguageSelector\"\n                position=\"top\"\n                :border=\"false\"\n                :custom-style=\"true\"\n            >\n                <!--Selected Language-->\n                <div\n                    class=\"flex justify-center items-center group bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer overflow-hidden bg-cover\"\n                    :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n                >\n                    <component\n                        :is=\"languages.find(i => i.id === locale).flag\"\n                        class=\"flex flex-shrink-0 w-14 aspect-auto drop-shadow transform hover:scale-110 active:scale-90 hover:-rotate-12 transition-all duration-300\"\n                        :alt=\"languages.find(i => i.id === locale).name\"\n                    />\n                    <span\n                        class=\"absolute text-sm -top-2 -right-2 bg-slate-100/10 dark:bg-slate-800/50 backdrop-filter backdrop-blur text-slate-100 px-1 rounded\"\n                        v-text=\"languages.find(i => i.id === locale).id\"\n                    ></span>\n                </div>\n                <template #boxContent>\n                    <!--Language Lists-->\n                    <div class=\"top-menu-dropdown-content-wrapper-transparent mb-3\">\n                        <template v-for=\"lang in languages\" :key=\"lang.id\">\n                            <div\n                                @click=\"changeLang(lang.id)\"\n                                class=\"top-menu-dropdown-item-transparent\"\n                            >\n                                <component :is=\"lang.flag\" class=\"w-6 aspect-auto drop-shadow\"/>\n                                <span v-text=\"lang.name\"></span>\n                            </div>\n                        </template>\n                    </div>\n                </template>\n            </t-tooltip>\n            <!--Dark Mode-->\n            <div\n                v-if=\"authScreenConf.showDarkModeSelector\"\n                class=\"flex justify-center items-center bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer overflow-hidden\"\n                :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n                @click=\"changeTheme\"\n            >\n                <transition mode=\"out-in\" name=\"darkModeTransition\">\n                    <!-- Light -->\n                    <icon\n                        v-if=\"darkMode === 'light'\"\n                        icon=\"sun\"\n                        size=\"lg\"\n                        key=\"light\"\n                        :alt=\"tm('lightMode')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                    <!-- Auto -->\n                    <icon\n                        v-else-if=\"darkMode === 'auto'\"\n                        icon=\"palette\"\n                        size=\"lg\"\n                        key=\"auto\"\n                        :alt=\"tm('auto')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                    <!-- Dark -->\n                    <icon\n                        v-else\n                        icon=\"moon\"\n                        size=\"lg\"\n                        key=\"dark\"\n                        :alt=\"tm('darkMode')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                </transition>\n            </div>\n            <!--Change Background-->\n            <div\n                v-if=\"authScreenConf.showDesignChanger && authDesigns.length > 1\"\n                @click=\"changeBg\"\n                class=\"flex justify-center items-center group bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer\"\n                :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n            >\n                <icon\n                    icon=\"redo\"\n                    class=\"transform group-hover:scale-110 group-active:scale-90 transition-transform duration-300\"\n                />\n            </div>\n        </div>\n    </full-screen-layout>\n</template>\n\n<script>\n/*Main functions*/\nimport {defineComponent, computed, ref} from \"vue\";\nimport {loginStyleMixin} from \"@/Mixins/Styles/loginStyleMixin\";\nimport {Link, useForm} from \"@inertiajs/vue3\";\nimport windowSizeCalculator from \"@/Functions/windowSizeCalculator\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {email, helpers, required} from \"@vuelidate/validators\";\nimport {useDarkModeStore} from \"@/Stores/darkMode.js\";\n\n/*Components*/\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\nimport TBellIcon from \"@/Components/Icon/TBellIcon.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport FullScreenLayout from \"@/Layouts/FullScreenLayout.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TDropdown from \"@/Components/Dropdown/TDropdown.vue\";\nimport TTooltip from \"@/Components/Tooltip/TTooltip.vue\";\nimport TInputCheckBox from \"@/Components/Form/Inputs/TInputCheckBox.vue\";\n\n/*Sources*/\nimport {appConf, authScreenConf, badgeConf} from \"@/config\";\nimport {authDesigns} from \"@/Sources/authScreenDesigns\";\n\n/* Multi language */\nimport {useI18n} from \"vue-i18n\";\nimport {useDisplayLanguageStore} from \"@/Stores/displayLanguage.js\";\nimport {languages, authTranslates} from \"@/Lang/languages\";\n\n/*Fontawesome icons*/\nimport {library} from \"@fortawesome/fontawesome-svg-core\";\nimport {faSun, faMoon, faPalette, faRedo, faKey, faBell} from \"@fortawesome/free-solid-svg-icons\";\nimport { storeToRefs } from \"pinia\";\n\nlibrary.add(faSun, faMoon, faPalette, faRedo, faKey, faBell)\n\nexport default defineComponent({\n    name: \"TLogin\",\n    components: {\n        TInputCheckBox,\n        TTooltip,\n        TAlert,\n        TBellIcon,\n        TButton,\n        TDropdown,\n        FullScreenLayout,\n        TInputGroup,\n        TInputText,\n        Link\n    },\n    mixins: [loginStyleMixin],\n    props: {\n        canResetPassword: Boolean,\n        status: String,\n    },\n    setup(props) {\n        /*Device type*/\n        const {deviceType} = windowSizeCalculator();\n\n        /* Dark Mode */\n        const darkModeStore = useDarkModeStore()\n        const {changeTheme} = darkModeStore;\n        const {darkMode, appearingMode} = storeToRefs(darkModeStore);\n\n        /* Multi-language */\n        const displayLanguageStore = useDisplayLanguageStore()\n        const {changeLang} = displayLanguageStore;\n        const {locale} = storeToRefs(displayLanguageStore);\n\n        const {t, tm} = useI18n({\n            inheritLocale: true,\n            messages: authTranslates,\n        });\n\n        /* Login */\n        const form = useForm({\n            email: \"\",\n            password: \"\",\n            remember: false,\n        });\n\n\n        /* Client-side Validation */\n        const rules = ref({\n            email: {\n                required: helpers.withMessage(tm('validationMessage.email.required'), required),\n                email: helpers.withMessage(tm('validationMessage.email.email'), email)\n            },\n            password: {\n                required: helpers.withMessage(tm('validationMessage.password.required'), required)\n            },\n        });\n        const v = useVuelidate(rules, form, {$lazy: true});\n\n        /*Submit*/\n        const submit = async () => {\n            if (!(await v.value.$validate())) {\n                return;\n            }\n            form\n                .transform((data) => ({\n                    ...data,\n                    remember: form.remember ? \"on\" : \"\",\n                }))\n                .post(route(\"login\"), {\n                    onFinish: () => form.reset(\"password\"),\n                });\n        };\n\n        /*Logo SRC*/\n        /*Temporary Definitions*/\n        const temporaryLogo = computed(()=>{\n            let logo;\n\n\n            if(appearingMode.value === 'dark'){\n                if(activeDesign.value.logo.dark){\n                    logo = activeDesign.value.logo.dark\n                }else if(authScreenConf.logo.dark) {\n                    logo = authScreenConf.darkLogo\n                }else{\n                    logo = appConf.logo.dark\n                }\n            } else {\n                if(activeDesign.value.logo.light){\n                    logo = activeDesign.value.logo.light\n                }else if(authScreenConf.logo.light) {\n                    logo = authScreenConf.logo.light\n                }else{\n                    logo = appConf.logo.light\n                }\n            }\n\n            return logo;\n        });\n\n        /*Design Template Changer*/\n        const activeDesignIndex = ref(0)\n        const changeBg = () => {\n            if (authDesigns.length - 1 > activeDesignIndex.value) {\n                activeDesignIndex.value++\n            } else {\n                activeDesignIndex.value = 0\n            }\n        };\n        const activeDesign = computed(() => {\n            return authDesigns[activeDesignIndex.value]\n        })\n\n        return {\n            authDesigns,\n            form,\n            darkMode,\n            appearingMode,\n            changeLang,\n            changeTheme,\n            changeBg,\n            activeDesign,\n            submit,\n            languages,\n            locale,\n            deviceType,\n            appConf,\n            authScreenConf,\n            temporaryLogo,\n            t,\n            tm,\n            v\n        };\n    },\n\n    methods: {\n        beforeStyle(event) {\n            event.style.opacity = 0;\n        },\n        enterStyle(event) {\n            event.style.opacity = 1;\n            event.style.transition = `all 1s linear`;\n        }\n    },\n    computed: {\n        errors() {\n            return this.$page.props.errors;\n        },\n\n        hasErrors() {\n            return Object.keys(this.errors).length > 0;\n        }\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Auth/TRegister.vue",
    "content": "<template>\n    <full-screen-layout\n        :bg-image-url=\"activeDesign.bgImage[appearingMode]\"\n        :bg-color=\"activeDesign.bgColor\"\n    >\n        <!--Container-->\n        <div :class=\"[\n                'auth-container',\n                {'w-full' : deviceType === 'phone'},\n            ]\">\n            <!--Header-->\n            <div\n                class=\"auth-header\"\n                :class=\"[\n                        activeDesign.header,\n                        deviceType !== 'phone' && `radius-t-${activeDesign.radius ? activeDesign.radius : appConf.radius}`,\n                    ]\"\n            >\n                <!--Logo-->\n                <div class=\"auth-logo\">\n                    <slot v-if=\"$slots.logo\" name=\"logo\"/>\n                    <div v-else :class=\"authScreenConf.logoAreaClasses\">\n                        <img\n                            :src=\"temporaryLogo\"\n                            :class=\"authScreenConf.logoClasses\"\n                        />\n                        <span\n                            v-text=\"authScreenConf.appName ? authScreenConf.appName : appConf.appName\"\n                            :class=\"authScreenConf.appNameClasses\"\n                        ></span>\n                    </div>\n                </div>\n                <!--Greeting-->\n                <div class=\"auth-greeting\" v-if=\"status || $slots.greeting\">\n                    <div class=\"text-sm\">\n                        <!--Status-->\n                        <div v-if=\"status\" class=\"auth-status\">{{ status }}</div>\n                        <slot v-else name=\"greeting\"/>\n                    </div>\n                </div>\n            </div>\n\n            <!--Form-->\n            <div\n                class=\"auth-form\"\n                :class=\"[\n                        deviceType !== 'phone' && `radius-b-${activeDesign.radius ? activeDesign.radius : appConf.radius}`,\n                        activeDesign.body,\n                    ]\"\n            >\n            <form @submit.prevent=\"submit\">\n                <!--Name-->\n                <div>\n                    <t-input-group\n                        :label=\"t('name')\"\n                        label-for=\"name\"\n                        :errors=\"v.name.$errors\"\n                    >\n                        <t-input-text\n                            id=\"name\"\n                            v-model=\"form.name\"\n                            @blur=\"v.name.$touch\"\n                            :radius=\"3\"\n                            autocomplete=\"name\"\n                            autofocus\n                            required\n                            type=\"text\"\n                        />\n                    </t-input-group>\n                </div>\n                <!--Email-->\n                <div class=\"mt-4\">\n                    <t-input-group\n                        :label=\"t('email')\"\n                        label-for=\"email\"\n                        :errors=\"v.email.$errors\"\n                    >\n                        <t-input-text\n                            id=\"email\"\n                            v-model=\"form.email\"\n                            @blur=\"v.email.$touch\"\n                            autocomplete=\"username\"\n                            :radius=\"3\"\n                            required\n                            type=\"email\"\n                        />\n                    </t-input-group>\n                </div>\n                <!--Password-->\n                <div class=\"mt-4\">\n                    <t-input-group\n                        :label=\"t('password')\"\n                        label-for=\"password\"\n                        :errors=\"v.password.$errors\"\n                    >\n                        <t-input-text\n                            id=\"password\"\n                            v-model=\"form.password\"\n                            @blur=\"v.password.$touch\"\n                            :radius=\"3\"\n                            autocomplete=\"new-password\"\n                            required\n                            type=\"password\"\n                        />\n                    </t-input-group>\n                </div>\n                <!--Confirm Password-->\n                <div class=\"mt-4\">\n                    <t-input-group\n                        :label=\"t('passwordConfirmation')\"\n                        label-for=\"password_confirmation\"\n                        :errors=\"v.password_confirmation.$errors\"\n                    >\n                        <t-input-text\n                            id=\"password_confirmation\"\n                            v-model=\"form.password_confirmation\"\n                            @blur=\"v.password_confirmation.$touch\"\n                            :radius=\"3\"\n                            autocomplete=\"new-password\"\n                            required\n                            type=\"password\"\n                        />\n                    </t-input-group>\n                </div>\n                <!--Terms and Privacy Policy-->\n                <!--TODO: Open Modal-->\n                <!--Terms-->\n                <div v-if=\"privacyPolicyFeature\" class=\"mt-4\">\n                <t-input-group label-for=\"terms\">\n                    <div class=\"flex items-center\">\n                        <input\n                            id=\"terms\"\n                            v-model=\"form.terms\"\n                            name=\"terms\"\n                            type=\"checkbox\"\n                        />\n\n                        <!--Turkish Terms-->\n                        <div v-if=\"locale === 'tr'\" class=\"ml-2\">\n                            <i18n-t keypath=\"terms\" tag=\"termsOfService\">\n                                <Link\n                                    :href=\"termsLink\"\n                                    class=\"underline text-sm text-gray-600 hover:text-gray-900\"\n                                    target=\"_blank\"\n                                >\n                                    {{ t('termsOfService') }}\n                                </Link>\n                            </i18n-t>\n                            <i18n-t keypath=\"terms\" tag=\"and\">\n                                {{ t('and') }}\n                            </i18n-t>\n                            <i18n-t keypath=\"terms\" tag=\"privacyPolicy\">\n                                <Link\n                                    :href=\"policyLink\"\n                                    class=\"underline text-sm text-gray-600 hover:text-gray-900\"\n                                    target=\"_blank\"\n                                >\n                                    {{ t('privacyPolicy') }}\n                                </Link>\n                            </i18n-t>\n                            <i18n-t keypath=\"terms\" tag=\"iAgreeToThe\">\n                                {{ t('iAgreeToThe') }}\n                            </i18n-t>\n                        </div>\n\n                        <!--Other Languages Terms-->\n                        <div v-else>\n                            <i18n-t keypath=\"terms\" tag=\"iAgreeToThe\">\n                                {{ t('iAgreeToThe') }}\n                            </i18n-t>\n                            <i18n-t keypath=\"terms\" tag=\"termsOfService\">\n                                <Link\n                                    :href=\"termsLink\"\n                                    class=\"underline text-sm text-gray-600 hover:text-gray-900\"\n                                    target=\"_blank\"\n                                >\n                                    {{ t('termsOfService') }}\n                                </Link>\n                            </i18n-t>\n                            <i18n-t keypath=\"terms\" tag=\"and\">\n                                {{ t('and') }}\n                            </i18n-t>\n                            <i18n-t keypath=\"terms\" tag=\"privacyPolicy\">\n                                <Link\n                                    :href=\"policyLink\"\n                                    class=\"underline text-sm text-gray-600 hover:text-gray-900\"\n                                    target=\"_blank\"\n                                >\n                                    {{ t('privacyPolicy') }}\n                                </Link>\n                            </i18n-t>\n                        </div>\n                    </div>\n                </t-input-group>\n                </div>\n\n                <div class=\"flex items-center justify-end mt-4\">\n                    <!--Login Link-->\n                    <t-button\n                        :class=\"{ 'opacity-25': form.processing }\"\n                        :design=\"activeDesign.register.loginButton[appearingMode].design\"\n                        :color=\"activeDesign.register.loginButton[appearingMode].color\"\n                        :link=\"route('login')\"\n                        :radius=\"3\"\n                        type=\"link\"\n                    >{{ t('alreadyRegistered') }}\n                    </t-button>\n\n                    <!--Register Button-->\n                    <t-button\n                        :class=\"{ 'opacity-25': form.processing }\"\n                        :disabled=\"form.processing\"\n                        :radius=\"3\"\n                        class=\"ml-4\"\n                        :color=\"activeDesign.register.registerButton[appearingMode].color\"\n                        :design=\"activeDesign.register.registerButton[appearingMode].design\"\n                    >\n                        {{ t('register') }}\n                    </t-button>\n                </div>\n            </form>\n            </div>\n        </div>\n        <div class=\"auth-error\">\n            <!--Errors-->\n            <transition @before-enter=\"beforeStyle\" @after-enter=\"enterStyle\">\n            <t-alert v-if=\"hasErrors\" :radius=\"deviceType !== 'phone' && 5\" color=\"red\">\n                <template #icon>\n                <t-bell-icon class=\"w-8 h-8\" />\n                </template>\n                <ul class=\"list-inside text-sm\">\n                <li v-for=\"(error, key) in errors\" :key=\"key\">{{ error }}</li>\n                </ul>\n            </t-alert>\n            </transition>\n        </div>\n\n        <!--Selectors-->\n        <div class=\"fixed bottom-0 flex z-50 w-full justify-center sm:justify-end space-x-6 p-6\">\n            <!--Language Selector-->\n            <t-tooltip\n                v-if=\"authScreenConf.showLanguageSelector\"\n                position=\"top\"\n                :border=\"false\"\n                :custom-style=\"true\"\n            >\n                <!--Selected Language-->\n                <div\n                    class=\"flex justify-center items-center group bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer overflow-hidden bg-cover\"\n                    :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n                >\n                    <component\n                        :is=\"languages.find(i => i.id === locale).flag\"\n                        class=\"flex flex-shrink-0 w-14 aspect-auto drop-shadow transform hover:scale-110 active:scale-90 hover:-rotate-12 transition-all duration-300\"\n                        :alt=\"languages.find(i => i.id === locale).name\"\n                    />\n                    <span\n                        class=\"absolute text-sm -top-2 -right-2 bg-slate-100/10 dark:bg-slate-800/50 backdrop-filter backdrop-blur text-slate-100 px-1 rounded\"\n                        v-text=\"languages.find(i => i.id === locale).id\"\n                    ></span>\n                </div>\n                <template #boxContent>\n                    <!--Language Lists-->\n                    <div class=\"top-menu-dropdown-content-wrapper-transparent mb-3\">\n                        <template v-for=\"lang in languages\" :key=\"lang.id\">\n                            <div\n                                @click=\"changeLang(lang.id)\"\n                                class=\"top-menu-dropdown-item-transparent\"\n                            >\n                                <component :is=\"lang.flag\" class=\"w-6 aspect-auto drop-shadow\"/>\n                                <span v-text=\"lang.name\"></span>\n                            </div>\n                        </template>\n                    </div>\n                </template>\n            </t-tooltip>\n            <!--Dark Mode-->\n            <div\n                v-if=\"authScreenConf.showDarkModeSelector\"\n                class=\"flex justify-center items-center bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer overflow-hidden\"\n                :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n                @click=\"changeTheme\"\n            >\n                <transition mode=\"out-in\" name=\"darkModeTransition\">\n                    <!-- Light -->\n                    <icon\n                        v-if=\"darkMode === 'light'\"\n                        icon=\"sun\"\n                        size=\"lg\"\n                        key=\"light\"\n                        :alt=\"tm('lightMode')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                    <!-- Auto -->\n                    <icon\n                        v-else-if=\"darkMode === 'auto'\"\n                        icon=\"palette\"\n                        size=\"lg\"\n                        key=\"auto\"\n                        :alt=\"tm('auto')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                    <!-- Dark -->\n                    <icon\n                        v-else\n                        icon=\"moon\"\n                        size=\"lg\"\n                        key=\"dark\"\n                        :alt=\"tm('darkMode')\"\n                        class=\"transform hover:scale-110 active:scale-90 transition-transform duration-300\"\n                    />\n                </transition>\n            </div>\n            <!--Change Background-->\n            <div\n                v-if=\"authScreenConf.showDesignChanger && authDesigns.length > 1\"\n                @click=\"changeBg\"\n                class=\"flex justify-center items-center group bg-slate-100/50 hover:bg-slate-800/50 dark:text-slate-100 dark:bg-slate-800/75 dark:hover:bg-slate-100/75 dark:hover:text-slate-700 hover:text-slate-100 p-4 w-10 h-10 cursor-pointer\"\n                :class=\"`radius-${authScreenConf.radius ? authScreenConf.radius : appConf.radius}`\"\n            >\n                <icon\n                    icon=\"redo\"\n                    class=\"transform group-hover:scale-110 group-active:scale-90 transition-transform duration-300\"\n                />\n            </div>\n        </div>\n  </full-screen-layout>\n</template>\n\n<script>\n/*Main functions*/\nimport {defineComponent, computed, ref} from \"vue\";\nimport { registerStyleMixin } from \"@/Mixins/Styles/registerStyleMixin\";\nimport {Link, useForm} from \"@inertiajs/vue3\";\nimport windowSizeCalculator from \"@/Functions/windowSizeCalculator\";\nimport useVuelidate from \"@vuelidate/core\";\nimport {email, helpers, required} from \"@vuelidate/validators\";\nimport {useDarkModeStore} from \"@/Stores/darkMode.js\";\n\n/*Components*/\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\nimport TBellIcon from \"@/Components/Icon/TBellIcon.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport FullScreenLayout from \"@/Layouts/FullScreenLayout.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TDropdown from \"@/Components/Dropdown/TDropdown.vue\";\nimport TTooltip from \"@/Components/Tooltip/TTooltip.vue\";\nimport TInputCheckBox from \"@/Components/Form/Inputs/TInputCheckBox.vue\";\n\n/*Sources*/\nimport {appConf, authScreenConf, badgeConf} from \"@/config\";\nimport {authDesigns} from \"@/Sources/authScreenDesigns\";\n\n/* Multi language */\nimport {useI18n} from \"vue-i18n\";\nimport {useDisplayLanguageStore} from \"@/Stores/displayLanguage.js\";\nimport {languages, authTranslates} from \"@/Lang/languages\";\n\n/*Fontawesome icons*/\nimport {library} from \"@fortawesome/fontawesome-svg-core\";\nimport {faSun, faMoon, faPalette, faRedo, faKey, faBell} from \"@fortawesome/free-solid-svg-icons\";\nimport { storeToRefs } from \"pinia\";\n\nlibrary.add(faSun, faMoon, faPalette, faRedo, faKey, faBell)\n\nexport default defineComponent({\n  name: \"TRegister\",\n  components: {\n    TAlert,\n    TBellIcon,\n    TButton,\n    FullScreenLayout,\n    TInputGroup,\n    TInputText,\n    Link,\n    TDropdown,\n    TTooltip,\n    TInputCheckBox\n  },\n  mixins: [registerStyleMixin],\n  props: {\n    privacyPolicyFeature: Boolean,\n    termsLink: String,\n    policyLink: String\n  },\n  setup() {\n    /*Device type*/\n    const { deviceType } = windowSizeCalculator();\n\n    /* Dark Mode */\n    const darkModeStore = useDarkModeStore()\n    const {changeTheme} = darkModeStore;\n    const {darkMode, appearingMode} = storeToRefs(darkModeStore);\n\n    /* Multi-language */\n    const displayLanguageStore = useDisplayLanguageStore()\n    const {changeLang} = displayLanguageStore;\n    const {locale} = storeToRefs(displayLanguageStore);\n\n    const {t, tm} = useI18n({\n        inheritLocale: true,\n        messages: authTranslates,\n    });\n\n    /* Register */\n    const form = useForm({\n        name: \"\",\n        email: \"\",\n        password: \"\",\n        password_confirmation: \"\",\n        terms: false\n    });\n\n    /* Client-side Validation */\n    const rules = ref({\n        name: {\n            required: helpers.withMessage(tm('validationMessage.name.required'), required)\n        },\n        email: {\n            required: helpers.withMessage(tm('validationMessage.email.required'), required),\n            email: helpers.withMessage(tm('validationMessage.email.email'), email)\n        },\n        password: {\n            required: helpers.withMessage(tm('validationMessage.password.required'), required)\n        },\n        password_confirmation: {\n            required: helpers.withMessage(tm('validationMessage.passwordConfirmation.required'), required)\n        },\n    });\n    const v = useVuelidate(rules, form, {$lazy: true});\n\n    /*Submit*/\n    const submit = async () => {\n        if (!(await v.value.$validate())) {\n            return;\n        }\n        form\n            .transform((data) => ({\n                ...data,\n                remember: form.remember ? \"on\" : \"\",\n            }))\n            .post(route(\"register\"), {\n                onFinish: () => form.reset(\"password\", \"password_confirmation\"),\n            });\n    };\n\n     /*Logo SRC*/\n    /*Temporary Definitions*/\n    const temporaryLogo = computed(()=>{\n        let logo;\n\n\n        if(appearingMode.value === 'dark'){\n            if(activeDesign.value.logo.dark){\n                logo = activeDesign.value.logo.dark\n            }else if(authScreenConf.logo.dark) {\n                logo = authScreenConf.darkLogo\n            }else{\n                logo = appConf.logo.dark\n            }\n        } else {\n            if(activeDesign.value.logo.light){\n                logo = activeDesign.value.logo.light\n            }else if(authScreenConf.logo.light) {\n                logo = authScreenConf.logo.light\n            }else{\n                logo = appConf.logo.light\n            }\n        }\n\n        return logo;\n    });\n\n    /*Design Template Changer*/\n    const activeDesignIndex = ref(0)\n    const changeBg = () => {\n        if (authDesigns.length - 1 > activeDesignIndex.value) {\n            activeDesignIndex.value++\n        } else {\n            activeDesignIndex.value = 0\n        }\n    };\n    const activeDesign = computed(() => {\n        return authDesigns[activeDesignIndex.value]\n    })\n\n\n        return {\n            authDesigns,\n            form,\n            darkMode,\n            appearingMode,\n            changeLang,\n            changeTheme,\n            changeBg,\n            activeDesign,\n            submit,\n            languages,\n            locale,\n            deviceType,\n            appConf,\n            authScreenConf,\n            temporaryLogo,\n            t,\n            tm,\n            v\n        };\n  },\n\n    methods: {\n        beforeStyle(event) {\n            event.style.opacity = 0;\n        },\n        enterStyle(event) {\n            event.style.opacity = 1;\n            event.style.transition = `all 1s linear`;\n        }\n    },\n\n    computed: {\n        errors() {\n            return this.$page.props.errors;\n        },\n\n        hasErrors() {\n            return Object.keys(this.errors).length > 0;\n        }\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Avatar/TAvatar.vue",
    "content": "<template>\n    <div :class=\"[\n        'avatar-container',\n        {'avatar-container-group' : isAvatarGroup},\n        `avatar-size-${temporarySize}`,\n        ]\">\n\n        <!--Link-->\n        <Link v-if=\"link\" :href=\"link\">\n            <img :class=\"[\n            `radius-${temporaryRadius}`,\n            `avatar-size-${temporarySize}`,\n             {'avatar-group-image' : isAvatarGroup}\n            ]\"\n                 alt=\"avatar\"\n                 :src=\"temporarySrc\"\n            />\n        </Link>\n\n        <!--Without Link-->\n        <img v-else\n             alt=\"avatar\"\n             :class=\"[\n            `radius-${temporaryRadius}`,\n            `avatar-size-${temporarySize}`,\n            {'avatar-group-image' : isAvatarGroup}\n            ]\"\n             :src=\"temporarySrc\"\n        />\n\n        <!--Indicator-->\n        <div\n            v-if=\"indicator\"\n            class=\"avatar-indicator\"\n            :class=\"[\n                temporarySize < 7 ? 'text-2xs' : 'text-normal',\n                `avatar-indicator-position-${indicator.position}`,\n                `avatar-indicator-${indicator.color}`\n            ]\">\n            <div v-text=\"temporarySize>3 ? indicator.label : null\"/>\n        </div>\n    </div>\n</template>\n\n<script>\n/*Main functions*/\nimport {defineComponent, getCurrentInstance, inject, ref, toRefs} from \"vue\";\nimport {Link} from \"@inertiajs/vue3\";\n\n/*Sources*/\nimport {avatarConf} from \"@/config\";\n\nexport default defineComponent({\n    name: \"TAvatar\",\n    props: {\n        src: {\n            type: String,\n            default: null,\n        },\n        link: {\n            type: String,\n            default: null,\n        },\n        size: {\n            type: Number,\n            default: null\n        },\n        radius: {\n            type: Number,\n            default: null\n        },\n        indicator: {\n            type: Object,\n            default: null,\n        }\n    },\n    components: {\n        Link\n    },\n    setup(props) {\n        /*Definitions*/\n        const {size, src, radius} = toRefs(props);\n        const appConf = inject('appConf');\n\n        /*Temporary Definitions*/\n        const temporarySize = ref(size.value ? size.value : avatarConf.size ? avatarConf.size : appConf.size);\n        const temporaryRadius = ref(radius.value ? radius.value : avatarConf.radius ? avatarConf.radius : appConf.radius);\n        const temporarySrc = ref(src.value ? src.value : avatarConf.defaultPhotoSrc);\n\n        /*Is Avatar Group*/\n        const isAvatarGroup = getCurrentInstance().parent.type.name === \"TAvatarGroup\";\n\n        return {isAvatarGroup, temporarySize, temporaryRadius, temporarySrc};\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Avatar/TAvatarGroup.vue",
    "content": "<template>\n  <div class=\"avatar-group-container\">\n    <slot />\n  </div>\n</template>\n\n<script>\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"TAvatarGroup\"\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Badge/TBadge.vue",
    "content": "<template>\n    <div\n        class=\"badge\"\n        :class=\"containerStyle\"\n        @click.stop=\"collapsible && toggle(); (selectable && !selectIndicator) && select()\"\n    >\n        <!--Inline Line-->\n        <div v-if=\"temporaryDesign.includes('line')\"\n             id=\"line\"\n             :class=\"temporaryDesign === 'inline' ? 'badge-inline-line' : 'badge-outline-line'\"\n        />\n\n        <!--Badge Icon-->\n        <div\n            v-if=\"hasSlot('icon') && temporaryDesign !== 'outline'\"\n            class=\"badge-icon\"\n            :class=\"[\n                {'ml-0.5' : 5 > temporaryRadius && temporaryDesign !== 'block' && !collapsible},\n                {'ml-0.5' : 5 <= temporaryRadius && temporaryDesign === 'inline'}\n            ]\"\n        >\n            <slot name=\"icon\" @click=\"collapsible && toggle()\"></slot>\n        </div>\n\n        <!--Badge Content-->\n        <transition name=\"content\">\n            <div v-if=\"showContent || !collapsible\" class=\"badge-content-container\">\n                <!--Content-->\n                <div\n                    class=\"badge-content\"\n                    :class=\"[\n                        {'-ml-0.5' : hasSlot('icon')},\n                        {'ml-[1.5rem]' : temporaryDesign === 'block' && hasSlot('icon')}\n                    ]\"\n                >\n                    <slot/>\n                </div>\n                <!--Badge Value-->\n                <div v-if=\"badgeValue\"\n                     class=\"badge-value\"\n                     :class=\"[\n                         {'mr-0.5' : temporaryRadius > 4 && temporaryDesign !== 'elegant'},\n                         badgeValue.length === 1 ? 'px-1.5' : 'px-1'\n                     ]\"\n                >\n                    {{ badgeValue }}\n                </div>\n                <!--Selected Icon-->\n                <div v-if=\"selectable\">\n                    <!--Custom Selected Icon-->\n                    <div v-if=\"hasSlot('selected-icon')\" key=\"selected-icon\" class=\"badge-select-icon\" @click=\"select\">\n                        <slot name=\"selected-icon\"></slot>\n                    </div>\n                    <!--Custom Unselected Icon-->\n                    <div v-if=\"hasSlot('unselected-icon')\" key=\"unselected-icon\" class=\"badge-select-icon\"\n                         @click=\"select\">\n                        <slot name=\"unselected-icon\"></slot>\n                    </div>\n                </div>\n                <!--Select Indicator-->\n                <div\n                    v-if=\"selectable && selectIndicator\"\n                    class=\"badge-select-icon\"\n                    @click=\"select\"\n                >\n                    <svg v-if=\"modelValue\" class=\"w-4 h-4\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"\n                         viewBox=\"0 0 24 24\"\n                         stroke=\"currentColor\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                              d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"/>\n                    </svg>\n                    <svg v-else class=\"w-4 h-4\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"\n                         stroke=\"currentColor\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                              d=\"M12 6v6m0 0v6m0-6h6m-6 0H6\"/>\n                    </svg>\n                </div>\n            </div>\n        </transition>\n    </div>\n</template>\n\n<script>\n/*Main functions*/\nimport {computed, defineComponent, inject, useSlots, ref, toRefs} from \"vue\";\n\n/*Sources*/\nimport {avatarConf, badgeConf} from \"@/config\";\n\nexport default defineComponent({\n    name: \"TBadge\",\n    props: {\n        design: {\n            type: String,\n            default: null\n        },\n        color: {\n            type: String,\n            default: null\n        },\n        radius: {\n            type: Number,\n            default: null\n        },\n        selectable: {\n            type: Boolean,\n            default: false\n        },\n        selectIndicator: {\n            type: Boolean,\n            default: false\n        },\n        selectActiveStyle: {\n            type: Object,\n            default: null\n        },\n        selectPassiveStyle: {\n            type: Object,\n            default: null\n        },\n        modelValue: {\n            type: Boolean,\n            default: false\n        },\n        badgeValue: {\n            type: [Number, String],\n            default: null,\n            required: false\n        },\n        collapsible: {\n            type: Boolean,\n            default: false\n        }\n    },\n    emits: [\"update:modelValue\"],\n    setup(props, {emit, slots}) {\n        /*Definitions*/\n        const {\n            design,\n            color,\n            radius,\n            selectable,\n            selectActiveStyle,\n            selectPassiveStyle,\n            selectIndicator,\n            modelValue,\n            collapsible,\n        } = toRefs(props);\n        const showContent = ref(false);\n        const value = ref(modelValue.value);\n        const appConf = inject('appConf');\n\n        /*Temporary Definitions*/\n        const temporaryDesign = ref(design.value ? design.value : badgeConf.design ? badgeConf.design : appConf.design);\n        const temporaryColor = ref(color.value ? color.value : badgeConf.color ? badgeConf.color : appConf.color);\n        const temporaryRadius = ref(radius.value ? radius.value : badgeConf.radius ? badgeConf.radius : appConf.radius);\n\n        /*Select*/\n        const select = () => {\n            value.value = !value.value;\n            emit(\"update:modelValue\", value.value);\n        };\n\n        /*Toggle*/\n        const toggle = () => {\n            showContent.value = !showContent.value;\n        };\n\n        /*Generating Style Classes*/\n        const containerStyle = computed(() => {\n            let activeColor, activeDesign, passiveStyle;\n            if (selectable.value) {\n\n                /*Select Style Check*/\n                if (selectActiveStyle.value && !selectPassiveStyle.value) {\n                    passiveStyle = selectActiveStyle.value;\n                } else {\n                    passiveStyle = selectPassiveStyle.value;\n                }\n\n                if (value.value && selectActiveStyle.value) {\n                    activeColor = selectActiveStyle.value[\"color\"];\n                    activeDesign = selectActiveStyle.value[\"design\"];\n                } else if (!value.value && selectActiveStyle.value) {\n                    activeColor = passiveStyle[\"color\"];\n                    activeDesign = passiveStyle[\"design\"];\n                } else {\n                    activeColor = temporaryColor.value;\n                    activeDesign = temporaryDesign.value;\n                }\n            } else {\n                activeColor = temporaryColor.value;\n                activeDesign = temporaryDesign.value;\n            }\n\n            return [\n                `badge-${activeDesign}`,\n                `badge-${activeDesign}-${activeColor}`,\n                `radius-${temporaryRadius.value}`,\n                ((collapsible.value || (selectable.value && !selectIndicator.value)) && \"cursor-pointer\"),\n                (selectable.value && !modelValue.value && !selectActiveStyle.value && \"filter grayscale opacity-50\")\n            ];\n        });\n\n        /*Slot Check*/\n        const hasSlot = name => !!useSlots()[name];\n\n        return {\n            hasSlot,\n            toggle,\n            select,\n            temporaryDesign,\n            temporaryRadius,\n            showContent,\n            containerStyle\n        };\n    }\n});\n</script>\n\n<style scoped>\n.content-enter-active,\n.content-leave-active {\n    transition: all ease-in-out 1s;\n}\n\n.content-enter-from,\n.content-leave-to {\n    opacity: 0;\n    max-width: 0;\n}\n\n.content-enter-to,\n.content-leave-from {\n    opacity: 1;\n    max-width: 250px;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Breadcrumb/TBreadcrumb.vue",
    "content": "<template>\n  <div>\n    <div\n      v-if=\"design==='filled'\"\n      :class=\"tStyle['filled']\">\n      <div id=\"breadcrumb-filled-container\">\n        <div\n          v-for=\"(item,index) in breadcrumbs\"\n          :key=\"index\"\n          :class=\"filledContainerStyle(item)\">\n          <!--Icon-->\n          <div v-if=\"hasSlot(item.key)\">\n            <slot :name=\"item.key\" :props=\"item\" />\n          </div>\n          <div>\n            {{ item.label }}\n          </div>\n          <!--Separator Icon-->\n          <svg v-if=\"breadcrumbs.length !== index+1\" class=\"w-5 h-5\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\"\n               viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\" />\n          </svg>\n        </div>\n      </div>\n      <div v-if=\"hasSlot('subContent')\" class=\"breadcrumb-sub-content\">\n        <slot name=\"subContent\"></slot>\n      </div>\n    </div>\n\n    <div\n      v-if=\"design==='block'\"\n      :class=\"tStyle['block']\">\n      <div id=\"breadcrumb-block-container\" :class=\"tStyle['blockSub']\">\n        <div\n          v-for=\"(item,index) in breadcrumbs\"\n          :key=\"index\"\n          :class=\"blockContainerStyle(item)\">\n          <!--Icon-->\n          <div v-if=\"hasSlot(item.key)\">\n            <slot :name=\"item.key\" :props=\"item\" />\n          </div>\n          <div>\n            {{ item.label }}\n          </div>\n        </div>\n      </div>\n      <div v-if=\"hasSlot('subContent')\" class=\"breadcrumb-sub-content\">\n        <slot name=\"subContent\"></slot>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { defineComponent, toRefs, computed, reactive, useSlots } from \"vue\";\n\nexport default defineComponent({\n  name: \"TBreadcrumb\",\n  props: {\n    breadcrumbs: {\n      type: Array,\n      default() {\n        return [];\n      },\n      require: true\n    },\n    design: {\n      type: String,\n      default: \"filled\"\n    },\n    color: {\n      type: String,\n      default: \"gray\"\n    },\n    position: {\n      type: String,\n      require: true,\n      default: \"left\"\n    }\n  },\n  setup(props, { slots }) {\n    /*Definitions*/\n    const { design, color, position } = toRefs(props);\n\n    /*Generating Style Classes*/\n    const tStyle = reactive({});\n    tStyle[\"filled\"] = computed(() => {\n      return \"breadcrumb\" + \" \" +\n        \"breadcrumb-\" + design.value + \"-\" + color.value + \" \" +\n        \"breadcrumb-\" + design.value + \"-base\" + \" \" +\n        (position.value === \"right\" ? \"flex-row-reverse\" : \"\");\n    });\n    const filledContainerStyle = (item) => {\n      return \"breadcrumb-filled-item\" + \" \" +\n        (item.active ? \"breadcrumb-item-active\" : \"\");\n    };\n    tStyle[\"block\"] = computed(() => {\n      return \"breadcrumb\" + \" \" +\n        \"breadcrumb-\" + design.value + \"-base\" + \" \" +\n        (position.value === \"right\" ? \"flex-row-reverse\" : \"\");\n    });\n    tStyle[\"blockSub\"] = computed(() => {\n      return \"breadcrumb-\" + design.value + \"-\" + color.value + \" \";\n    });\n    const blockContainerStyle = (item) => {\n      return \"breadcrumb-block-item\" + \" \" +\n        (item.active ? \"breadcrumb-item-active\" : \"text-gray-700\");\n    };\n\n    /*Slot Check*/\n    const hasSlot = name => !!useSlots()[name];\n\n    return {\n      hasSlot,\n      filledContainerStyle,\n      tStyle,\n      blockContainerStyle\n    };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Button/TButton.vue",
    "content": "<script setup>\nimport { toRefs, ref, computed, defineAsyncComponent, reactive } from \"vue\";\nimport { Link } from \"@inertiajs/vue3\";\n\nconst props = defineProps({\n    size: {\n        type: String,\n        default: \"normal\"\n    },\n    design: {\n        type: String,\n        default: \"filled\"\n    },\n    color: {\n        type: String,\n        default: \"blue\"\n    },\n    radius: {\n        type: Number,\n        default: 3\n    },\n    link: {\n        type: String,\n        default: \"#\"\n    },\n    border: {\n        type: Boolean,\n        default: false\n    },\n    disabled: {\n        type: Boolean,\n        default: false\n    },\n    loading: {\n        type: Boolean,\n        default: false\n    },\n    loadingDesign: {\n        type: String,\n        default: \"three-bars\"\n    },\n    loadingWithContent: {\n        type: Boolean,\n        default: false\n    },\n    loadingColor: {\n        type: String,\n        default: null\n    },\n    type: {\n        type: String,\n        default: \"submit\"\n    }\n});\n\n/*Definitions*/\nconst {\n    color,\n    design,\n    border,\n    radius,\n    disabled,\n    size,\n    loading,\n    loadingWithContent,\n    loadingDesign\n} = toRefs(props);\n\n/*Generating Style Classes*/\nconst tStyle = reactive({});\ntStyle[\"container\"] = computed(() => {\n    return \"button\" + \" \" +\n        \"button-\" + size.value + \" \" +\n        \"button-\" + design.value + \"-base\" + \" \" +\n        \"button-\" + design.value + \"-\" + color.value + \" \" +\n        \"radius-\" + radius.value + \" \" +\n        (disabled.value ? \" button-disabled\" : \"\") + \" \" +\n        (border.value ? \"border\" : \"\") + \" \" +\n        (loading.value || loadingWithContent.value ? \"pointer-events-none\" : \"\");\n});\ntStyle[\"content\"] = computed(() => {\n    return \"button-content\" + \" \" +\n        (loading.value ? \"invisible\" : \"\");\n});\n\n\n/*Loading Component*/\nconst activeLoadingComponent = ref();\nif (loadingDesign.value === \"three-bars\") {\n    activeLoadingComponent.value = \"TLoadingAnimationThreeBars\";\n} else if (loadingDesign.value === \"cogs\") {\n    activeLoadingComponent.value = \"TLoadingAnimationCogs\";\n} else {\n    activeLoadingComponent.value = \"TLoadingAnimationThreeDots\";\n}\n\nconst loadingComponent = defineAsyncComponent(() => import(`../Loading/Animations/${activeLoadingComponent.value}.vue`));\n</script>\n\n<template>\n    <button\n        v-if=\"type === 'submit' || type === 'button' || type === 'external-link'\"\n        :class=\"tStyle['container']\"\n        :onclick=\"(!disabled && type === 'external-link') ? 'window.location.href=\\'' + link + '\\'' : ''\"\n        :type=\"type\"\n    >\n        <component\n            :is=\"loadingComponent\"\n            v-if=\"loadingWithContent\"\n            :color=\"loadingColor ? loadingColor : color\"\n        />\n\n        <span :class=\"tStyle['content']\">\n            <slot />\n        </span>\n        <component\n            :is=\"loadingComponent\"\n            v-if=\"loading\"\n            :color=\"loadingColor ? loadingColor : color\"\n            class=\"mx-auto absolute\"\n        />\n    </button>\n    <Link v-else :href=\"link\" :class=\"tStyle['container']\">\n        <slot></slot>\n    </Link>\n</template>\n"
  },
  {
    "path": "resources/js/Components/Card/TContentCard.vue",
    "content": "<template>\n  <div\n      :class=\"[\n          'relative p-4 shadow-sm w-full dark:bg-gray-800 dark:border-transparent',\n          calculatedCardStyle,\n          border && 'border',\n          ]\">\n    <div :class=\"hasSlot('icon') ? 'flex justify-between items-center' : 'justify-start'\">\n      <!--Icon-->\n      <div v-if=\"hasSlot('icon')\" class=\"flex w-16 h-full justify-center items-center -ml-3 dark:text-gray-200\">\n        <slot name=\"icon\"/>\n      </div>\n      <div :class=\"[\n        'flex-grow',\n        hasSlot('icon') ? 'border-l pl-2': '']\">\n        <!--Card Title-->\n        <div v-if=\"hasSlot('title') || title\" class=\"font-bold text-xl dark:text-gray-200\">\n          <span v-if=\"title\" v-text=\"title\"/>\n          <slot v-else name=\"title\"/>\n        </div>\n        <!--Card Subtitle-->\n        <div v-if=\"hasSlot('subTitle') || subTitle\" class=\"text-sm dark:text-gray-400\">\n          <span v-if=\"subTitle\" v-text=\"subTitle\"/>\n          <slot v-else name=\"subTitle\"/>\n        </div>\n        <!--Separator-->\n        <hr v-if=\"line\" :class=\"'my-1 border'\"/>\n        <div class=\"flex flex-wrap whitespace-normal w-full\">\n          <!--Card Main Content-->\n          <slot v-if=\"!showSecondContent\" name=\"content\"></slot>\n          <slot v-if=\"!showSecondContent\"></slot>\n          <!--Card Second Content-->\n          <slot v-if=\"showSecondContent\" name=\"secondContent\"></slot>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { defineComponent, ref, useSlots } from \"vue\";\nimport {contentCardStyleMixin} from \"@/Mixins/Styles/contentCardStyleMixin\";\n\nexport default defineComponent({\n  name: \"TContentCard\",\n  mixins: [contentCardStyleMixin],\n  props: {\n    title: {\n      type: String,\n      default: null,\n      required: false\n    },\n    subTitle: {\n      type: String,\n      default: null,\n      required: false\n    },\n    line: {\n      type: Boolean,\n      default: false\n    },\n    border: {\n      type: Boolean,\n      default: false\n    },\n  },\n  setup(props, {slots}){\n    /*Definitions*/\n    const showSecondContent = ref(false)\n\n    /*Slot Check*/\n    const hasSlot = name => !!useSlots()[name];\n\n    return {hasSlot,showSecondContent}\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Card/TStatisticWidget.vue",
    "content": "<template>\n  <!--Widget Main Container-->\n  <t-content-card\n      :border=\"true\"\n      :color=\"color\"\n      :gradient-direction=\"gradientDirection\"\n      :radius=\"radius\"\n      :width=\"width\"\n  >\n    <template #content>\n      <!--Widget Content-->\n      <div class=\"statistic-widget\">\n        <!--Widget Data Area-->\n        <div class=\"statistic-widget-data\">\n          <!--Widget Title-->\n          <div class=\"statistic-widget-title\">\n            <slot name=\"title\"/>\n          </div>\n          <!--Widget Value-->\n          <div class=\"statistic-widget-value\">\n            {{ widgetValue }}\n          </div>\n          <!--Diff Value-->\n          <div\n              v-if=\"diffValue\"\n              :class=\"[\n                  'statistic-widget-diff-value',\n                  calculatedDiffStyle\n                  ]\"\n          >\n            <span\n                v-if=\"diffDirection\"\n                v-text=\"diffDirection.includes('up') ? '+' :  '-'\"\n            ></span>\n            {{ diffValue }}\n            <t-chevron-up-icon v-if=\"diffDirection.includes('up')\" class=\"w-4 h-4\"/>\n            <t-chevron-down-icon v-if=\"diffDirection.includes('down')\" class=\"w-4 h-4\"/>\n          </div>\n        </div>\n        <!--Widget Chart Area-->\n        <!--TODO: Chart feature-->\n        <!--<div v-if=\"chartType && !icon\" class=\"flex w-full justify-end h-28\">\n          <component\n              :is=\"chartType\"\n              :chartdata=\"widget.chartdata\"\n              :options=\"widget.options\"\n              :styles=\"widget.styles\"/>\n        </div>-->\n        <!--Icon Area-->\n        <div v-if=\"$slots.icon\" class=\"statistic-widget-icon-container\">\n                    <span\n                        :class=\"['statistic-widget-icon',calculatedIconStyle]\">\n                        <slot name=\"icon\"/>\n                    </span>\n        </div>\n        <!--Picture Area-->\n        <div v-if=\"$slots.picture\" class=\"statistic-widget-picture-container\">\n                    <span\n                        :class=\"['statistic-widget-picture',calculatedIconStyle]\">\n                        <slot name=\"picture\"/>\n                    </span>\n        </div>\n      </div>\n    </template>\n  </t-content-card>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\nimport {statisticWidgetStyleMixin} from \"@/Mixins/Styles/statisticWidgetStyleMixin\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TChevronUpIcon from \"@/Components/Icon/TChevronUpIcon.vue\";\nimport TChevronDownIcon from \"@/Components/Icon/TChevronDownIcon.vue\";\n\nexport default defineComponent({\n  name: \"TStatisticWidget\",\n  components: {\n    TChevronDownIcon,\n    TChevronUpIcon,\n    TContentCard,\n    /*'bar-chart': () => import('@/Components/Chart/TBarChart'),\n    'line-chart': () => import('@/Components/Chart/TLineChart'),\n    'pie-chart': () => import('@/Components/Chart/TPieChart'),\n    'polar-chart': () => import('@/Components/Chart/TPolarChart'),\n    'radar-chart': () => import('@/Components/Chart/TRadarChart'),*/\n  },\n  mixins: [statisticWidgetStyleMixin],\n  props: {\n    radius: {\n      required: false\n    },\n    width: {\n      type: Number,\n      required: false,\n      default: 1\n    },\n    widgetValue: {\n      required: true\n    },\n    diffValue: {\n      required: false\n    },\n    /*chartType: {\n      required: false,\n      default: 'Bar'\n    }*/\n  },\n  data() {\n    return {\n      /*TODO: Chart feature*/\n      /*widget: {\n          chartdata: {\n              labels: ['January', 'February', 'April', 'March', 'June'],\n              datasets: [\n                  {\n                      fill: false,\n                      tension: 0.1,\n                      borderColor: '#FFFE12',\n                      data: [40, 20, 15, 55, 41]\n                  },\n                  {\n                      label: '12',\n                      fill: false,\n                      tension: 0.1,\n                      borderColor: '#00FF',\n                      data: [5, 11, 52, 32, 15]\n                  },\n              ]\n          },\n          options: {\n              plugins: {\n                  legend: false,\n              },\n              elements: {\n                  point: {\n                      radius: 8,\n                      pointStyle: 'circle'\n                  },\n              },\n              responsive: true,\n              maintainAspectRatio: false,\n              animations: {\n                  tension: {\n                      duration: 1000,\n                      easing: 'linear',\n                      from: 1,\n                      to: 0,\n                      loop: true\n                  }\n              },\n              scales: {\n                  display: false,\n                  y: { // defining min and max so hiding the dataset does not change scale range\n                      min: 0,\n                      max: 100,\n                      labels: {\n                          display: false\n                      },\n                      ticks: {\n                          display: false\n                      }\n                  }\n              }\n          },\n          styles: {\n              height: '100%'\n          }\n      }*/\n    }\n  }\n})\n</script>\n\n"
  },
  {
    "path": "resources/js/Components/Chart/TBarChart.vue",
    "content": "<script>\nimport { defineComponent } from 'vue'\nimport { Bar } from 'vue-chartjs'\n\nexport default defineComponent({\n  name : 'BarChart',\n  extends: Bar,\n  props: {\n    chartdata: {\n      type: Object,\n      default: null\n    },\n    options: {\n      type: Object,\n      default: null\n    }\n  },\n  mounted () {\n    this.renderChart(this.chartdata, this.options)\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Chart/TDoughnutChart.vue",
    "content": "<script>\nimport { defineComponent } from 'vue'\nimport { Doughnut } from 'vue-chartjs'\n\nexport default defineComponent({\n    name : 'DoughnutChart',\n    extends: Doughnut,\n    props: {\n        chartdata: {\n            type: Object,\n            default: null\n        },\n        options: {\n            type: Object,\n            default: null\n        }\n    },\n    mounted () {\n        this.renderChart(this.chartdata, this.options)\n    }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Chart/TLineChart.vue",
    "content": "<script>\nimport { defineComponent } from 'vue'\nimport { Line } from 'vue-chartjs'\n\nexport default defineComponent({\n    name : 'LineChart',\n    extends: Line,\n    props: {\n        chartdata: {\n            type: Object,\n            default: null\n        },\n        options: {\n            type: Object,\n            default: null\n        }\n    },\n    mounted () {\n        this.renderChart(this.chartdata, this.options)\n    }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Chart/TPieChart.vue",
    "content": "<script>\nimport { defineComponent } from 'vue'\nimport { Pie } from 'vue-chartjs'\n\nexport default defineComponent({\n  name : 'PieChart',\n  extends: Pie,\n  props: {\n    chartdata: {\n      type: Object,\n      default: null\n    },\n    options: {\n      type: Object,\n      default: null\n    }\n  },\n  mounted () {\n    this.renderChart(this.chartdata, this.options)\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Chart/TPolarChart.vue",
    "content": "<script>\nimport { defineComponent } from 'vue'\nimport { PolarArea } from 'vue-chartjs'\n\nexport default defineComponent({\n  name : 'PolarChart',\n  extends: Polar,\n  props: {\n    chartdata: {\n      type: Object,\n      default: null\n    },\n    options: {\n      type: Object,\n      default: null\n    }\n  },\n  mounted () {\n    this.renderChart(this.chartdata, this.options)\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Chart/TRadarChart.vue",
    "content": "<script>\nimport { defineComponent } from 'vue'\nimport { Radar } from 'vue-chartjs'\n\nexport default defineComponent({\n  name : 'RadarChart',\n  extends: Radar,\n  props: {\n    chartdata: {\n      type: Object,\n      default: null\n    },\n    options: {\n      type: Object,\n      default: null\n    }\n  },\n  mounted () {\n    this.renderChart(this.chartdata, this.options)\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Code/TCodeShowcase.vue",
    "content": "<template>\n    <!-- Container -->\n    <div class=\"flex flex-col w-full\">\n        <!-- Live Demo -->\n        <div\n            class=\"p-4 rounded-t bg-slate-200 dark:bg-transparent dark:shadow border border-b-0 border-slate-400 dark:border-slate-800\"\n        >\n            <slot></slot>\n        </div>\n        <!-- Footer -->\n        <div\n            class=\"flex overflow-hidden border-l border-r bg-slate-500 text-sm dark:bg-slate-900 border-slate-400 dark:border-0 text-slate-100 transition-all duration-300\"\n            :class=\"{\n                'rounded-b': !activeTab\n            }\"\n        >\n            <!-- Tab Title -->\n            <div class=\"flex justify-start items-center space-x-6\">\n                <template v-for=\"tab in tabs\" :key=\"tab.id\">\n                    <span\n                        @click=\"tab.command ? tab.command() : selectTab(tab.id)\"\n                        class=\"flex items-center justify-center space-x-2 hover:bg-slate-600 dark:hover:bg-slate-800/75 cursor-pointer px-4 py-2 select-none transition-colors duration-300\"\n                    >\n                        <slot v-if=\"$slots['label']\" name=\"label\" :tab=\"tab\"></slot>\n                        <span v-else v-text=\"tab.label\"></span>\n                    </span>\n                </template>\n            </div>\n        </div>\n        <!-- Selected Content -->\n        <transition name=\"fade\">\n            <div\n                v-if=\"activeTab\"\n                class=\"border border-t-0 rounded-b-md border-slate-400 dark:border-0\"\n            >\n                <template v-for=\"tab in tabs\" :key=\"tab.id\">\n                    <!-- Regular Content -->\n                    <slot v-if=\"activeTab === tab.id && tab.type !== 'code'\" :name=\"tab.id\"></slot>\n\n                    <!-- Code Content -->\n                    <pre v-if=\"activeTab === tab.id && tab.type === 'code'\" v-highlightjs>\n                        <code class=\"rounded-b overflow-scroll\" :class=\"tab.codeLang\"><slot :name=\"tab.id\"></slot></code>\n                    </pre>\n\n                    <!-- Table -->\n                    <div\n                        v-if=\"activeTab === tab.id && tab.type === 'table'\"\n                        class=\"p-2 space-y-2 bg-slate-200 dark:bg-slate-800 rounded-b\"\n                    >\n                        <!-- Content -->\n                        <div\n                            v-for=\"row in tab.table.content\"\n                            :key=\"row\"\n                            class=\"bg-slate-300 border border-slate-400 dark:border-transparent dark:bg-slate-500 rounded p-2\"\n                        >\n                            <!-- Row -->\n                            <template v-for=\"header in tab.table.headers\" :key=\"header\">\n                                <div\n                                    v-if=\"row[header.id]\"\n                                    class=\"flex p-1 group border-b last:border-0 border-slate-600 hover:bg-slate-500 hover:-translate-y-[.2rem] dark:hover:bg-slate-600 hover:text-slate-100 hover:rounded hover:border-transparent\"\n                                    :class=\"header.id === 'description' ? 'flex-col' : 'justify-between'\"\n                                >\n                                    <!-- Header -->\n                                    <span\n                                        class=\"float-left after:content-[':'] font-semibold\"\n                                    >{{ header.label }}</span>\n\n                                    <!-- Regular Field -->\n                                    <span\n                                        v-if=\"(typeof row[header.id] !== 'object')\"\n                                        :class=\"{\n                                            'italic bg-slate-400/50 rounded p-2': header.id === 'description'\n                                        }\"\n                                    >{{ row[header.id] }}</span>\n\n                                    <!-- Object and Array Field -->\n                                    <span v-else class=\"pl-10 text-right\">\n                                        <span\n                                            v-for=\"item in row[header.id]\"\n                                            :key=\"item\"\n                                            class=\"mr-1 last:mr-0 select-all\"\n                                            :class=\"{\n                                                'font-semibold bg-slate-200/50 border border-sky-800/20 group-hover:bg-slate-300 group-hover:text-slate-700 dark:bg-blue-100/50 px-1 rounded': header.colorfulBg\n                                            }\"\n                                        >{{ item }}</span>\n                                    </span>\n                                </div>\n                            </template>\n                        </div>\n                    </div>\n                </template>\n            </div>\n        </transition>\n    </div>\n</template>\n\n<script>\nimport { defineComponent, nextTick, ref } from 'vue'\n\nexport default defineComponent({\n    name: \"TCodeShowCase\",\n    props: {\n        tabs: {\n            type: Array,\n            default() {\n                return [\n                    { id: 'js', label: 'JS', type: 'code', codeLang: 'javascript' },\n                    { id: 'template', label: 'Template', type: 'code', codeLang: 'html' },\n                    { id: 'props', label: 'Props' }\n                ]\n            }\n        }\n    },\n    setup() {\n        /* Select Tab */\n        const activeTab = ref();\n        const selectTab = (id) => {\n            if (activeTab.value !== id) {\n                activeTab.value = null\n                nextTick(() => {\n                    activeTab.value = id\n                });\n            } else {\n                activeTab.value = null\n            }\n        }\n\n        return { activeTab, selectTab }\n    },\n})\n</script>\n\n<style scoped>\n.fade-enter-active,\n.face-leave-active {\n    transition: all 300ms ease-in-out;\n}\n.fade-enter-from,\n.fade-leave-to {\n    opacity: 0.5;\n}\n.fade-leave-from,\n.fade-enter-to {\n    opacity: 1;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Collapsible/TCollapsible.vue",
    "content": "<template>\n  <div class=\"flex w-full\">\n    <div :class=\"tStyle\">\n      <slot></slot>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { computed, defineComponent, provide, ref, toRefs } from \"vue\";\n\nexport default defineComponent({\n  name: \"Collapsible\",\n  props: {\n    openingType: {\n      type: String,\n      default: \"click\"\n    },\n    radius: {\n      type: Number,\n      default: 3\n    },\n    accordion: {\n      type: Boolean,\n      default: false\n    },\n    triggerType: {\n      type: String,\n      default: \"chevron\"\n    },\n    separated: {\n      type: Boolean,\n      default: false\n    },\n    modelValue: {\n      type: Array,\n      default(){\n        return []\n      }\n    },\n    color: {\n      type: String,\n      default: null\n    },\n    design: {\n      type: String,\n      default: null\n    },\n    titleAlign: {\n      type: String,\n      default: null\n    },\n    triggerAlign: {\n      type: String,\n      default: null\n    }\n  },\n  setup(props) {\n    /*Definitions*/\n    const {\n      openingType,\n      modelValue,\n      triggerType,\n      separated,\n      radius,\n      color,\n      design,\n      titleAlign,\n      triggerAlign,\n      accordion\n    } = toRefs(props);\n\n    /*Provide*/\n    provide(\"openingType\", ref(openingType));\n    provide(\"activeItems\", ref(modelValue.value));\n    provide(\"radius\", ref(radius));\n    provide(\"accordion\", ref(accordion));\n    provide(\"separated\", ref(separated));\n    provide(\"rootColor\", ref(color));\n    provide(\"rootDesign\", ref(design));\n    provide(\"rootTitleAlign\", ref(titleAlign));\n    provide(\"rootTriggerAlign\", ref(triggerAlign));\n    provide(\"rootTriggerType\", ref(triggerType));\n\n    /*Generating Style Classes*/\n    const tStyle = computed(() => {\n      return \"collapsible\" + \" \" +\n        (separated.value ? \"space-y-2\" : \"group-radius-\" + radius.value);\n    });\n\n    return { tStyle };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Collapsible/TCollapsibleItem.vue",
    "content": "<template>\n  <div :class=\"tStyle['container']\">\n    <!--Inline Line-->\n    <div v-if=\"activeDesign === 'inline'\"\n         id=\"line\"\n         class=\"collapsible-inline-line\"\n    />\n    <div class=\"w-full\">\n      <!--Header-->\n      <div\n        :class=\"tStyle['header']\"\n        @click=\"updateStatus\"\n        @mouseenter.passive=\"openingType.includes('hover') ? updateStatus('open') :''\"\n      >\n        <!--Title-->\n        <div :class=\"tStyle['title']\">\n          <slot name=\"title\" />\n        </div>\n        <!--DropDown Icons-->\n        <!--Chevron-->\n        <svg v-if=\"activeTriggerType==='chevron'\" :class=\"tStyle['trigger']\" xmlns=\"http://www.w3.org/2000/svg\"\n             fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n          <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\" />\n        </svg>\n        <!--Cross-->\n        <svg v-else :class=\"tStyle['trigger']\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"\n             stroke=\"currentColor\">\n          <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\n        </svg>\n      </div>\n      <!--Content-->\n      <transition name=\"content\">\n        <div v-show=\"isVisibleContent\">\n          <div :class=\"tStyle['content']\">\n            <slot name=\"content\"></slot>\n          </div>\n        </div>\n\n      </transition>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { defineComponent, inject, toRefs, reactive, computed } from \"vue\";\nimport { uniqueId } from \"lodash\";\n\nexport default defineComponent({\n  name: \"CollapsibleItem\",\n  props: {\n    itemKey: {\n      type: [String, Number],\n      default: uniqueId()\n    },\n    titleAlign: {\n      type: String,\n      default: \"left\"\n    },\n    triggerAlign: {\n      type: String,\n      default: \"right\"\n    },\n    triggerType: {\n      type: String,\n      default: null,\n      require: false\n    },\n    design: {\n      type: String,\n      default: \"filled\"\n    },\n    color: {\n      type: String,\n      default: \"white\"\n    }\n  },\n  emits: [\"active\"],\n  setup(props, { emit }) {\n    /*Definitions*/\n    const { itemKey, titleAlign, triggerAlign, triggerType, design, color } = toRefs(props);\n\n    /*Injections*/\n    const activeItems = inject(\"activeItems\");\n    const openingType = inject(\"openingType\");\n    const accordion = inject(\"accordion\");\n    const radius = inject(\"radius\");\n    const separated = inject(\"separated\");\n    const rootColor = inject(\"rootColor\");\n    const rootDesign = inject(\"rootDesign\");\n    const rootTitleAlign = inject(\"rootTitleAlign\");\n    const rootTriggerAlign = inject(\"rootTriggerAlign\");\n    const rootTriggerType = inject(\"rootTriggerType\");\n\n    /*Taken Over Definitions from Root */\n    const activeColor = computed(() => {\n      return rootColor.value ? rootColor.value : color.value;\n    });\n    const activeDesign = computed(() => {\n      return rootDesign.value ? rootDesign.value : design.value;\n    });\n    const activeTitleAlign = computed(() => {\n      return rootTitleAlign.value ? rootTitleAlign.value : titleAlign.value;\n    });\n    const activeTriggerAlign = computed(() => {\n      return rootTriggerAlign.value ? rootTriggerAlign.value : triggerAlign.value;\n    });\n    const activeTriggerType = computed(() => {\n      return rootTriggerType.value ? rootTriggerType.value : triggerType.value;\n    });\n\n    /*Detection of Active Items*/\n    const isVisibleContent = computed(() => {\n      return activeItems.value.includes(itemKey.value);\n    });\n\n\n    /*Open-Close Actions*/\n    const updateStatus = (rule) => {\n      /*Open Function*/\n      const openItem = () => {\n        if (accordion.value && !activeItems.value.includes(itemKey.value)) {\n          activeItems.value = [itemKey.value];\n        } else if (!accordion.value && !activeItems.value.includes(itemKey.value)) {\n          activeItems.value.push(itemKey.value);\n        }\n        emit(\"active\", activeItems.value);\n      };\n      /*Close Function*/\n      const closeItem = () => {\n        if (activeItems.value.includes(itemKey.value)) {\n          activeItems.value.splice(activeItems.value.indexOf(item => item === itemKey.value), 1);\n        }\n        emit(\"active\", activeItems.value);\n      };\n      /*Open/Close Action Controller*/\n      if (rule === \"open\") {\n        openItem();\n      } else if (rule === \"close\") {\n        closeItem();\n      } else {\n        if (isVisibleContent.value) {\n          closeItem();\n        } else {\n          openItem();\n        }\n      }\n    };\n\n    /*Generating Style Classes*/\n    const tStyle = reactive({});\n    tStyle[\"container\"] = computed(() => {\n      return \"collapsible-container \" +\n        \"collapsible-\" + activeDesign.value + \"-base \" +\n        \"collapsible-\" + activeDesign.value + \"-\" + activeColor.value + \" \" +\n        (separated.value ? \"radius-\" + radius.value + \" border-0\" : \"\") + \" \" +\n        (activeDesign.value.valueOf().includes(\"line\") ? \"justify-between\" : \"flex-col\");\n    });\n    tStyle[\"header\"] = computed(() => {\n      let triggerAlignStyle;\n      /*Trigger Position*/\n      if (activeTriggerAlign.value === \"left\") {\n        triggerAlignStyle = \"flex-row-reverse\";\n      } else {\n        triggerAlignStyle = \"justify-start\";\n      }\n\n      return \"collapsible-header \" +\n        triggerAlignStyle;\n    });\n    tStyle[\"trigger\"] = computed(() => {\n      let triggerAnimationStyle;\n      if (isVisibleContent.value && activeTriggerType.value === \"chevron\" || activeTriggerType.value === \"cross\") {\n        triggerAnimationStyle = \"rotate-0\";\n      }\n\n      if (!isVisibleContent.value && activeTriggerType.value === \"chevron\") {\n        if (activeTriggerAlign.value === \"right\") {\n          triggerAnimationStyle = \"rotate-90\";\n        } else {\n          triggerAnimationStyle = \"-rotate-90\";\n        }\n      }\n\n      if (!isVisibleContent.value && activeTriggerType.value === \"cross\") {\n        triggerAnimationStyle = \"rotate-45\";\n      }\n\n      return \"collapsible-trigger-icon \" +\n        triggerAnimationStyle;\n    });\n    tStyle[\"title\"] = computed(() => {\n      let titleAlignStyle;\n      if (activeTitleAlign.value === \"left\") {\n        titleAlignStyle = \"text-left\";\n      } else if (activeTitleAlign.value === \"center\") {\n        titleAlignStyle = \"justify-center\";\n      } else {\n        titleAlignStyle = \"flex-row-reverse\";\n      }\n\n      return \"collapsible-title \" + titleAlignStyle;\n    });\n    tStyle[\"content\"] = computed(() => {\n      return \"collapsible-content \";\n    });\n\n    return {\n      isVisibleContent,\n      openingType,\n      updateStatus,\n      tStyle,\n      activeTriggerType,\n      activeDesign\n    };\n  }\n});\n</script>\n\n<style>\n.content-enter-active, .content-leave-active {\n  transition: all 300ms ease-in-out;\n}\n\n.content-enter-from, .content-leave-to {\n  max-height: 0;\n}\n\n.content-enter-to, .content-leave-from {\n  max-height: 100vmax;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Dropdown/TDropdown.vue",
    "content": "<template>\n  <div class=\"dropdown\" ref=\"dropDownItem\">\n\n    <!--Trigger as a Simple Trigger-->\n    <div\n      v-if=\"triggerType === 'button'\"\n      :class=\"tStyle['buttonTrigger']\"\n      @click=\"updateStatus\"\n    >\n      <t-button type=\"button\" :color=\"buttonColor\" :design=\"buttonDesign\" :size=\"buttonSize\">\n        <slot name=\"trigger\" />\n        <t-chevron-down-icon :class=\"tStyle['triggerIcon']\" />\n      </t-button>\n\n    </div>\n\n    <!--Trigger as a Rich Item-->\n    <div\n      class=\"dropdown-rich-trigger\"\n      v-if=\"triggerType === 'rich'\"\n      @click=\"updateStatus\"\n    >\n      <slot name=\"trigger\" />\n    </div>\n\n    <!--Content-->\n    <transition name=\"dropDown\">\n      <div v-if=\"isVisible\" class=\"dropdown-content-container\">\n        <!--Button Trigger Content-->\n        <div\n          v-if=\"triggerType === 'button'\"\n          :class=\"tStyle['buttonTriggerContent']\">\n          <slot />\n        </div>\n        <!--Rich Trigger Content-->\n        <div\n          v-if=\"triggerType === 'rich'\"\n          :class=\"tStyle['richTriggerContent']\"\n        >\n          <slot />\n        </div>\n      </div>\n    </transition>\n  </div>\n</template>\n\n<script>\nimport { computed, defineComponent, provide, reactive, ref, toRefs } from \"vue\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport TChevronDownIcon from \"@/Components/Icon/TChevronDownIcon.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\n\nexport default defineComponent({\n  name: \"TDropdown\",\n  components: { TButton, TChevronDownIcon },\n  props: {\n    align: {\n      type: String,\n      default: \"left\"\n    },\n    buttonColor: {\n      type: String,\n      default: \"blue\"\n    },\n    buttonDesign: {\n      type: String,\n      default: \"filled\"\n    },\n    buttonSize: {\n      type: String,\n      default: \"normal\"\n    },\n    size: {\n      type: String,\n      default: \"wide\"\n    },\n    triggerType: {\n      type: String,\n      default: \"button\"\n    },\n    radius: {\n      type: Number,\n      default: 3\n    }\n  },\n  setup(props) {\n    /*Definitions*/\n    const { align, size, radius, triggerType } = toRefs(props);\n    const isVisible = ref(false);\n    const dropDownItem = ref(null);\n\n    /*Provides*/\n    provide(\"triggerType\", ref(triggerType));\n\n    /*Open-Close Actions*/\n    const updateStatus = () => {\n      isVisible.value = !isVisible.value;\n    };\n    onClickOutside(dropDownItem, () => isVisible.value = false);\n\n    /*Generating Style Classes*/\n    const tStyle = reactive({})\n    tStyle['buttonTrigger'] = computed(() => {\n      return \"dropdown-button-trigger\" + \" \" +\n        \"radius-\" + radius.value;\n    });\n    tStyle['content'] = computed(() => {\n      return \"dropdown-content-\" + align.value + \" \" +\n        \"dropdown-content-\" + size.value;\n    });\n    tStyle['buttonTriggerContent'] = computed(() => {\n      return \"dropdown-button-trigger-content\" + \" \" +\n        tStyle['content'];\n    });\n    tStyle['richTriggerContent'] = computed(() => {\n      return \"dropdown-rich-trigger-content\" + \" \" +\n        tStyle['content'];\n    });\n    tStyle['triggerIcon'] = computed(() => {\n      return \"dropdown-trigger-icon \" +\n        (isVisible.value ? \"rotate-90\" : \"rotate-0\");\n    });\n\n    return {\n      isVisible,\n      updateStatus,\n      dropDownItem,\n      tStyle\n    };\n  }\n});\n</script>\n\n<style scoped>\n.dropDown-enter-active, .dropDown-leave-active {\n  transition: all ease-in-out 300ms;\n  z-index: 9999;\n}\n\n.dropDown-enter-from, .dropDown-leave-to {\n  transform: scaleY(.75) scaleX(.75);\n  opacity: 0;\n}\n\n.dropDown-enter-to, .dropDown-leave-from {\n  transform: scaleY(1) scaleX(1);\n  opacity: 1;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Dropdown/TDropdownItem.vue",
    "content": "<template>\n  <div class=\"dropdown-item-container\">\n    <Link\n      :href=\"link\"\n      v-if=\"link\"\n      class=\"dropdown-item\"\n    >\n      <div v-if=\"hasSlot('icon')\" class=\"dropdown-icon\">\n        <slot name=\"icon\"></slot>\n      </div>\n      <div class=\"flex\">\n        <slot></slot>\n      </div>\n    </Link>\n    <slot v-else></slot>\n\n  </div>\n</template>\n\n<script>\nimport { defineComponent, useSlots } from \"vue\";\nimport { Link } from \"@inertiajs/vue3\";\n\nexport default defineComponent({\n  name: \"TDropdownItem\",\n  components: {\n    Link\n  },\n  props: {\n    link: {\n      type: String,\n      default: null\n    }\n  },\n  setup(props,{slots}) {\n\n    /*Slot Check*/\n    const hasSlot = name => !!useSlots()[name];\n\n    return { hasSlot };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputBetween.vue",
    "content": "<template>\n    <div class=\"grid grid-cols-12 gap-4\">\n        <!--From : Text Input-->\n        <t-input-text\n            class=\"col-span-5\"\n            placeholder=\"from\"\n            :model-value=\"modelValue.from\"\n        />\n        <!--Divider-->\n        <span class=\"col-span-2 flex justify-center items-center\">\n            <svg class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 8l4 4m0 0l-4 4m4-4H3\"></path></svg>\n        </span>\n        <!--To : Text Input-->\n        <t-input-text\n            class=\"col-span-5\"\n            placeholder=\"to\"\n            :model-value=\"modelValue.to\"\n        />\n    </div>\n</template>\n\n<script>\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\n\nexport default {\n    name: \"TInputBetween\",\n    components: {TInputText},\n    props: {\n        modelValue: {\n            type: Object,\n            default() {\n                return {\n                    from: null,\n                    to: null\n                }\n            }\n        },\n        inputType: {\n            type: String,\n            default: 'text'\n        }\n    },\n    emits: ['update:modelValue'],\n    setup() {\n    }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputCheckBox.vue",
    "content": "<template>\n    <!--TODO:Styles will be separated-->\n    <div class=\"flex flex-row items-center\" @click=\"!disabled && updateField()\">\n        <div\n            :class=\"[\n                'flex flex-shrink-0 justify-center items-center w-5 h-5 border mr-1',\n                isChecked && 'bg-'+color+'-100',\n                checkboxStyle(),\n                radiusStyle\n                ]\">\n            <div v-if=\"isChecked\" :class=\"'text-'+color+'-500'\">\n\n                <slot v-if=\"$slots.icon\" name=\"icon\"/>\n                <div v-else :class=\"['flex w-3 h-3',defaultSelectorStyle(),radiusStyle]\"></div>\n            </div>\n        </div>\n\n        <!--Label-->\n        <span v-if=\"label\" v-text=\"label\" class=\"whitespace-nowrap\"></span>\n    </div>\n</template>\n\n<script>\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\nimport TCheckIcon from \"@/Components/Icon/TCheckIcon.vue\";\nimport {computed, defineComponent, ref, toRefs} from \"vue\";\n\nexport default defineComponent({\n    name: 'TInputCheckBox',\n    components: {TCheckIcon},\n    mixins: [radiusSizeMixin],\n    props: {\n        modelValue: [Array, Boolean],\n        inputValue: String,\n        multipleOption: {\n            type: Boolean,\n            default: false\n        },\n        label: String,\n        color: {\n            type: String,\n            default: 'white'\n        },\n        id: String,\n        disabled: Boolean\n    },\n    emits: ['update:modelValue'],\n    setup(props, {emit}) {\n        /*Definitions*/\n        const {multipleOption, color, inputValue, modelValue} = toRefs(props)\n\n        /*Generating Style Classes*/\n        const checkboxStyle = () => {\n            let style;\n            if (color.value === 'white') {\n                style = 'bg-white hover:bg-blue-100 checked:bg-indigo-200 border-gray-300 text-gray-600'\n            } else if (color.value === 'black') {\n                style = 'bg-white hover:bg-gray-500 checked:bg-indigo-200 border-black text-gray-100'\n            } else {\n                style = 'bg-white hover:bg-' + color.value + '-200 active:bg-' + color.value + '-200 border-' + color.value + '-500'\n            }\n            return style\n        }\n\n        const defaultSelectorStyle = () => {\n            let style;\n            if (color.value === 'white') {\n                style = 'bg-gray-500'\n            } else if (color.value === 'black') {\n                style = 'bg-gray-800'\n            } else {\n                style = 'bg-' + color.value + '-500'\n            }\n            return style\n        }\n\n        /*Default Value Control*/\n        const isChecked = computed(() => {\n            if (multipleOption.value) {\n                return modelValue.value.includes(inputValue.value)\n            }\n            return !!modelValue.value\n        })\n\n        /*Update Action*/\n        const updateField = () => {\n            let newValue = modelValue.value\n            if (multipleOption.value) {\n                if (!modelValue.value.includes(inputValue.value)) {\n                    newValue.push(inputValue.value);\n                } else {\n                    newValue.splice(modelValue.value.indexOf(inputValue.value), 1);\n                }\n            } else {\n                newValue = !newValue\n            }\n            emit('update:modelValue', newValue);\n        }\n\n        return {isChecked, checkboxStyle, defaultSelectorStyle, updateField}\n    }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputDate.vue",
    "content": "<template>\n    <date-picker\n        v-model=\"date\"\n        :is24hr=\"is24hr\"\n        :isRange=\"isRange\"\n        :masks=\"{ type: 'string', mask: masks }\"\n        :mode=\"mode\"\n    >\n        <template v-slot=\"{ inputValue, inputEvents, togglePopover }\">\n            <div class=\"relative flex items-center\">\n                <t-input-text\n                    v-if=\"!isRange\"\n                    :modelValue=\"inputValue\"\n                    v-on=\"inputEvents\"\n                    :placeholder=\"masks\"\n                    @click=\"togglePopover()\"\n                    :radius=\"temporaryRadius\"\n                >\n                    <template #append>\n                        <div class=\"flex px-1 overflow-hidden\">\n                            <!-- Clear Icon -->\n                            <icon\n                                icon=\"times-circle\"\n                                v-if=\"!isRange && date && clearButton\"\n                                class=\"cursor-pointer hover:text-red-500 mr-2\"\n                                @click=\"date = null\"\n                            />\n\n                            <!-- Icon -->\n                            <icon\n                                :icon=\"mode.toLowerCase().includes('time') && !mode.toLowerCase().includes('date') ? 'clock' : mode.toLowerCase().includes('date') && !mode.toLowerCase().includes('time') ? 'calendar' : 'calendar-minus'\"\n                                v-if=\"mode\"\n                                @click=\"togglePopover()\"\n                            />\n                        </div>\n                    </template>\n                </t-input-text>\n                <div\n                    v-if=\"isRange\"\n                    class=\"input flex-wrap sm:justify-between items-center pl-2 cursor-pointer w-full overflow-hidden\"\n                    :class=\"`radius-${temporaryRadius}`\"\n                    @click=\"togglePopover()\"\n                >\n                    <div v-if=\"date\">\n                        <span class=\"text-center mr-1 py-1 whitespace-nowrap\">\n                            <b>Start:</b>\n                        </span>\n                        {{ inputValue.start }}\n                    </div>\n                    <div v-if=\"date\">\n                        <span class=\"text-center mr-3 py-1 whitespace-nowrap\">\n                            <b>End:</b>\n                        </span>\n                        {{ inputValue.end }}\n                    </div>\n                    <div v-if=\"isRange && !date\">Please click for select</div>\n                    <div class=\"flex min-w-[2.5rem] justify-center text-input-append\">\n                        <!-- Clear Icon -->\n                        <icon\n                            icon=\"times-circle\"\n                            v-if=\"isRange && date\"\n                            class=\"cursor-pointer hover:text-red-500 mr-2\"\n                            @click=\"date = null\"\n                        />\n\n                        <!-- Icon -->\n                        <icon\n                            :icon=\"mode.toLowerCase().includes('time') && !mode.toLowerCase().includes('date') ? 'clock' : mode.toLowerCase().includes('date') && !mode.toLowerCase().includes('time') ? 'calendar' : 'calendar-minus'\"\n                            v-if=\"mode\"\n                            @click=\"togglePopover()\"\n                        />\n                    </div>\n                </div>\n            </div>\n        </template>\n    </date-picker>\n</template>\n\n<script>\n/* Main function */\nimport { defineComponent, toRefs, ref, watch, inject } from 'vue';\nimport { DatePicker } from 'v-calendar';\nimport 'v-calendar/style.css';\n/* Components */\nimport TInputText from '@/Components/Form/Inputs/TInputText.vue';\n\n/*Sources*/\nimport { inputDateConf } from \"@/config\";\n\n/*Fontawesome icons*/\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faClock, faCalendar, faCalendarMinus, faTimesCircle } from \"@fortawesome/free-solid-svg-icons\";\n\nlibrary.add(faClock, faCalendar, faCalendarMinus, faTimesCircle)\n\nexport default defineComponent({\n    props: {\n        modelValue: {\n            type: [String, Array, Object],\n            default: null\n        },\n        mode: {\n            type: String,\n            default: 'date'\n        },\n        masks: {\n            type: String,\n            default: 'DD-MM-YYYY'\n        },\n        is24hr: {\n            type: Boolean,\n            default: false\n        },\n        isRange: {\n            type: Boolean,\n            default: false\n        },\n        radius: {\n            type: Number,\n            default: null\n        },\n        clearButton: {\n            type: Boolean,\n            default: true\n        },\n    },\n    components: {\n        TInputText,\n        DatePicker,\n    },\n    emits: ['update:modelValue'],\n    setup(props, { emit }) {\n        const { modelValue, radius } = toRefs(props);\n        const date = ref(modelValue.value ? modelValue.value : new Date())\n        const inertnalDate = ref(null)\n        const appConf = inject('appConf');\n\n        /*Temporary Definations*/\n        const temporaryRadius = ref(radius.value ? radius.value : inputDateConf.radius ? inputDateConf.radius : appConf.value.radius)\n\n        watch(modelValue, () => {\n            date.value = modelValue.value\n        })\n\n        watch(date, () => {\n            emit('update:modelValue', date.value)\n        })\n\n        return {\n            temporaryRadius,\n            inertnalDate,\n            date\n        }\n    }\n})\n</script>\n\n<style scoped>\n* >>> select {\n    background-image: none;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputFile.vue",
    "content": "<template>\n    <div>\n        <!--Preview-->\n        <div\n            v-if=\"files.length>0 && preview && !multiple\"\n            :class=\"['flex justify-center items-center my-2 overflow-hidden',radiusStyle]\"\n        >\n            <img v-if=\"files[0].type.split('/')[0] === 'image'\" :class=\"['max-h-36 w-auto p-1 border',radiusStyle]\"\n                 :src=\"files[0] | urlGenerator\"/>\n        </div>\n        <!--Input-->\n        <div :class=\"['flex border items-center overflow-hidden',radiusStyle]\">\n            <input ref=\"input\" class=\"hidden\" type=\"file\" :multiple=\"multiple\" @change=\"updateFile\"/>\n            <!--Single File Title & Size-->\n            <div v-if=\"!multiple && files.length>0\"\n                 class=\"flex flex-wrap flex-grow overflow-hidden p-2 justify-between items-center\">\n                <!--File Title-->\n                <div class=\"flex overflow-hidden whitespace-nowrap\">\n                    {{ files[0].name }}\n                </div>\n                <!--File Size-->\n                <div class=\"flex overflow-hidden whitespace-nowrap\">\n                    Size: {{ files[0].size | sizeCalculator }}\n                </div>\n            </div>\n            <!--Multiple File-->\n            <div v-else class=\"flex px-4 overflow-hidden whitespace-nowrap w-full\">\n                {{ files.length === 0 ? 'Please select some files' : files.length + ' files added' }}\n            </div>\n            <!--Buttons-->\n            <div class=\"flex flex-grow-0 flex-shrink-0 items-center space-x-2\">\n                <button\n                    v-if=\"files[0]\"\n                    class=\"input-clear-button\"\n                    type=\"button\"\n                    @click=\"clearFile\"\n                >\n                  <svg class=\"input-clear-icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\n                  </svg>\n                </button>\n                <button\n                    class=\"form-control min-h-10 px-2 border-l outline-none focus:outline-none whitespace-nowrap\"\n                    type=\"button\"\n                    @click=\"$refs.input.click()\"\n                >\n                    {{ browseLabel }}\n                </button>\n            </div>\n        </div>\n        <!--Multiple File Area-->\n        <transition name=\"fade\">\n            <div v-if=\"files.length>0 && multiple\" :class=\"['flex flex-col border w-full p-4 mt-2',radiusStyle]\">\n                <transition-group name=\"fade\" tag=\"div\">\n                    <div v-for=\"(item,index) in files\"\n                         :class=\"['flex flex-wrap justify-between items-center border p-2 w-full my-1',radiusStyle]\"\n                         :key=\"item.index\">\n                        <!--Left Area-->\n                        <div class=\"flex justify-start items-center gap-4\">\n                            <!--File Preview-->\n                            <div v-if=\"preview\">\n                                <img v-if=\"item.type.split('/')[0] === 'image'\" :class=\"['h-14 w-14 p-1 border object-cover',radiusStyle]\" :src=\"item | urlGenerator\"/>\n                                <t-video-icon v-else-if=\"item.type.split('/')[0] === 'video'\" :class=\"['w-14 h-14 p-3 border text-gray-600',radiusStyle]\"/>\n                                <t-audio-icon v-else-if=\"item.type.split('/')[0] === 'audio'\" :class=\"['w-14 h-14 p-3 border text-gray-600',radiusStyle]\"/>\n                                <div v-else :class=\"['relative flex justify-center items-center w-14 h-14 border text-gray-600',radiusStyle]\">\n\n                                    <t-document-icon class=\"w-12 h-12\"/>\n                                    <span class=\"absolute flex pt-0.5 w-10 rounded-md items-center justify-center bg-gray-600 text-white top-5 text-sm font-semibold overflow-hidden\">\n                                       {{ item.name | upperCase}}\n                                   </span>\n                                </div>\n                            </div>\n                            <!--File Name-->\n                            <span class=\"font-semibold\">\n                            {{ item.name }}\n                        </span>\n                        </div>\n                        <!--Right Area-->\n                        <div class=\"flex justify-between items-center gap-4\">\n                            <!--File Size-->\n                            <span>\n                                <t-badge>\n                                    {{ item.size | sizeCalculator }}\n                                </t-badge>\n                            </span>\n                            <!--Delete Button-->\n                            <t-button type=\"button\" color=\"red\" @click.native=\"deleteFile(index)\">\n                                <t-trash-icon class=\"w-5 h-5\"/>\n                            </t-button>\n                        </div>\n                    </div>\n                </transition-group>\n            </div>\n        </transition>\n\n    </div>\n</template>\n\n<script>\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\nimport Button from \"@/Pages/Samples/Components/Button.vue\";\nimport TXIcon from \"@/Components/Icon/TXIcon.vue\";\nimport TTrashIcon from \"@/Components/Icon/TTrashIcon.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\nimport TPaperClipIcon from \"@/Components/Icon/TPaperClipIcon.vue\";\nimport TAudioIcon from \"@/Components/Icon/TAudioIcon.vue\";\nimport TVideoIcon from \"@/Components/Icon/TVideoIcon.vue\";\nimport TDocumentIcon from \"@/Components/Icon/TDocumentIcon.vue\";\n\nexport default {\n    name: \"TInputFile\",\n    components: {TDocumentIcon, TVideoIcon, TAudioIcon, TPaperClipIcon, TBadge, TTrashIcon, TXIcon, Button, TButton},\n    mixins: [radiusSizeMixin],\n    props: {\n        value: {},\n        multiple: {\n            type: Boolean,\n            default: false\n        },\n        browseLabel: {\n            default: 'Browse'\n        },\n        placeholder: {\n            default: 'Please choose a file'\n        },\n        preview: {\n            type: Boolean,\n            default: false\n        }\n    },\n    data() {\n        return {\n            files: [],\n        }\n    },\n    methods: {\n        clearFile() {\n            this.$refs.input.value = null\n            this.files = []\n            this.$emit('input', null)\n        },\n        deleteFile(index) {\n            this.files.splice(index, 1)\n            this.$refs.input.files = null\n            this.$emit('input', this.files)\n        },\n        updateFile() {\n            let x = 0;\n            for (x = 0; x < this.$refs.input.files.length; x++) {\n                this.$refs.input.files[x].index = x\n                this.files.push(this.$refs.input.files[x])\n            }\n            this.$emit('input', this.files)\n        }\n    },\n    filters: {\n        sizeCalculator(value) {\n            let sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\n            if (value === 0) return \"0 Byte\";\n            let i = parseInt(Math.floor(Math.log(value) / Math.log(1024)));\n            return Math.round(value / Math.pow(1024, i), 2) + \" \" + sizes[i];\n        },\n        urlGenerator(value) {\n            return URL.createObjectURL(value)\n        },\n        upperCase(value){\n            return value.toUpperCase().split('.')[value.toUpperCase().split('.').length-1]\n        }\n    }\n}\n</script>\n\n<style scoped>\n.fade-enter-active, .fade-leave-active {\n    transition: all .4s ease;\n}\n\n.fade-enter-from, .fade-leave-to {\n    opacity: 0;\n    transform: translateY(30px);\n    max-height: 0;\n}\n\n.fade-enter-to, .fade-leave-from {\n    opacity: 1;\n    transform: translateX(30px);\n    max-height: 100%;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputInlineEditableRepeatable.vue",
    "content": "<template>\n    <div class=\"relative\">\n        <!--Adding Form-->\n        <div class=\"justify-between items-center flex  cursor-pointer text-gray-600\">\n            <!--Conditional View-->\n            <!--Fields-->\n            <div class=\"flex flex-col space-y-2 w-full\">\n                <div v-for=\"(item,index) in value\" class=\"flex flex-col w-full items-center\" :key=\"index\">\n                    <div class=\"flex flex-row items-center w-full\">\n                        <!--Counter-->\n                        <span class=\"flex mr-2 font-semibold text-md text-gray-400\" :class=\"nullError && value[index] === null && 'text-red-500'\">{{ index+1 }}.</span>\n                        <!--Field-->\n                        <label :for=\"value\" class=\"flex w-full\">\n                            <input v-model=\"value[index]\" type=\"text\" name=\"value\" class=\"flex w-full rounded border border-gray-300 p-2 text-gray-500\" :class=\"nullError && value.length === index+1 && 'border-red-500 placeholder-red-500'\" :placeholder=\"nullError && value.length === index+1 ? 'Please fill this field' : placeHolderText\" />\n                        </label>\n                        <!--Delete Button-->\n                        <span class=\"col-span-1\" @click=\"deleteItem(index)\">\n                            <t-trash-icon class=\"w-6 h-5 text-red-500 cursor-pointer\"/>\n                        </span>\n                    </div>\n                    <!--Add Button-->\n                    <div class=\"flex flex-col w-full pl-4 pr-6 mt-2\">\n                        <t-button v-if=\"index === value.length-1\" type=\"button\" color=\"green\" @click.native=\"addItem(index)\" size=\"sm\">\n                            <t-plus-circle-icon class=\"w-6 h-5 cursor-pointer mr-2\"/>\n                            Add new item\n                        </t-button>\n                    </div>\n\n                </div>\n                <!--Placeholder-->\n                <t-button\n                    type=\"button\"\n                    design=\"light\"\n                    color=\"green\"\n                    v-if=\"value.length === 0\"\n                    @click.native=\"addItem\"\n                >\n                    <t-plus-circle-icon class=\"w-6 h-5 cursor-pointer mr-2\"/>\n                    No items found, add new item\n                </t-button>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport TPlusCircleIcon from \"@/Components/Icon/TPlusCircleIcon.vue\";\nimport TTrashIcon from \"@/Components/Icon/TTrashIcon.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nexport default {\n    props:['placeHolderText','value'],\n    components: {\n        TButton,\n        TTrashIcon,\n        TPlusCircleIcon,\n    },\n    data(){\n      return{\n          nullError:false,\n      }\n    },\n    methods: {\n        reset(){\n            this.valueName =null;\n            this.nullError=false;\n        },\n        addItem(index){\n            if(this.value[index]=== null || this.value[index]=== ''){\n                this.nullError = true;\n            }else{\n\n                this.value.push(null);\n                this.reset();\n            }\n\n        },\n        deleteItem(index){\n            this.value.splice(index,1);\n        }\n    }\n}\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputMultiSelect.vue",
    "content": "<template>\n    <div class=\"input-select\" ref=\"selectItem\">\n        <!--Select Container-->\n        <div\n            class=\"select-container\"\n            @click=\"updateOptionsShowStatus\"\n        >\n\n            <!--Icon-->\n            <div\n                v-if=\"hasSlot('icon')\"\n                class=\"select-input-icon\"\n                :class=\"`radius-l-${radius}`\"\n            >\n                <slot name=\"icon\"/>\n            </div>\n\n            <!--Select Trigger-->\n            <div\n                class=\"select-trigger\"\n                :class=\"[\n                    hasSlot('icon') ? `radius-r-${radius}` : `radius-${radius}`,\n                    {'input-disabled' : disabled },\n                    disabled || readOnly ? 'cursor-not-allowed' : 'cursor-pointer',\n                    ]\"\n            >\n\n                <!--Texts-->\n                <div class=\"select-trigger-text\">\n\n                    <transition name=\"fade\" mode=\"out-in\">\n\n                        <!--Placeholder Text-->\n                        <span\n                            v-if=\"modelValue === [] || modelValue === null || modelValue.length === 0\"\n                            v-text=\"t(placeHolder)\"\n                            class=\"select-trigger-placeholder\"\n                        />\n\n                        <!--Selected Option-->\n                        <div\n                            v-else\n                            class=\"multi-select-selected-options-container\"\n                        >\n\n                            <template\n                                v-for=\"option in selectedOptions\"\n                                :key=\"option[optionsValueKey]\"\n                            >\n                                <t-badge class=\"multi-select-selected-badge\">\n                                    <template #icon v-if=\"!readOnly && !disabled\">\n                                        <!--Clear Icon-->\n                                        <svg\n                                            @click.stop=\"selectOption(option)\"\n                                            class=\"multi-select-option-clear-icon\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                                d=\"M6 18L18 6M6 6l12 12\"\n                                            />\n                                        </svg>\n                                    </template>\n                                    <!--ScopeSlot Rich Label-->\n                                    <slot\n                                        v-if=\"hasSlot('label') && !disabled\"\n                                        :props=\"option\"\n                                        name=\"label\"\n                                        v-html=\"option[optionsLabelKey]\"\n                                    />\n\n                                    <!--Simple Text Label-->\n                                    <span\n                                        v-if=\"!hasSlot('label') && !disabled\"\n                                        v-text=\"option[optionsLabelKey]\"\n                                    />\n                                </t-badge>\n                            </template>\n\n                        </div>\n\n                    </transition>\n\n                </div>\n\n                <!--Icons-->\n                <div class=\"inline-flex\">\n\n                    <!--Clear Icon-->\n                    <svg\n                        v-if=\"clearButton && selectedOptions.length>0 && !readOnly && !disabled\"\n                        @click.stop=\"clear\"\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                        class=\"input-clear-icon\"\n                        fill=\"none\"\n                        viewBox=\"0 0 24 24\"\n                        stroke=\"currentColor\"\n                    >\n                        <path\n                            stroke-linecap=\"round\"\n                            stroke-linejoin=\"round\"\n                            stroke-width=\"2\" d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n                        />\n                    </svg>\n\n                    <!--Dropdown Icon-->\n                    <svg\n                        class=\"w-5 h-5 transform\"\n                        :class=\"[\n                            showOptions ? 'rotate-90' : 'rotate-0',\n                            'transition-size-short'\n                            ]\"\n                        @click.stop=\"updateOptionsShowStatus\"\n                        fill=\"none\"\n                        stroke=\"currentColor\"\n                        viewBox=\"0 0 24 24\"\n                        xmlns=\"http://www.w3.org/2000/svg\">\n                        <path\n                            stroke-linecap=\"round\"\n                            stroke-linejoin=\"round\"\n                            stroke-width=\"2\"\n                            d=\"M19 9l-7 7-7-7\">\n                        </path>\n                    </svg>\n\n                </div>\n\n            </div>\n\n        </div>\n\n        <!--Options Container-->\n        <transition name=\"fade\">\n            <div\n                v-if=\"showOptions\"\n                class=\"select-options-container\"\n                :class=\"`radius-${radius}`\"\n            >\n                <!--Options Content-->\n                <div\n                    class=\"select-options-content\"\n                    :class=\"{'max-h-56': !search}\"\n                >\n\n                    <!--Search Box-->\n                    <div\n                        v-if=\"search && options.length>0\"\n                        class=\"select-search-container\"\n                    >\n                        <t-input-text\n                            v-model=\"searchText\"\n                            :placeholder=\"t(searchPlaceHolder)\"\n                            icon-type=\"inside\"\n                        >\n                            <template #icon>\n                                <svg\n                                    xmlns=\"http://www.w3.org/2000/svg\"\n                                    class=\"h-6 w-6\"\n                                    fill=\"none\"\n                                    viewBox=\"0 0 24 24\"\n                                    stroke=\"currentColor\"\n                                >\n                                    <path\n                                        stroke-linecap=\"round\"\n                                        stroke-linejoin=\"round\"\n                                        stroke-width=\"2\"\n                                        d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n                                    />\n                                </svg>\n                            </template>\n                        </t-input-text>\n                    </div>\n\n                    <!--Options List-->\n                    <template v-for=\"(option,index) in searchedList\">\n                        <div\n                            v-if=\"search ? index<showingMaxOptions : true\"\n                            :key=\"option[optionsValueKey]\"\n                            :class=\"[\n                                'select-option-item',\n                                {'select-option-active-item':modelValue.includes(option[optionsValueKey])},\n                                `radius-${radius}`\n                                ]\"\n                            @click=\"selectOption(option)\"\n                        >\n\n                            <!--ScopeSlot Rich Label-->\n                            <slot\n                                v-if=\"hasSlot('label')\"\n                                :props=\"option\"\n                                name=\"label\"\n                                v-html=\"option[optionsLabelKey]\"\n                            />\n\n                            <!--Simple Text Label-->\n                            <span\n                                v-else\n                                v-text=\"option[optionsLabelKey]\"\n                            />\n\n                            <!--Selected Indicator Icon-->\n                            <svg v-if=\"modelValue.includes(option[optionsValueKey])\"\n                                 xmlns=\"http://www.w3.org/2000/svg\"\n                                 class=\"select-option-active-item-icon\"\n                                 viewBox=\"0 0 20 20\"\n                                 fill=\"currentColor\"\n                            >\n                                <path\n                                    fill-rule=\"evenodd\"\n                                    d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\"\n                                    clip-rule=\"evenodd\"\n                                />\n                            </svg>\n\n                        </div>\n                    </template>\n\n                    <!--Empty Source Message-->\n                    <div\n                        v-if=\"options.length === 0\"\n                        v-text=\"t('component.input.select.addSource')\"\n                    />\n\n                </div>\n                <!--Many Items Notification-->\n                <div\n                    v-if=\"searchedList.length>showingMaxOptions && search\"\n                    class=\"select-many-result\"\n                >\n                    {{\n                        t('component.input.select.manyResults', {\n                            showingMaxOptions: showingMaxOptions,\n                            totalOptions: searchedList.length\n                        })\n                    }}\n                </div>\n            </div>\n        </transition>\n    </div>\n</template>\n\n<script>\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\nimport {onClickOutside} from \"@vueuse/core\";\nimport {defineComponent, useSlots, ref, toRefs, computed} from \"vue\";\nimport {useI18n} from \"vue-i18n\";\n\nexport default defineComponent({\n    name: \"TInputMultiSelect\",\n    components: {TBadge, TInputText},\n    props: {\n        modelValue: {\n            type: [String, Date, Number, Object, Array, Boolean],\n            default(){\n                return []\n            }\n        },\n        options: {\n            type: [Object, Array],\n            default() {\n                return [];\n            }\n        },\n        optionsLabelKey: {\n            type: String,\n            default: \"label\"\n        },\n        optionsValueKey: {\n            type: String,\n            default: \"key\"\n        },\n        placeHolder: {\n            type: String,\n            default: \"component.input.select.select\"\n        },\n        searchPlaceHolder: {\n            type: String,\n            default: \"component.input.select.search\"\n        },\n        clearButton: {\n            type: Boolean,\n            default: true\n        },\n        disabled: {\n            type: Boolean,\n            default: false\n        },\n        readOnly: {\n            type: Boolean,\n            default: false\n        },\n        search: {\n            type: Boolean,\n            default: false\n        },\n        showingMaxOptions: {\n            type: Number,\n            default: 10\n        },\n        radius: {\n            type: Number,\n            default: 3\n        }\n    },\n    emits: ['update:modelValue'],\n    setup(props, {emit, slots}) {\n        /*Definitions*/\n        const {\n            modelValue,\n            options,\n            optionsLabelKey,\n            optionsValueKey,\n            disabled,\n            readOnly\n        } = toRefs(props);\n\n\n        /*i18n*/\n        const {t} = useI18n();\n\n        /*Update Show/Hide Status of The Options List*/\n        const showOptions = ref(false);\n        const updateOptionsShowStatus = () => {\n            if (disabled.value || readOnly.value) {\n                showOptions.value = false;\n            } else {\n                showOptions.value = !showOptions.value;\n            }\n        };\n\n        /*Outside Click Event*/\n        const selectItem = ref(null);\n        onClickOutside(selectItem, () => showOptions.value = false);\n\n        /*Select Item*/\n        const selectedIDs = ref([])\n        const selectedOptions = computed(() => {\n            if (!modelValue.value) {\n                return null\n            }\n\n            let list = [];\n\n            for (let i = 0; i < modelValue.value.length; i++) {\n                if (options.value.find((item => item[optionsValueKey.value] === modelValue.value[i]))) {\n                    list.push(options.value.find((item => item[optionsValueKey.value] === modelValue.value[i])))\n                }\n            }\n\n            return list\n        });\n\n        const selectOption = (option) => {\n            if (!selectedIDs.value.includes(option[optionsValueKey.value])) {\n                /*Select the option*/\n                selectedOptions.value.push(option);\n                selectedIDs.value.push(option[optionsValueKey.value])\n                emit('update:modelValue', selectedIDs.value)\n                showOptions.value = false\n            } else {\n                /*Deselect the option*/\n                selectedOptions.value.forEach((o, oIndex) => {\n                    if (o[optionsValueKey.value] === option[optionsValueKey.value]) {\n                        selectedOptions.value.splice(oIndex, 1);\n                        selectedIDs.value.splice(oIndex, 1);\n                        emit('update:modelValue', selectedIDs.value)\n                        showOptions.value = false\n                    }\n                })\n\n            }\n        }\n\n        /*Clear Option Selections*/\n        const clear = () => {\n            searchText.value = \"\";\n            showOptions.value = false;\n            emit(\"update:modelValue\", []);\n            selectedIDs.value = [];\n        };\n\n        /*Search Item*/\n        const searchText = ref(\"\");\n        const searchedList = computed(() => {\n            if (searchText.value === \"\") {\n                return options.value;\n            }\n\n            return options.value.filter(option => option[optionsLabelKey.value].toLowerCase().replace(/[^a-zA-Z ]/g, \"\").includes(searchText.value.toLowerCase().replace(/[^a-zA-Z ]/g, \"\")));\n        })\n\n        /*Slot Check*/\n        const hasSlot = name => !!useSlots()[name];\n\n        return {\n            showOptions,\n            selectItem,\n            selectedOptions,\n            selectedIDs,\n            searchText,\n            searchedList,\n            t,\n            clear,\n            hasSlot,\n            selectOption,\n            updateOptionsShowStatus\n        }\n    }\n})\n</script>\n\n<style scoped>\n/*Show Hide Menu Titles*/\n.fade-enter-active, .fade-leave-active {\n    transition: all 300ms ease-in-out;\n}\n\n.fade-enter-from, .fade-leave-to {\n    opacity: 0;\n}\n\n.fade-enter-to, .fade-leave-from {\n    opacity: 1;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputRadioButton.vue",
    "content": "<template>\n    <div class=\"flex flex-row\" @click=\"!disabled && updateField()\">\n        <div :class=\"[\n        'flex flex-shrink-0 justify-center items-center w-5 h-5 border mr-1',\n        isChecked && 'bg-'+color+'-100',\n        checkboxStyle,\n        radiusStyle\n        ]\">\n            <div v-if=\"isChecked\" :class=\"'text-'+color+'-500'\">\n                <slot v-if=\"$slots.hasOwnProperty('icon')\" name=\"icon\"/>\n                <div v-else :class=\"['flex w-3 h-3',defaultSelectorStyle,radiusStyle]\"></div>\n            </div>\n        </div>\n        {{ label }}\n    </div>\n</template>\n\n<script>\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\nimport TCheckIcon from \"@/Components/Icon/TCheckIcon.vue\";\n\nexport default {\n    name: 'TInputRadioButton',\n    components: {TCheckIcon},\n    mixins: [radiusSizeMixin],\n    props: {\n        value: {},\n        inputValue: {},\n        label: String,\n        color: {\n            type: String,\n            default: 'white'\n        },\n        nullable: {\n            default: true\n        },\n        id: String,\n        checked: Boolean,\n        disabled: Boolean\n    },\n    data() {\n        return {\n            isChecked: this.checked\n        }\n    },\n    computed: {\n        checkboxStyle() {\n            let style;\n            if (this.color === 'white') {\n                style = 'hover:bg-blue-100 checked:bg-indigo-200 border-gray-300 text-gray-600'\n            } else if (this.color === 'black') {\n                style = 'hover:bg-gray-500 checked:bg-indigo-200 border-black bg-gray-500 text-gray-100'\n            } else {\n                style = 'hover:bg-' + this.color + '-200 active:bg-' + this.color + '-200 border-' + this.color + '-500'\n            }\n            return style\n        },\n        defaultSelectorStyle() {\n            let style;\n            if (this.color === 'white') {\n                style = 'bg-gray-500'\n            } else if (this.color === 'black') {\n                style = 'bg-gray-700'\n            } else {\n                style = 'bg-' + this.color + '-500'\n            }\n            return style\n        }\n    },\n    methods: {\n        updateField() {\n            this.isChecked = !this.isChecked\n            this.$emit('input', this.inputValue);\n        }\n    },\n    watch: {\n        value() {\n            if (this.value !== this.inputValue) this.isChecked = false;\n        }\n    }\n}\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputRepeatable.vue",
    "content": "<template>\n  <div ref=\"target\" class=\"relative select-none\">\n    <!--Adding Form-->\n    <div :class=\"['input border pl-2 h-10 items-center cursor-pointer hover:border-blue-500 relative', radiusStyle]\"\n         @click=\"showPanel=!showPanel\">\n      <!--Placeholder-->\n      {{ modelValue.length === 0 ? 'No items found' : modelValue.length + ' items' }}\n      <!--Items and Add Form Showing Button-->\n      <t-chevron-down-icon\n          :class=\"[\n                'absolute right-2 w-5 h-5 transform duration-300',\n                showPanel ? 'rotate-90' : 'rotate-0'\n                ]\"\n      />\n    </div>\n\n    <!--Panel-->\n    <div\n        v-if=\"showPanel\"\n        class=\"absolute flex flex-col w-full border border-gray-300 py-4 px-2 rounded-md mt-2 space-y-2 bg-gradient-to-t from-gray-200 to-gray-100 shadow-inner shadow z-10\">\n      <!--Fields-->\n      <div class=\"flex flex-row items-center\">\n        <!--Conditional View-->\n        <input v-if=\"value1name\"\n               v-model=\"value1\"\n               :class=\"value2name == null ? 'rounded-md border' : 'md:rounded-l md:rounded-r-none md:border-r-0'\" :placeholder=\"value1name\" class=\"flex w-full rounded  border-gray-300 p-2\" name=\"value1\"\n               type=\"text\"/>\n        <input v-if=\"value2name\" v-model=\"value2\" :placeholder=\"value2name\" class=\"flex w-full rounded md:rounded-r md:rounded-l-none border border-gray-300 p-2\"\n               name=\"value2\"\n               type=\"text\"/>\n        <!--Add Button-->\n        <div class=\"flex items-center justify-center ml-1 h-10\">\n          <t-button color=\"green\" type=\"button\" @click=\"addItem\">\n            <t-plus-circle-icon class=\"w-6 h-6 md:w-5 md:h-5\"/>\n            <span class=\"hidden md:block pr-2\">Add</span>\n          </t-button>\n        </div>\n      </div>\n      <div v-if=\"emptyMessage != null\" class=\"text-red-500 text-sm\">{{ emptyMessage }}</div>\n      <!--Header-->\n      <div v-if=\"modelValue.length >0\"\n           class=\"grid grid-cols-12 w-full border-b border-gray-300 items-center space-x-2 px-2 py-1 font-bold \">\n        <span class=\"col-span-1\"></span>\n        <span class=\"col-span-5\">{{ value1name }}</span>\n        <span class=\"col-span-5\">{{ value2name }}</span>\n        <span class=\"col-span-1\"></span>\n      </div>\n      <!--Items-->\n      <div v-for=\"(item,index) in modelValue\" :key=\"index\"\n           class=\"grid grid-cols-12 bg-gray-50 border rounded-md items-center space-x-2 px-2 py-1\">\n        <!--Counter-->\n        <span class=\"col-span-1\">{{ index + 1 }}.</span>\n        <!--Fields-->\n        <span class=\"col-span-5\">{{ item.value1 }}</span>\n        <span class=\"col-span-5\">{{ item.value2 }}</span>\n        <!--Delete Button-->\n        <span class=\"col-span-1\" @click=\"deleteItem(index)\">\n                     <t-trash-icon class=\"w-6 h-5 text-red-500 cursor-pointer\"/>\n                </span>\n      </div>\n      <!--Close Button-->\n      <t-button color=\"white\" size=\"sm\" type=\"button\" @click=\"showPanel=false\">\n        Close\n      </t-button>\n    </div>\n  </div>\n</template>\n\n<script>\n/*Main Functions*/\nimport {ref, toRefs} from \"vue\";\nimport { onClickOutside } from \"@vueuse/core\";\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\n\n/*Components*/\nimport TPlusCircleIcon from \"@/Components/Icon/TPlusCircleIcon.vue\";\nimport TTrashIcon from \"@/Components/Icon/TTrashIcon.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TChevronDownIcon from \"@/Components/Icon/TChevronDownIcon.vue\";\n\nexport default {\n  props: {\n      value1name : {\n          type: String,\n          default: null\n      },\n      value2name: {\n      type: String,\n      default: null\n  },\n      modelValue: {\n          type: [Object, Array],\n          default: null\n      }\n\n},\n  components: {\n    TChevronDownIcon,\n      TButton,\n    TTrashIcon,\n    TPlusCircleIcon,\n  },\n\n  mixins: [radiusSizeMixin],\n\n    emits: ['update:modelValue'],\n\n    setup(props, {emit}){\n      const { value2name, modelValue} = toRefs(props)\n      const value1 = ref();\n      const value2 = ref();\n      const showPanel = ref();\n      const emptyMessage = ref();\n\n      /*Show-hide Panel*/\n      const target = ref();\n        onClickOutside(target, () => showPanel.value = false);\n\n        /*Reset*/\n        const reset = ()=>{\n            value1.value = null;\n            value2.value = null;\n            emptyMessage.value = null;\n        }\n\n        const addItem = () => {\n            if (value2name.value != null) {\n                if (value1.value == null || value2.value == null) {\n                    emptyMessage.value = 'Please fill in the fields';\n                    window.setTimeout(() => {\n                        emptyMessage.value = null;\n                    }, 3000);\n                } else {\n                    let newValue = [...modelValue.value]\n                    newValue.push({value1: value1.value, value2: value2.value});\n                    emit('update:modelValue', newValue);\n                    reset();\n                }\n            } else {\n                if (value1.value == null) {\n                    emptyMessage.value = 'Please fill in the fields';\n                    window.setTimeout(() => {\n                        emptyMessage.value = null;\n                    }, 3000);\n                } else {\n                    let newValue = [...modelValue.value]\n                    newValue.push({value1: value1.value});\n                    emit('update:modelValue', newValue);\n                    reset();\n                }\n            }\n        }\n\n        const deleteItem = (index) => {\n          modelValue.value.splice(index,1)\n        }\n\n        return{\n            value1,\n            value2,\n            showPanel,\n            emptyMessage,\n            target,\n            addItem,\n            deleteItem,\n            reset\n        }\n    },\n}\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputSelect.vue",
    "content": "<template>\n  <div\n      class=\"input-select\"\n      ref=\"selectItem\"\n      :class=\"[errors.length>0 ? `border border-red-500 radius-${radius}`: '']\"\n  >\n    <!--Select Container-->\n    <div\n        class=\"select-container\"\n        @click=\"updateOptionsShowStatus\"\n    >\n\n      <!--Icon-->\n      <div\n          v-if=\"hasSlot('icon')\"\n          class=\"select-input-icon\"\n          :class=\"`radius-l-${radius}`\"\n      >\n        <slot name=\"icon\"/>\n      </div>\n\n      <!--Select Trigger-->\n      <div\n          class=\"select-trigger\"\n          :class=\"[\n                    hasSlot('icon') ? `radius-r-${radius}` : `radius-${radius}`,\n                    {'input-disabled' : disabled },\n                    disabled || readOnly ? 'cursor-not-allowed' : 'cursor-pointer',\n                    ]\"\n      >\n\n        <!--Texts-->\n        <div class=\"select-trigger-text\">\n\n          <transition name=\"fade\" mode=\"out-in\">\n\n            <!--Placeholder Text-->\n      <span\n        v-if=\"modelValue === null || modelValue === undefined\"\n        v-text=\"t(placeHolder)\"\n        class=\"select-trigger-placeholder\"\n      />\n\n            <!--Selected Option-->\n            <div v-else>\n\n              <!--ScopeSlot Rich Label-->\n              <slot\n                  v-if=\"hasSlot('label') && !disabled\"\n                  :props=\"selectedOption\"\n                  name=\"label\"\n                  v-html=\"selectedOption[optionsLabelKey]\"\n              />\n\n              <!--Simple Text Label-->\n              <span\n                  v-if=\"!hasSlot('label') && !disabled\"\n                  v-text=\"selectedOption[optionsLabelKey]\"\n              />\n\n            </div>\n\n          </transition>\n        </div>\n\n        <!--Icons-->\n        <div class=\"inline-flex\">\n\n          <!--Clear Icon-->\n          <svg\n              v-if=\"clearButton && selectedOption && !readOnly && !disabled\"\n              @click.stop=\"clear\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n              class=\"input-clear-icon\"\n              fill=\"none\"\n              viewBox=\"0 0 24 24\"\n              stroke=\"currentColor\"\n          >\n            <path\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n                stroke-width=\"2\" d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n            />\n          </svg>\n\n          <!--Dropdown Icon-->\n          <svg\n              class=\"w-5 h-5 transform\"\n              :class=\"[\n                            showOptions ? 'rotate-90' : 'rotate-0',\n                            'transition-size-short'\n                            ]\"\n              @click.stop=\"updateOptionsShowStatus\"\n              fill=\"none\"\n              stroke=\"currentColor\"\n              viewBox=\"0 0 24 24\"\n              xmlns=\"http://www.w3.org/2000/svg\">\n            <path\n                stroke-linecap=\"round\"\n                stroke-linejoin=\"round\"\n                stroke-width=\"2\"\n                d=\"M19 9l-7 7-7-7\">\n            </path>\n          </svg>\n\n        </div>\n      </div>\n\n    </div>\n\n    <!--Options Container-->\n    <transition name=\"fade\">\n      <div\n          v-if=\"showOptions\"\n          class=\"select-options-container\"\n          :class=\"`radius-${radius}`\"\n      >\n        <!--Options Content-->\n        <div\n            class=\"select-options-content\"\n            :class=\"{'max-h-56': !search}\"\n        >\n\n          <!--Search Box-->\n          <div\n              v-if=\"search && options.length>0\"\n              class=\"select-search-container\"\n          >\n            <t-input-text\n                v-model=\"searchText\"\n                :placeholder=\"t(searchPlaceHolder)\"\n                icon-type=\"inside\"\n                class=\"border-none\"\n            >\n              <template #icon>\n                <svg\n                    xmlns=\"http://www.w3.org/2000/svg\"\n                    class=\"h-6 w-6\"\n                    fill=\"none\"\n                    viewBox=\"0 0 24 24\"\n                    stroke=\"currentColor\"\n                >\n                  <path\n                      stroke-linecap=\"round\"\n                      stroke-linejoin=\"round\"\n                      stroke-width=\"2\"\n                      d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n                  />\n                </svg>\n              </template>\n            </t-input-text>\n          </div>\n\n          <!--Options List-->\n          <template v-for=\"(option,index) in searchedList\">\n            <div\n                v-if=\"search ? index<showingMaxOptions : true\"\n                :key=\"option[optionsValueKey]\"\n                :class=\"[\n                                'select-option-item',\n                                {'select-option-active-item':modelValue === option[optionsValueKey]},\n                                `radius-${radius}`\n                                ]\"\n                @click=\"selectOption(option[optionsValueKey])\"\n            >\n\n              <!--ScopeSlot Rich Label-->\n              <slot\n                  v-if=\"hasSlot('label')\"\n                  :props=\"option\"\n                  name=\"label\"\n                  v-html=\"option[optionsLabelKey]\"\n              />\n\n              <!--Simple Text Label-->\n              <span\n                  v-else\n                  v-text=\"option[optionsLabelKey]\"\n              />\n\n              <!--Selected Indicator Icon-->\n              <svg v-if=\"modelValue === option[optionsValueKey]\"\n                   xmlns=\"http://www.w3.org/2000/svg\"\n                   class=\"select-option-active-item-icon\"\n                   viewBox=\"0 0 20 20\"\n                   fill=\"currentColor\"\n              >\n                <path\n                    fill-rule=\"evenodd\"\n                    d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\"\n                    clip-rule=\"evenodd\"\n                />\n              </svg>\n\n            </div>\n          </template>\n\n          <!--Empty Source Message-->\n      <div\n        v-if=\"options.length === 0\"\n        v-text=\"t('component.input.select.addSource')\"\n      />\n\n        </div>\n\n        <!--Many Items Notification-->\n        <div\n            v-if=\"searchedList.length>showingMaxOptions && search\"\n            class=\"select-many-result\"\n            v-text=\"t('component.input.select.manyResults', { showingMaxOptions: showingMaxOptions, totalOptions: searchedList.length })\"\n        ></div>\n      </div>\n    </transition>\n  </div>\n</template>\n\n<script>\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport {onClickOutside} from \"@vueuse/core\";\nimport {ref, toRefs, computed, inject, useSlots} from \"vue\";\nimport {useI18n} from \"vue-i18n\";\n\nexport default {\n  name: \"TInputSelect\",\n  components: {TInputText},\n  props: {\n    modelValue: {\n      type: [String, Date, Number, Object, Array, Boolean],\n      default: null\n    },\n    options: {\n      type: [Object, Array],\n      default() {\n        return [];\n      }\n    },\n    optionsLabelKey: {\n      type: String,\n      default: \"label\"\n    },\n    optionsValueKey: {\n      type: String,\n      default: \"key\"\n    },\n    placeHolder: {\n      type: String,\n      default: \"component.input.select.select\"\n    },\n    searchPlaceHolder: {\n      type: String,\n      default: \"component.input.select.search\"\n    },\n    clearButton: {\n      type: Boolean,\n      default: true\n    },\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    readOnly: {\n      type: Boolean,\n      default: false\n    },\n    search: {\n      type: Boolean,\n      default: false\n    },\n    showingMaxOptions: {\n      type: Number,\n      default: 10\n    },\n    radius: {\n      type: Number,\n      default: 3\n    }\n  },\n  emits: ['update:modelValue'],\n  setup(props, {emit, slots}) {\n    /*Definitions*/\n    const {\n      modelValue,\n      options,\n      optionsLabelKey,\n      optionsValueKey,\n      disabled,\n      readOnly\n    } = toRefs(props);\n\n    /*i18n*/\n    const {t} = useI18n();\n\n    /*Get Error Status*/\n    const errors = inject('errors', []);\n\n    /*Update Show/Hide Status of The Options List*/\n    const showOptions = ref(false);\n    const updateOptionsShowStatus = () => {\n      if (disabled.value || readOnly.value) {\n        showOptions.value = false;\n      } else {\n        showOptions.value = !showOptions.value;\n      }\n    };\n\n    /*Outside Click Event*/\n    const selectItem = ref(null);\n    onClickOutside(selectItem, () => showOptions.value = false);\n\n    /*Select Option*/\n    const selectOption = (value) => {\n      emit(\"update:modelValue\", value);\n      showOptions.value = false;\n    };\n\n    /*Clear Option Selection*/\n    const clear = () => {\n      showOptions.value = false;\n      emit(\"update:modelValue\", null);\n      searchText.value = \"\";\n    };\n\n    /*Selected Item*/\n    const selectedOption = computed(() => {\n      if (modelValue.value === null || modelValue.value === '' || modelValue.value === undefined) {\n        return null;\n      }\n      return options.value.find(option => option[optionsValueKey.value] === modelValue.value);\n    });\n\n    /*Search Item*/\n    const searchText = ref(\"\");\n    const searchedList = computed(() => {\n      if (searchText.value === \"\") {\n        return options.value;\n      }\n\n      return options.value.filter(option => option[optionsLabelKey.value].toLowerCase().replace(/[^a-zA-Z ]/g, \"\").includes(searchText.value.toLowerCase().replace(/[^a-zA-Z ]/g, \"\")));\n    })\n\n    /*Slot Check*/\n    const hasSlot = name => !!useSlots()[name];\n\n    return {\n      selectItem,\n      showOptions,\n      selectedOption,\n      searchedList,\n      t,\n      searchText,\n      errors,\n      selectOption,\n      updateOptionsShowStatus,\n      hasSlot,\n      clear\n    };\n  }\n};\n</script>\n\n<style scoped>\n/*Show Hide Menu Titles*/\n.fade-enter-active, .fade-leave-active {\n  transition: all 300ms ease-in-out;\n}\n\n.fade-enter-from, .fade-leave-to {\n  opacity: 0;\n}\n\n.fade-enter-to, .fade-leave-from {\n  opacity: 1;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputText.vue",
    "content": "<template>\n  <!--Container-->\n  <div\n      class=\"text-input\"\n      ref=\"withSelectInput\"\n      :class=\"[errors.length>0 ? `border border-red-500 radius-${radius}`: '']\"\n  >\n    <!--Outside Icon-->\n    <div\n        v-if=\"hasSlot('icon') && iconType==='outside'\"\n        class=\"text-input-outside-icon\"\n        :class=\"`radius-l-${radius}`\"\n    >\n      <slot name=\"icon\"/>\n    </div>\n    <!--Prepend-->\n    <div\n        v-if=\"prepend || hasSlot('prepend')\"\n        class=\"text-input-prepend\"\n        :class=\"[\n                selectPosition==='left' && options[0][optionsValueKey] ? 'border-r' : '',\n                hasSlot('icon') && iconType==='outside' ? '' : `border-l radius-l-${radius}`\n                ]\"\n    >\n      <span v-if=\"prepend\" v-text=\"prepend\"/>\n      <slot v-else name=\"prepend\"></slot>\n    </div>\n    <!--Left Select-->\n    <div\n        v-if=\"options[0][optionsValueKey] && selectPosition==='left'\"\n        @click=\"disabled || readOnly==='select' || readOnly==='both' ? '' : showSelectList = !showSelectList\"\n        class=\"text-input-select-container\"\n    >\n      <!--Select Trigger-->\n      <div\n          class=\"text-input-select-trigger\"\n          :class=\"[\n                    hasSlot('prepend') || prepend ? '' : `border-l radius-l-${radius}`,\n                    disabled || readOnly==='select' || readOnly==='both' ? 'cursor-not-allowed' : 'cursor-pointer',\n                    {'input-disabled' : disabled}\n                    ]\"\n      >\n        <!--Clear Icon-->\n        <svg\n            @click.stop=\"$emit('update:selectValue', null)\"\n            v-if=\"selectValue && !disabled && readOnly!=='select' && readOnly!=='both'\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            class=\"input-clear-icon\"\n            :class=\"selectPosition==='left' ? 'mr-1' : ''\"\n            fill=\"none\"\n            viewBox=\"0 0 24 24\"\n            stroke=\"currentColor\"\n        >\n          <path\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              stroke-width=\"2\" d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n          />\n        </svg>\n        <!--Selected Item-->\n        <span\n            v-if=\"selectValue && selectType==='inside'\"\n            v-text=\"options.find(o=>o[optionsValueKey] === selectValue)[optionsLabelKey]\"\n        />\n        <!--Dropdown Icon-->\n        <svg\n            class=\"w-5 h-5 transform\"\n            :class=\"[\n            !showSelectList ? 'rotate-0' : '',\n            (showSelectList && selectPosition==='left' && selectType !== 'inside') ? '-rotate-90' : '',\n            (showSelectList && selectPosition==='right') || (showSelectList &&selectType === 'inside') ? 'rotate-90' : '',\n            'transition-size-short'\n            ]\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            fill=\"none\"\n            viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n        >\n          <path\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              stroke-width=\"2\"\n              d=\"M19 9l-7 7-7-7\"\n          />\n        </svg>\n        <!--Selected Icon-->\n        <div\n            v-if=\"selectType==='outside'\"\n            class=\"text-input-selected-indicator\"\n            :class=\"selectValue ? 'bg-green-500' : 'bg-gray-500 dark:bg-gray-700'\"\n        />\n      </div>\n      <!--Select List-->\n      <div v-if=\"showSelectList\"\n           class=\"text-input-select-list-container\"\n           :class=\"[\n                     `radius-${radius}`,\n                     selectPosition==='left' ? 'left-0' : 'right-0'\n                     ]\"\n      >\n        <template v-for=\"item in options\">\n          <div\n              @click.stop=\"showSelectList = false; $emit('update:selectValue', item[optionsValueKey])\"\n              class=\"text-input-select-list-item\"\n          >\n            <span v-text=\"item[optionsLabelKey]\"/>\n            <svg\n                v-if=\"item[optionsValueKey] === selectValue\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n                class=\"text-input-select-list-selected-icon\"\n                viewBox=\"0 0 20 20\"\n                fill=\"currentColor\"\n            >\n              <path\n                  fill-rule=\"evenodd\"\n                  d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\"\n                  clip-rule=\"evenodd\"\n              />\n            </svg>\n          </div>\n        </template>\n      </div>\n\n    </div>\n    <!--Input-->\n    <div class=\"flex flex-grow\">\n      <!--Inside Icon-->\n      <div\n          v-if=\"hasSlot('icon') && iconType==='inside'\"\n          class=\"text-input-inside-icon\"\n      >\n        <slot name=\"icon\"/>\n      </div>\n      <!--Input Field-->\n      <input\n          class=\"input text-input\"\n          :class=\"[\n                    inputStyle,\n                    {'pl-10':iconType === 'inside'},\n                    {'input-disabled' : disabled}\n                    ]\"\n          :type=\"type\"\n          :id=\"id\"\n          :placeholder=\"placeholder\"\n          :value=\"disabled ? '' : modelValue\"\n          :disabled=\"disabled || readOnly==='text' || readOnly==='both'\"\n          @input=\"$emit('update:modelValue', $event.target.value)\"\n          ref=\"input\"\n      >\n    </div>\n    <!--Right Select-->\n    <div\n        v-if=\"options[0][optionsValueKey] && selectPosition==='right'\"\n        @click=\"disabled || readOnly==='select' || readOnly==='both' ? '' : showSelectList = !showSelectList\"\n        class=\"text-input-select-container\"\n    >\n      <!--Select Trigger-->\n      <div\n          class=\"text-input-select-trigger\"\n          :class=\"[\n                    hasSlot('append') || append ? '' : `border-r radius-r-${radius}`,\n                    disabled || readOnly==='select' || readOnly==='both' ? 'cursor-not-allowed' : 'cursor-pointer',\n                    {'input-disabled' : disabled}\n                    ]\"\n      >\n        <!--Clear Icon-->\n        <svg\n            @click.stop=\"$emit('update:selectValue', null)\"\n            v-if=\"selectValue && !disabled && readOnly!=='select' && readOnly!=='both'\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            class=\"input-clear-icon\"\n            :class=\"selectPosition==='right' ? 'ml-1' : ''\"\n            fill=\"none\"\n            viewBox=\"0 0 24 24\"\n            stroke=\"currentColor\"\n        >\n          <path\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              stroke-width=\"2\" d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n          />\n        </svg>\n        <!--Selected Item-->\n        <span\n            v-if=\"selectValue && selectType==='inside'\"\n            v-text=\"options.find(o=>o[optionsValueKey] === selectValue)[optionsLabelKey]\"\n        />\n        <!--Dropdown Icon-->\n        <svg\n            class=\"w-5 h-5 transform\"\n            :class=\"[\n                        !showSelectList ? 'rotate-0' : '',\n                        (showSelectList && selectPosition==='left' && selectType !== 'inside') ? '-rotate-90' : '',\n                        (showSelectList && selectPosition==='right') || (showSelectList &&selectType === 'inside') ? 'rotate-90' : '',\n                        'transition-size-short'\n                        ]\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            fill=\"none\"\n            viewBox=\"0 0 24 24\" stroke=\"currentColor\"\n        >\n          <path\n              stroke-linecap=\"round\"\n              stroke-linejoin=\"round\"\n              stroke-width=\"2\"\n              d=\"M19 9l-7 7-7-7\"\n          />\n        </svg>\n        <!--Selected Icon-->\n        <div\n            v-if=\"selectType==='outside'\"\n            class=\"text-input-selected-indicator\"\n            :class=\"selectValue ? 'bg-green-500' : 'bg-gray-500 dark:bg-gray-700'\"\n        />\n      </div>\n      <!--Select List-->\n      <div v-if=\"showSelectList\"\n           class=\"text-input-select-list-container\"\n           :class=\"[\n                     `radius-${radius}`,\n                     selectPosition==='left' ? 'left-0' : 'right-0'\n                     ]\"\n      >\n        <template v-for=\"item in options\">\n          <div\n              @click.stop=\"showSelectList = false; $emit('update:selectValue', item[optionsValueKey])\"\n              class=\"text-input-select-list-item\"\n          >\n            <span v-text=\"item[optionsLabelKey]\"/>\n            <svg\n                v-if=\"item[optionsValueKey] === selectValue\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n                class=\"text-input-select-list-selected-icon\"\n                viewBox=\"0 0 20 20\"\n                fill=\"currentColor\"\n            >\n              <path\n                  fill-rule=\"evenodd\"\n                  d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\"\n                  clip-rule=\"evenodd\"\n              />\n            </svg>\n          </div>\n        </template>\n      </div>\n    </div>\n    <!--Append-->\n    <div\n        v-if=\"append || hasSlot('append')\"\n        class=\"text-input-append\"\n        :class=\"[\n        `radius-r-${radius}`,\n        selectPosition==='right' && options[0][optionsValueKey] ? 'border-l' : ``\n        ]\"\n    >\n      <span v-if=\"append\" v-text=\"append\"/>\n      <slot v-else name=\"append\"></slot>\n    </div>\n  </div>\n</template>\n\n<script>\nimport {computed, defineComponent, inject, useSlots, ref, toRefs} from \"vue\";\nimport {onClickOutside} from \"@vueuse/core\";\n\nexport default defineComponent({\n  name: \"TInputText\",\n  props: {\n    selectValue: {\n      type: [String, Date, Number, Object, Array],\n      default: null\n    },\n    modelValue: {\n      type: [String, Date, Number, Object, Array],\n      default: null\n    },\n    id: {\n      type: String,\n      default() {\n        return \"text-input-\" + Number(new Date());\n      }\n    },\n    placeholder: {\n      type: String,\n      default: \"\"\n    },\n    prepend: {\n      type: String,\n      default: \"\"\n    },\n    append: {\n      type: String,\n      default: \"\"\n    },\n    type: {\n      type: String,\n      default: \"text\"\n    },\n    selectType: {\n      type: String,\n      default: \"outside\"\n    },\n    selectPosition: {\n      type: String,\n      default: \"\"\n    },\n    iconType: {\n      type: String,\n      default: \"outside\"\n    },\n    options: {\n      type: [Object, Array],\n      default() {\n        return [\n          {key: \"\", label: \"Please add a options source\"}\n        ];\n      }\n    },\n    optionsLabelKey: {\n      type: String,\n      default: \"label\"\n    },\n    optionsValueKey: {\n      type: String,\n      default: \"key\"\n    },\n    radius: {\n      type: Number,\n      default: 3\n    },\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    readOnly: {\n      type: String,\n      default: ''\n    },\n    clearButton: {\n      type: Boolean,\n      default: false\n    }\n  },\n  emits: [\"update:modelValue\", \"update:selectValue\"],\n  setup(props, {slots}) {\n    /*Definitions*/\n    const {radius, prepend, append, iconType, options, optionsValueKey, selectPosition} = toRefs(props);\n    const input = ref(null);\n    const withSelectInput = ref(null);\n    const showSelectList = ref(false);\n\n    /*Get Error Status*/\n    const errors = inject('errors', []);\n\n    /*Outside click for select*/\n    onClickOutside(withSelectInput, () => showSelectList.value = false);\n\n    /*Focus Action*/\n    const focus = () => {\n      input.value.focus();\n    };\n\n    /*Generating Style Classes*/\n    const inputStyle = computed(() => {\n      let radiusStyle;\n      let leftSideHasItem, rightSideHasItem;\n\n      /*Check Left Side Has Item*/\n      if (prepend.value || hasSlot(\"prepend\") || selectPosition.value === \"left\" || (hasSlot('icon') && iconType.value === 'outside')) {\n        leftSideHasItem = true\n      }\n\n      /*Check Right Side Has Item*/\n      if (append.value || hasSlot(\"append\") || selectPosition.value === \"right\") {\n        rightSideHasItem = true\n      }\n\n      /*Left Full and Right Empty*/\n      if (leftSideHasItem && !rightSideHasItem) {\n        radiusStyle = \"radius-r-\" + radius.value;\n      }\n\n      /*Left Empty Right Full*/\n      if (!leftSideHasItem && rightSideHasItem) {\n        radiusStyle = \"radius-l-\" + radius.value;\n      }\n\n      /*Both Empty*/\n      if (!leftSideHasItem && !rightSideHasItem) {\n        radiusStyle = \"radius-\" + radius.value;\n      }\n\n      return radiusStyle;\n    });\n\n    /*Slot Check*/\n    const hasSlot = name => !!useSlots()[name];\n\n    return {input, withSelectInput, inputStyle, showSelectList, errors, focus, hasSlot};\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/Inputs/TInputTextArea.vue",
    "content": "<template>\n  <div\n      class=\"relative\"\n      :class=\"[errors.length>0 ? `border border-red-500 radius-${radius}`: '']\"\n  >\n    <t-x-circle-icon\n        v-if=\"clearButton && modelValue\"\n        @click.native=\"$emit('update:modelValue', null)\"\n        class=\"absolute rounded-full -top-3 -right-3 w-6 h-6 bg-white hover:bg-red-500 text-red-500 hover:text-white cursor-pointer\"\n    />\n    <textarea\n        :class=\"[\n            'input h-auto w-full',\n            `radius-${radius}`,\n            {'input-disabled cursor-not-allowed' : disabled || readOnly }\n            ]\"\n        :rows=\"rows\"\n        :id=\"id\"\n        :placeholder=\"placeholder\"\n        :value=\"modelValue\"\n        @input=\"$emit('update:modelValue', $event.target.value)\"\n        ref=\"input\"\n        :disabled=\"disabled\"\n    />\n    <span\n        class=\"absolute bg-white bg-opacity-70 bottom-3 right-2 float-right text-xs border px-1 py-0.5 rounded-full min-w-[1.5rem] text-center bg-white-500\"\n        v-show=\"counter && modelValue\">\n      {{ textLength }}\n    </span>\n  </div>\n</template>\n\n<script>\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\nimport TXCircleIcon from \"@/Components/Icon/TXCircleIcon.vue\";\nimport {toRefs, watch, inject, ref} from \"vue\";\n\nexport default {\n  name: \"TInputTextArea\",\n  components: {TXCircleIcon},\n  mixins: [radiusSizeMixin],\n  props: {\n    modelValue: {\n      type: String\n    },\n    id: {\n      type: String\n    },\n    rows: {\n      type: Number,\n      default: 3\n    },\n    placeholder: {\n      type: String\n    },\n    clearButton: {\n      type: Boolean,\n      default: false\n    },\n    counter: {\n      type: Boolean,\n      default: false\n    },\n    disabled: {\n      default: false\n    },\n    readOnly: {\n      default: false\n    }\n  },\n  setup(props) {\n    /*Definitions*/\n    const {modelValue} = toRefs(props);\n\n    /*Watch Text Length*/\n    const textLength = ref();\n    watch(modelValue, () => {\n      if (modelValue.value) {\n        textLength.value = modelValue.value.length\n      }\n    })\n\n    /*Get Error Status*/\n    const errors = inject('errors', []);\n\n    return {errors, textLength}\n  }\n}\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/TError.vue",
    "content": "<template>\n    <div v-show=\"message\">\n        <p class=\"text-sm text-red-600\">\n            {{ message }}\n        </p>\n    </div>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    props: ['message']\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/TFormContent.vue",
    "content": "<template>\n    <div class=\"w-full\">\n        <form :enctype=\"enctype\" @submit.prevent=\"$emit('submitted')\">\n            <!--Form Body-->\n            <t-content-card :radius=\"temporaryRadius\">\n                <div class=\"flex flex-col w-full space-y-4\">\n                    <slot></slot>\n                    <!--Form Buttons Container-->\n                    <transition duration=\"500\" name=\"status\">\n                        <div\n                            v-if=\"submitButton || resetButton || $slots.status || $slots.button + '-area'\"\n                            class=\"flex flex-wrap col-span-12 justify-center md:justify-end space-x-2\"\n                            :class=\"[\n                                { 'mr-2 py-2': sectionLayout === 'native' },\n                                { 'border-t pt-2 mt-2 -mb-2': sectionLayout === 'smart' }\n                            ]\"\n                        >\n                            <!--Extra Form Buttons Area-->\n                            <slot name=\"button-area\" />\n                            <!--Status Area-->\n                            <slot v-if=\"$slots.status\" name=\"status\" />\n                            <!--Default Form Buttons-->\n                            <div\n                                v-else\n                                class=\"flex flex-wrap w-full justify-center md:justify-end items-center space-x-2\"\n                            >\n                                <!--Reset Button-->\n                                <t-button\n                                    v-if=\"resetButton\"\n                                    :radius=\"temporaryRadius\"\n                                    design=\"filled\"\n                                    color=\"yellow\"\n                                    type=\"button\"\n                                    @click=\"reset\"\n                                >{{ tm('reset') }}</t-button>\n                                <!--Save Button-->\n                                <t-button\n                                    v-if=\"submitButton\"\n                                    :disabled=\"disabled\"\n                                    :radius=\"temporaryRadius\"\n                                    design=\"filled\"\n                                    color=\"green\"\n                                    icon=\"plus\"\n                                    type=\"submit\"\n                                >{{ tm('save') }}</t-button>\n                            </div>\n                        </div>\n                    </transition>\n                </div>\n            </t-content-card>\n        </form>\n    </div>\n</template>\n\n<script>\n/* Main functions */\nimport { defineComponent, inject, toRefs, ref, provide, useSlots } from \"vue\";\n\n/* Components */\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\n\n/*Sources*/\nimport { formContentConf } from \"@/config\";\n\n/* Multi language */\nimport { useI18n } from \"vue-i18n\";\n\nexport default defineComponent({\n    name: \"TForm\",\n    props: {\n        enctype: {\n            type: String,\n            default: 'application/x-www-form-urlencoded'\n        },\n        disabled: Boolean,\n        radius: {\n            type: Number,\n            default: null\n        },\n        resetButton: {\n            type: Boolean,\n            default: true\n        },\n        submitButton: {\n            type: Boolean,\n            default: true\n        },\n        sectionLayout: {\n            type: String,\n            default: 'native'\n        },\n    },\n    components: {\n        TContentCard,\n        TButton\n    },\n    emits: [\"reset\"],\n\n    setup(props, { emit, slots }) {\n        /*Definitions*/\n        const { radius, sectionLayout } = toRefs(props)\n        const appConf = inject(\"appConf\");\n        provide('formContentConf', (formContentConf));\n        provide('sectionLayout', (sectionLayout));\n\n        /*Temporary Definations*/\n        const temporaryRadius = ref(radius.value ? radius.value : formContentConf.radius ? formContentConf.radius : appConf.value.radius)\n\n        /* Multi-language */\n        const { tm } = useI18n({\n            inheritLocale: true,\n        });\n\n        /*Reset*/\n        const reset = () => {\n            emit(\"reset\");\n        };\n\n        /*Slot Check*/\n        const hasSlot = name => !!useSlots()[name];\n        return {\n            appConf,\n            formContentConf,\n            temporaryRadius,\n            tm,\n            hasSlot,\n            reset\n        };\n    }\n});\n</script>\n\n\n<style>\n/*Status Change Effect*/\n.status-enter-active,\n.status-leave-active {\n    transition: all 1s;\n}\n\n.status-enter,\n.status-leave-to {\n    opacity: 0;\n}\n\n.status-enter-to,\n.status-leave {\n    opacity: 1;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Form/TFormSection.vue",
    "content": "<template>\n    <div\n        class=\"text-slate-700 dark:text-gray-100\"\n        :class=\"[\n            { 'md:grid md:grid-cols-3 md:gap-6': sectionLayout === 'native' },\n            { '-mx-6': sectionLayout === 'smart' },\n        ]\"\n    >\n        <!--Section Header-->\n        <div v-if=\"sectionLayout === 'native'\" class=\"md:col-span-1\">\n            <div class=\"px-4\">\n                <!--Title-->\n                <h3 v-if=\"title\" class=\"text-lg font-medium\">{{ title }}</h3>\n                <!--Description-->\n                <p v-if=\"description\" class=\"mt-1 text-sm\">{{ description }}</p>\n            </div>\n        </div>\n        <!--Section Content-->\n        <div\n            :class=\"[\n                { 'mt-5 md:mt-0 md:col-span-2 border shadow m-2': sectionLayout === 'native' },\n                { '': sectionLayout === 'smart' },\n                `radius-${temporaryRadius}`\n            ]\"\n        >\n            <div\n                class=\"px-6\"\n                :class=\"[\n                    { 'py-4': sectionLayout === 'native' }\n                ]\"\n            >\n                <!-- Compact Header -->\n                <div v-if=\"sectionLayout === 'smart'\" class=\"mb-4 pb-1 border-b\">\n                    <!--Title-->\n                    <h3 v-if=\"title\" class=\"text-md font-medium\">{{ title }}</h3>\n                    <!--Description-->\n                    <p v-if=\"description\" class=\"mt-1 text-xs\">{{ description }}</p>\n                </div>\n                <div class=\"grid grid-cols-12 gap-2\">\n                    <slot></slot>\n                </div>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\n/* Main Functions */\nimport { defineComponent, inject, toRefs, ref } from 'vue'\n\nexport default defineComponent({\n    name: \"TFormSection\",\n    props: {\n        title: {\n            type: String,\n            default: ''\n        },\n        description: {\n            type: String,\n            default: ''\n        },\n        radius: {\n            type: Number,\n            default: null\n        },\n    },\n\n    emits: ['reset'],\n\n    setup(props, { emit }) {\n        /* Definitions */\n        const { radius } = toRefs(props);\n        const formContentConf = inject('formContentConf');\n        const appConf = inject(\"appConf\");\n        const sectionLayout = inject(\"sectionLayout\");\n\n        /*Temporary Definations*/\n        const temporaryRadius = ref(radius.value ? radius.value : formContentConf.radius ? formContentConf.radius : appConf.value.radius)\n\n        const reset = () => {\n            emit('reset')\n        }\n\n        return {\n            reset,\n            temporaryRadius,\n            sectionLayout\n        }\n    }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Form/TInputGroup.vue",
    "content": "<template>\n    <div\n        class=\"flex flex-col\"\n        :class=\"[\n            phoneWidth ? `grid-${phoneWidth}` : '',\n            tabletWidth ? `grid-md-${tabletWidth}` : '',\n            laptopWidth ? `grid-lg-${laptopWidth}` : '',\n            desktopWidth ? `grid-xl-${desktopWidth}` : '',\n        ]\"\n    >\n        <!--Label-->\n        <label\n            :for=\"labelFor\"\n            class=\"flex flex-row gap-1 items-center font-medium text-sm whitespace-normal dark:text-gray-200\"\n        >\n            <!--Label-->\n            <span v-if=\"label\">{{ label }}</span>\n            <!--Label Prop-->\n            <span v-if=\"!label && $slots.label\" class=\"inline-flex items-center\">\n                <!--Label Slot-->\n                <slot name=\"label\" />\n            </span>\n            <!--Sub Label-->\n            <span\n                v-if=\"subLabel\"\n                :class=\"['text-xs italic', subLabelColors[subLabelColor]]\"\n            >{{ subLabel }}</span>\n        </label>\n        <!--Input Content-->\n        <slot></slot>\n        <!--Front End Error-->\n        <div v-if=\"errors.length > 0\">\n            <template v-for=\"error in errors\" :key=\"error.$uid\">\n                <p class=\"text-sm text-red-600 mt-2 whitespace-nowrap\">{{ error.$message }}</p>\n            </template>\n        </div>\n\n        <!--Backend Error-->\n        <div v-else>\n            <p\n                class=\"text-sm text-red-600 mt-2 whitespace-nowrap\"\n            >{{ $page.props.errors[labelFor] }}</p>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { defineComponent, provide, toRefs } from 'vue'\nimport { inputGroupStyleMixin } from \"@/Mixins/Styles/inputGroupStyleMixin\";\n\nexport default defineComponent({\n    props: {\n        label: {\n            type: String,\n            default: null\n        },\n        subLabel: {\n            type: String,\n            default: null\n        },\n        subLabelColor: {\n            type: String,\n            default: 'yellow'\n        },\n        labelFor: {\n            type: String,\n            default: null\n        },\n        errors: {\n            type: Array,\n            default() {\n                return []\n            }\n        },\n        phoneWidth: {\n            type: Number,\n            default: 12\n        },\n        tabletWidth: {\n            type: Number,\n            default: null\n        },\n        laptopWidth: {\n            type: Number,\n            default: 6\n        },\n        desktopWidth: {\n            type: Number,\n            default: null\n        }\n    },\n    mixins: [inputGroupStyleMixin],\n    setup(props) {\n        /*Error Status Provide to Input Component*/\n        const { errors } = toRefs(props);\n        provide('errors', errors);\n    }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TAdjustmentsIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TAdjustmentsIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TAudioIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TAudioIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TBanIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TBanIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TBellIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TBellIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TCalendarIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TCalendarIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TCashIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TCashIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TCheckCircleIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TCheckCircleIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TCheckCircleSolidIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n        <path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TCheckCircleSolidIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TCheckIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TCheckIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TChevronDoubleDownIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 13l-7 7-7-7m14-8l-7 7-7-7\" />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TChevronDoubleDownIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TChevronDownIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: 'TChevronDownIcon'\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TChevronLeftIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 19l-7-7 7-7\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: 'TChevronLeftIcon'\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TChevronRightIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: 'TChevronRightIcon'\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TChevronUpIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 15l7-7 7 7\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: 'TChevronUpIcon'\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TClockIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TClockIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TCogIcon.vue",
    "content": "<template>\n  <svg aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n    <path\n        d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"\n        stroke-linecap=\"round\" stroke-linejoin=\"round\"\n        stroke-width=\"2\"/>\n    <path d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n          stroke-width=\"2\"/>\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TCogIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TCollectionIcon.vue",
    "content": "<template>\n    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path d=\"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n              stroke-width=\"2\"/>\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TCollectionIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TDocumentIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TDocumentIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TDotsVerticalIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z\" />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TDotsVerticalIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TEyeIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\" />\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TEyeIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TGitHubIcon.vue",
    "content": "<template>\n    <svg class=\"inline-block\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\" focusable=\"false\" data-prefix=\"fab\" data-icon=\"github\" role=\"img\" viewBox=\"0 0 496 512\">\n        <path fill=\"currentColor\" d=\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"/>\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TGitHubIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/THamburgerMenuTriggerIcon.vue",
    "content": "<template>\n  <svg\n      fill=\"none\"\n      stroke=\"currentColor\"\n      viewBox=\"0 0 24 24\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n        d=\"M4 6h16M4 12h16M4 18h16\"\n        stroke-linecap=\"round\"\n        stroke-linejoin=\"round\"\n        stroke-width=\"2\"\n    />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"THamburgerMenuTriggerIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TInformationCircleIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n        <path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clip-rule=\"evenodd\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TInformationCircleIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TInformationIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TInformationIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TLogOutIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TLogOutIcon\"\n})\n</script>\n\n"
  },
  {
    "path": "resources/js/Components/Icon/TLogo.vue",
    "content": "<template>\n    <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        fill=\"none\"\n        viewBox=\"0 0 24 24\"\n        stroke=\"currentColor\"\n    >\n        <path\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n            stroke-width=\"2\"\n            d=\"M17.657 18.657A8 8 0 016.343 7.343S7 9 9 10c0-2 .5-5 2.986-7C14 5 16.09 5.777 17.656 7.343A7.975 7.975 0 0120 13a7.975 7.975 0 01-2.343 5.657z\"\n        />\n        <path\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n            stroke-width=\"2\"\n            d=\"M9.879 16.121A3 3 0 1012.015 11L11 14H9c0 .768.293 1.536.879 2.121z\"\n        />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TLogo\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TPaperClipIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TPaperClipIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TPencilAltIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\" />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TPencilAltIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TPlusCircleIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TPlusCircleIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TPlusIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 6v6m0 0v6m0-6h6m-6 0H6\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TPlusIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TRefreshIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TRefreshIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TSearchCircleIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16l2.879-2.879m0 0a3 3 0 104.243-4.242 3 3 0 00-4.243 4.242zM21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TSearchCircleIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TSearchIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TSearchIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TShieldCheckIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\" />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TShieldCheckIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TShieldCheckSolidIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n    <path fill-rule=\"evenodd\" d=\"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\" />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TShieldCheckSolidIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TShoppingBagIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TShoppingBagIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TStarIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z\" />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TStarIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TStarSolidIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n    <path d=\"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z\" />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TStarSolidIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TTrashIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TTrashIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TUserCircleIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TUserCircleIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TUserGroupIcon.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z\" />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: \"TUserGroupIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TVideoIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 4v16M17 4v16M3 8h4m10 0h4M3 12h18M3 16h4m10 0h4M4 20h16a1 1 0 001-1V5a1 1 0 00-1-1H4a1 1 0 00-1 1v14a1 1 0 001 1z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TVideoIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TXCircleIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TXCircleIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Icon/TXIcon.vue",
    "content": "<template>\n    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\n    </svg>\n</template>\n\n<script>\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n    name: \"TXIcon\"\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/List/TList.vue",
    "content": "<template>\n  <div :class=\"tStyle\">\n    <slot />\n  </div>\n</template>\n\n<script>\nimport { computed, defineComponent, provide, ref, toRefs } from \"vue\";\n\nexport default defineComponent({\n  name: \"TList\",\n  props: {\n    color: {\n      type: String,\n      default: \"white\"\n    },\n    design: {\n      type: String,\n      default: \"filled\"\n    },\n    radius: {\n      type: Number,\n      default: 3\n    },\n    separated: {\n      type: Boolean,\n      default: false\n    },\n    border: {\n      type: Boolean,\n      default: false\n    }\n  },\n  setup(props) {\n    /*Definitions*/\n    const { color, design, radius, separated, border } = toRefs(props);\n\n    /*Provide*/\n    provide(\"separated\", ref(separated));\n    provide(\"radius\", ref(radius));\n    provide(\"border\", ref(border));\n    provide(\"rootColor\", ref(color));\n    provide(\"rootDesign\", ref(design));\n\n    /*Generating Style Classes*/\n    const tStyle = computed(() => {\n      return \"list\" + \" \" +\n        (separated.value ? \"space-y-2\" : \"\");\n    });\n\n    return { tStyle };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/List/TListItem.vue",
    "content": "<template>\n  <div :class=\"tStyle\">\n    <!--Icon-->\n    <div v-if=\"hasSlot('icon')\">\n      <slot name=\"icon\"></slot>\n    </div>\n    <!--Title-->\n    <div v-if=\"hasSlot('title')\">\n      <b>\n        <slot name=\"title\"></slot>\n      </b>\n    </div>\n    <!--Default Content-->\n    <div class=\"list-content\">\n      <slot></slot>\n    </div>\n    <!--Second Content-->\n    <div v-if=\"hasSlot('secondContent')\">\n      <slot name=\"secondContent\"></slot>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { computed, defineComponent, inject, toRefs, useSlots } from \"vue\";\n\nexport default defineComponent({\n  name: \"TListItem\",\n  props: {\n    active: {\n      type: Boolean,\n      required: false\n    },\n    design: {\n      type: String,\n      default: \"filled\"\n    },\n    color: {\n      type: String,\n      default: null,\n      request: false\n    }\n  },\n  setup(props, { slots }) {\n    /*Definitions*/\n    const { active, design, color} = toRefs(props);\n\n    /*Injections*/\n    const radius = inject(\"radius\");\n    const border = inject(\"border\");\n    const separated = inject(\"separated\");\n    const rootColor = inject(\"rootColor\");\n    const rootDesign = inject(\"rootDesign\");\n\n    /*Taken Over Definitions from Root */\n    const activeColor = computed(() => {\n      return rootColor.value ? rootColor.value : color.value;\n    });\n    const activeDesign = computed(() => {\n      return rootDesign.value ? rootDesign.value : design.value;\n    });\n\n    /*Generating Style Classes*/\n    const tStyle = computed(() => {\n      return \"list-container\" + \" \" +\n        \"list-\" + activeDesign.value + \"-base\" + \" \" +\n        \"list-\" + activeDesign.value + \"-\" + activeColor.value + (active.value ? \"-active\" : \"\") + \" \" +\n        (separated.value && border ? \"border last:border first:border\" : \"\") + \" \" +\n        (separated.value ? \"radius-\" + radius.value : \"group-radius-\" + radius.value) + \" \" +\n        (activeDesign.value === \"outline\" || activeDesign.value === \"elegant\" ? \"list-border\" : (border.value ? \"list-border\" : \"border-none\")) + \" \" +\n        (hasSlot(\"secondContent\") ? \"justify-between\" : \"justify-start\");\n    });\n\n    /*Slot Check*/\n    const hasSlot = name => !!useSlots()[name];\n\n    return { hasSlot, tStyle };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Loading/Animations/TLoadingAnimationCogs.vue",
    "content": "<template>\n    <div class=\"loading-cogs-container\">\n        <!--Cog1-->\n        <div id=\"cog1\">\n            <svg\n                :class=\"tStyle['cog1']\"\n                style=\"background-color: rgba(0,0,0,0)\"\n                aria-hidden=\"true\"\n                fill=\"none\"\n                stroke=\"currentColor\"\n                viewBox=\"0 0 24 24\"\n            >\n                <path\n                    d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                    stroke-width=\"2\"\n                />\n                <path\n                    d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                    stroke-width=\"2\"\n                />\n            </svg>\n        </div>\n        <!--Cog2-->\n        <div id=\"cog2\" class=\"loading-cogs-second\">\n            <svg\n                :class=\"tStyle['cog2']\"\n                style=\"background-color: rgba(0,0,0,0)\"\n                aria-hidden=\"true\"\n                fill=\"none\"\n                stroke=\"currentColor\"\n                viewBox=\"0 0 24 24\"\n            >\n                <path\n                    d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                    stroke-width=\"2\"\n                />\n                <path\n                    d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                    stroke-width=\"2\"\n                />\n            </svg>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { computed, defineComponent, reactive, toRefs } from \"vue\";\n\nexport default defineComponent({\n    name: \"TLoadingAnimationCogs\",\n    props: {\n        color: {\n            type: String,\n            default: \"gray\"\n        },\n        target: {\n            type: String,\n            default: \"button\"\n        }\n    },\n    setup(props) {\n        const { color, target } = toRefs(props);\n        /*Design Check*/\n        const tStyle = reactive({})\n        tStyle['cog1'] = computed(() => {\n            return \"loading-\" + color.value + ' ' +\n                (target.value === \"button\" ? \"w-1.5 h-4\" : \"w-20 h-20 xl:w-26 xl:h-26\");\n        });\n        tStyle['cog2'] = computed(() => {\n            return \"loading-\" + color.value + ' ' +\n                (target.value === \"button\" ? \"w-1.5 h-4\" : \"w-12 h-12 xl:w-16 xl:h-16\");\n        });\n\n        return { tStyle };\n    }\n});\n</script>\n\n<style scoped>\n#cog1 {\n    -webkit-animation: cog 2s infinite linear;\n    animation: cog 2s infinite linear;\n    -webkit-transform: translateZ(0);\n    -ms-transform: translateZ(0);\n    transform: translateZ(0);\n}\n\n#cog2 {\n    -webkit-animation: cog 1.5s infinite linear reverse;\n    animation: cog 1.5s infinite linear reverse;\n    -webkit-transform: translateZ(0);\n    -ms-transform: translateZ(0);\n    transform: translateZ(0);\n}\n\n@-webkit-keyframes cog {\n    0% {\n        transform: rotate(0deg);\n    }\n    100% {\n        transform: rotate(360deg);\n    }\n}\n\n@keyframes cog {\n    0% {\n        transform: rotate(0deg);\n    }\n    100% {\n        transform: rotate(360deg);\n    }\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Loading/Animations/TLoadingAnimationThreeBars.vue",
    "content": "<template>\n    <div class=\"loading-three-bars\">\n        <div id=\"bar1\" :class=\"tStyle\" />\n        <div id=\"bar2\" :class=\"tStyle\" />\n        <div id=\"bar3\" :class=\"tStyle\" />\n    </div>\n</template>\n\n<script>\nimport { toRefs, computed } from \"vue\";\n\nexport default {\n    name: \"TLoadingAnimationThreeBars\",\n    props: {\n        title: {\n            type: String,\n            default: \"loading\"\n        },\n        color: {\n            type: String,\n            default: \"gray\"\n        },\n        target: {\n            type: String,\n            default: \"button\"\n        }\n    },\n    setup(props) {\n        const { color, target } = toRefs(props);\n        /*Design Check*/\n        const tStyle = computed(() => {\n\n            return \"loading-\" + color.value + (target.value === \"button\" ? \" w-1.5 h-4\" : \" w-4 h-16 xl:w-6 xl:h-24\");\n        });\n\n        return { tStyle };\n    }\n};\n</script>\n\n<style scoped>\n#bar1,\n#bar2,\n#bar3 {\n    content: \"&nbps\";\n    -webkit-animation: threeBars 1.2s infinite ease-in-out;\n    animation: threeBars 1.2s infinite ease-in-out;\n    -webkit-transform: translateZ(0);\n    -ms-transform: translateZ(0);\n    transform: translateZ(0);\n}\n\n#bar2 {\n    -webkit-animation-delay: 50ms;\n    animation-delay: 50ms;\n}\n\n#bar3 {\n    -webkit-animation-delay: 150ms;\n    animation-delay: 150ms;\n}\n\n@-webkit-keyframes threeBars {\n    0% {\n        opacity: 0.4;\n        transform: scaleY(0.5);\n    }\n    50% {\n        opacity: 1;\n        transform: scaleY(1);\n    }\n    100% {\n        opacity: 0.4;\n        transform: scaleY(0.5);\n    }\n}\n\n@keyframes threeBars {\n    0% {\n        opacity: 0.4;\n        transform: scaleY(0.5);\n    }\n    50% {\n        opacity: 1;\n        transform: scaleY(1);\n    }\n    100% {\n        opacity: 0.4;\n        transform: scaleY(0.5);\n    }\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Loading/Animations/TLoadingAnimationThreeDots.vue",
    "content": "<template>\n    <div class=\"loading-three-dots\">\n        <div id=\"dot1\" :class=\"tStyle\" />\n        <div id=\"dot2\" :class=\"tStyle\" />\n        <div id=\"dot3\" :class=\"tStyle\" />\n    </div>\n</template>\n\n<script>\nimport { toRefs, computed } from \"vue\";\n\nexport default {\n    name: \"TLoadingAnimationThreeDots\",\n    props: {\n        title: {\n            type: String,\n            default: \"loading\"\n        },\n        color: {\n            type: String,\n            default: \"gray\"\n        },\n        target: {\n            type: String,\n            default: \"button\"\n        }\n    },\n    setup(props) {\n        const { color, target } = toRefs(props);\n        /*Design Check*/\n        const tStyle = computed(() => {\n\n            return \"loading-\" + color.value + ' ' +\n                (target.value === \"button\" ? \"w-2 h-2\" : \"w-8 h-8 xl:w-14 xl:h-14\");\n        });\n\n        return { tStyle };\n    }\n};\n</script>\n\n<style scoped>\n#dot1,\n#dot2,\n#dot3 {\n    content: \"&nbps\";\n    -webkit-animation: threeDots 1.2s infinite ease-in-out;\n    animation: threeDots 1.2s infinite ease-in-out;\n    border-radius: 999em;\n    -moz-border-radius: 999em;\n    -webkit-border-radius: 999em;\n    -webkit-transform: translateZ(0);\n    -ms-transform: translateZ(0);\n    transform: translateZ(0);\n}\n\n#dot2 {\n    -webkit-animation-delay: 150ms;\n    animation-delay: 150ms;\n}\n\n#dot3 {\n    -webkit-animation-delay: 300ms;\n    animation-delay: 300ms;\n}\n\n@-webkit-keyframes threeDots {\n    0% {\n        transform: scale(0);\n    }\n    50% {\n        transform: scale(1);\n    }\n    100% {\n        transform: scale(0);\n    }\n}\n\n@keyframes threeDots {\n    0% {\n        transform: scale(0);\n    }\n    30%,\n    70% {\n        transform: scale(0.9);\n    }\n    50% {\n        transform: scale(1);\n    }\n    100% {\n        transform: scale(0);\n    }\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Loading/TLoading.vue",
    "content": "<script setup>\nimport { computed, defineAsyncComponent, ref, toRefs, watch, useSlots } from \"vue\";\n\nconst props = defineProps({\n    modelValue: {\n        type: Boolean,\n        default: false\n    },\n    color: {\n        type: String,\n        default: \"gray\"\n    },\n    title: {\n        type: String,\n        default: \"Loading...\"\n    },\n    message: {\n        type: String,\n        default: \"Please wait, while your request being processed\"\n    },\n    loadingDesign: {\n        type: String,\n        default: \"three-bars\"\n    },\n    loadingColor: {\n        type: String,\n        default: null\n    },\n    closeable: {\n        type: Boolean,\n        default: false\n    },\n    timer: {\n        type: Number,\n        default: null,\n        required: false\n    }\n})\n\ndefineEmits([\"update:modelValue\"])\n\nconst { modelValue, timer, color, loadingDesign } = toRefs(props);\n\n/*Design Check*/\nconst tStyle = computed(() => {\n    return \"loading-screen\" + \" \" +\n        \"loading-screen-\" + color.value;\n});\n\n/*Timer*/\nconst timerCounter = ref(0);\nconst countDownCounter = ref(0);\nwatch(modelValue, () => {\n    if (timer.value && modelValue.value) {\n        /*Timer Function*/\n        setTimeout(() => {\n            close();\n        }, timer.value);\n\n        /*Count Down Function*/\n        let countDownFn = setInterval(() => {\n            if (timer.value >= timerCounter.value) {\n                countDownCounter.value = 100 - (timerCounter.value / timer.value) * 100;\n                timerCounter.value += 4;\n            } else {\n                clearInterval(countDownFn);\n                timerCounter.value = 0;\n                close();\n            }\n        }, 1);\n    }\n})\n\n/*Close*/\nconst close = () => {\n    emit(\"update:modelValue\", false);\n};\n\n/*Loading Component*/\nconst activeLoadingComponent = ref();\nif (loadingDesign.value === \"three-bars\") {\n    activeLoadingComponent.value = \"TLoadingAnimationThreeBars\";\n} else if (loadingDesign.value === \"three-dots\") {\n    activeLoadingComponent.value = \"TLoadingAnimationThreeDots\";\n} else {\n    activeLoadingComponent.value = \"TLoadingAnimationCogs\";\n}\n\nconst loadingComponent = defineAsyncComponent(() => import(`./Animations/${activeLoadingComponent.value}.vue`));\n\n/*Slot Check*/\nconst hasSlot = name => !!useSlots()[name];\n</script>\n\n<style scoped>\n/*Show Hide Menu Titles*/\n.fade-enter-active,\n.fade-leave-active {\n    transition: all 700ms ease-in-out;\n}\n\n.fade-enter-from,\n.fade-leave-to {\n    transform: scaleX(1.1);\n    filter: blur(4px);\n    opacity: 0;\n}\n\n.fade-enter-to,\n.fade-leave-from {\n    transform: scaleX(1);\n    filter: blur(0);\n    opacity: 1;\n}\n</style>\n\n<template>\n    <transition name=\"fade\">\n        <div :class=\"tStyle\" v-if=\"modelValue\">\n            <!--Countdown Line-->\n            <div v-if=\"timer\" class=\"loading-screen-countdown\">\n                <div id=\"countdown\" :style=\"{ width: countDownCounter + '%' }\"></div>\n            </div>\n            <!--Close Icon-->\n            <div v-if=\"closeable\" class=\"loading-screen-close\" @click=\"close\">\n                <svg\n                    class=\"h-10 w-10\"\n                    xmlns=\"http://www.w3.org/2000/svg\"\n                    fill=\"none\"\n                    viewBox=\"0 0 24 24\"\n                    stroke=\"currentColor\"\n                >\n                    <path\n                        stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\"\n                        stroke-width=\"2\"\n                        d=\"M6 18L18 6M6 6l12 12\"\n                    />\n                </svg>\n            </div>\n            <!--Content-->\n            <div v-if=\"!hasSlot('default')\" class=\"loading-screen-content\">\n                <!--Text Content-->\n                <div id=\"wrapper\">\n                    <!--Title-->\n                    <span id=\"title\">{{ title }}</span>\n                    <!--Message-->\n                    <span id=\"message\">{{ message }}</span>\n                </div>\n                <!--Animation-->\n                <component\n                    id=\"animation\"\n                    :is=\"loadingComponent\"\n                    :color=\"loadingColor ? loadingColor : color\"\n                    target=\"loading-screen\"\n                />\n            </div>\n            <!--Custom Content-->\n            <div v-if=\"hasSlot('default')\" id=\"custom-content\">\n                <slot></slot>\n            </div>\n        </div>\n    </transition>\n</template>\n"
  },
  {
    "path": "resources/js/Components/Misc/TComponentRadiusSelector.vue",
    "content": "<template>\n  <div>\n    <div v-if=\"inputStyle === 'checkbox'\">\n      <ul class=\"flex flex-wrap justify-center gap-2 p-2 bg-white bg-opacity-60 border-opacity-60 border rounded-lg lg:rounded-full items-center\">\n        <li\n            v-for=\"(item,index) in radii\"\n            :key=\"index\"\n            :class=\"[\n            item,\n            'w-6 h-6 text-white items-center flex justify-center flex-shrink-0 cursor-pointer',\n            selectedRadius === index ? 'bg-green-500' : 'bg-gray-500'\n            ]\"\n            @click=\"selectedRadius=index; $emit('selected-radius',index)\">{{index}}\n        </li>\n      </ul>\n    </div>\n    <!--<div v-if=\"inputStyle === 'select'\" class=\"flex flex-col gap-4 justify-center items-start\">\n      <div class=\"flex flex-wrap gap-4 items-center\">\n        <t-input-select v-model=\"selectedRadius\" place-holder=\"Radius\">\n          <t-input-select-item :disabled=\"true\">\n            Select a Radius\n          </t-input-select-item>\n          <t-input-select-item\n              v-for=\"(item,itemKey,index) in radii\"\n              :key=\"index\"\n              :value=\"itemKey\"\n          >\n            {{ itemKey }}\n          </t-input-select-item>\n        </t-input-select>\n      </div>\n      <div class=\"inline-flex gap-2\">\n        Radius Code:\n        <t-badge color=\"white\">:radius=\"{{ selectedRadius }}\"</t-badge>\n      </div>\n    </div>-->\n  </div>\n</template>\n\n<script>\nimport {defineComponent} from \"vue\";\n\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\nexport default defineComponent({\n  name: \"TComponentRadiusSelector\",\n  components: {TBadge, TInputSelect},\n  props: {\n    inputStyle: {\n      type: String,\n      default: 'checkbox'\n    }\n  },\n  data(){\n    return {\n      selectedRadius: 3,\n      radii: {\n        '0' : '',\n        '1' : 'rounded-sm',\n        '2' : 'rounded',\n        '3' : 'rounded-md',\n        '4' : 'rounded-lg',\n        '5' : 'rounded-xl',\n        '6' : 'rounded-2xl',\n        '7' : 'rounded-3xl',\n        '8' : 'rounded-full',\n      }\n    }\n  },\n  watch:{\n    selectedRadius(itemKey){\n      this.$emit('selected-radius',itemKey)\n    }\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Misc/TComponentStyleSelector.vue",
    "content": "<template>\n  <div\n    class=\"flex flex-wrap justify-center p-2 bg-white border border-gray-300 bg-opacity-60 border-opacity-60 rounded-lg lg:rounded-full\">\n    <div class=\"flex flex-wrap justify-center items-center space-x-2\">\n      <div v-if=\"selectData !== null\" class=\"flex flex-wrap justify-center items-center space-x-2 text-sm\">\n        <template v-for=\"item in selectData\">\n          <t-input-select\n            :options=\"item.options\"\n            v-model=\"modelData[item.key]\"\n            options-value-key=\"key\"\n            options-label-key=\"label\"\n            :place-holder=\"item.label\"\n            :radius=\"8\"\n            :disabled=\"false\"\n          />\n        </template>\n      </div>\n      <ul class=\"grid grid-cols-5 my-2 md:grid-cols-10 gap-2 place-items-center items-center\">\n        <li\n          v-for=\"(item,itemKey,index) in colorOptions\"\n          :key=\"index\"\n          :class=\"[\n                    'w-5 h-5 rounded-full items-center flex justify-center flex-shrink-0 cursor-pointer',\n                    item.style\n                ]\"\n          @click=\"modelData.color = itemKey\"\n        >\n          <t-check-icon\n            v-if=\"modelValue['color']===itemKey\"\n            :class=\"[\n                  'w-5 h-5',\n                  itemKey === 'white' ? 'text-gray-600' : 'text-white'\n                  ]\"\n          />\n        </li>\n      </ul>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { defineComponent, reactive, ref, toRefs, watch } from \"vue\";\n\nimport TCheckIcon from \"@/Components/Icon/TCheckIcon.vue\";\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\n\nexport default defineComponent({\n  name: \"TComponentStyleSelector\",\n  components: { TInputSelect, TCheckIcon },\n  props: {\n    selectData: {\n      type: Array,\n      default: null\n    },\n    modelValue: {\n      type: Object,\n      default(){\n        return { color: null }\n      }\n    }\n  },\n  emits: [\"update:modelValue\"],\n  setup(props, { emit }) {\n    /*Definitions*/\n    const { modelValue, selectData } = toRefs(props);\n    const colorOptions = reactive({\n      \"red\": {\n        style: \"bg-red-500\",\n        name: \"Red\"\n      },\n      \"blue\": {\n        style: \"bg-blue-500\",\n        name: \"Blue\"\n      },\n      \"green\": {\n        style: \"bg-green-500\",\n        name: \"Green\"\n      },\n      \"yellow\": {\n        style: \"bg-yellow-500\",\n        name: \"Yellow\"\n      },\n      \"indigo\": {\n        style: \"bg-indigo-500\",\n        name: \"Indigo\"\n      },\n      \"purple\": {\n        style: \"bg-purple-500\",\n        name: \"Purple\"\n      },\n      \"pink\": {\n        style: \"bg-pink-500\",\n        name: \"Pink\"\n      },\n      \"gray\": {\n        style: \"bg-gray-500\",\n        name: \"Gray\"\n      },\n      \"white\": {\n        style: \"bg-white border border-gray-200\",\n        name: \"White\"\n      },\n      \"black\": {\n        style: \"bg-black\",\n        name: \"Black\"\n      }\n    });\n    const modelData = reactive(modelValue)\n\n    watch(modelData,\n      ()=>{\n        emit(\"update:modelValue\", modelData);\n      })\n\n    return {\n      colorOptions,\n      modelData\n    };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Misc/TComponentWidthSelector.vue",
    "content": "<template>\n  <div>\n    <div v-if=\"inputStyle === 'checkbox'\">\n      <ul class=\"flex flex-wrap justify-center gap-2 p-2 bg-white bg-opacity-60 border-opacity-60 border rounded-lg lg:rounded-full items-center\">\n        <li\n            v-for=\"(item,index) in 6\"\n            :key=\"index\"\n            :class=\"[\n            item,\n            'w-6 h-6 text-white items-center flex justify-center flex-shrink-0 cursor-pointer',\n            selectedWidth === item ? 'bg-green-500' : 'bg-gray-500'\n            ]\"\n            @click=\"selectedWidth=item; $emit('selected-radius',item)\">{{item}}\n        </li>\n      </ul>\n    </div>\n    <!--<div v-if=\"inputStyle === 'select'\" class=\"flex flex-col gap-4 justify-center items-start\">\n      <div class=\"flex flex-wrap gap-4 items-center\">\n        <t-input-select v-model=\"selectedWidth\" place-holder=\"Radius\" :value=\"6\">\n          <t-input-select-item :disabled=\"true\">\n            Select a Width\n          </t-input-select-item>\n          <t-input-select-item\n              v-for=\"(item,index) in 6\"\n              :key=\"index\"\n              :value=\"item\"\n          >\n            {{ item }}\n          </t-input-select-item>\n        </t-input-select>\n      </div>\n      <div class=\"inline-flex gap-2\">\n        Width Code:\n        <t-badge color=\"white\">:width=\"{{ selectedWidth }}\"</t-badge>\n      </div>\n    </div>-->\n  </div>\n</template>\n\n<script>\nimport {defineComponent} from \"vue\";\n\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\nexport default defineComponent({\n  name: \"TComponentWidthSelector\",\n  components: {TBadge, TInputSelect},\n  props: {\n    inputStyle: {\n      type: String,\n      default: 'checkbox'\n    }\n  },\n  data(){\n    return {\n      selectedWidth: 6,\n    }\n  },\n  watch:{\n      selectedWidth(item){\n      this.$emit('selected-width',item)\n    }\n  }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Components/Modal/TModal.vue",
    "content": "<template>\n  <transition name=\"modal\">\n    <!--Container-->\n    <div v-if=\"modelValue\" :class=\"tStyle['container'] \">\n      <!--Countdown Line-->\n      <div v-if=\"timer\" class=\"modal-countdown\">\n        <div id=\"countdown\" :style=\"{width: countDownCounter+'%'}\"></div>\n      </div>\n      <!--Modal Content Box-->\n      <div\n        :class=\"tStyle['box'] \"\n        ref=\"modalItem\"\n      >\n        <!--Header-->\n        <div class=\"modal-header\">\n          <!--Titles-->\n          <div v-if=\"design==='elegant' && (title || subTitle)\" id=\"title-container\">\n            <span v-if=\"design==='elegant'\" id=\"top-title\" v-text=\"title\" />\n            <span v-if=\"design==='elegant'\" id=\"top-sub-title\" v-text=\"subTitle\" />\n          </div>\n          <!--Buttons-->\n          <div :class=\"tStyle['actionsContainer']\">\n            <!--Action-->\n            <div v-if=\"hasSlot('action-buttons')\" class=\"modal-action-buttons\">\n              <slot name=\"action-buttons\" />\n            </div>\n            <!--Close-->\n            <div\n              v-if=\"closeButton\"\n              class=\"modal-close-button\"\n              @click=\"close()\"\n            >\n              <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-8 w-8\" fill=\"none\" viewBox=\"0 0 24 24\"\n                   stroke=\"currentColor\">\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\n              </svg>\n            </div>\n          </div>\n        </div>\n        <!--Header Separator-->\n        <div v-if=\"design==='elegant'\" id=\"header-separator\" />\n        <!--Content-->\n        <div :class=\"tStyle['content']\">\n          <!--Icon-->\n          <div v-if=\"icon || hasSlot('icon')\" class=\"modal-icon\">\n            <svg v-if=\"icon\" v-html=\"iconList.find(i=>i.key === icon).content\" :class=\"tStyle['icon'] \" />\n            <slot v-else name=\"icon\" />\n          </div>\n          <!--Titles-->\n          <div v-if=\"design!=='elegant' && (title || subTitle)\" id=\"content-title-container\">\n            <span v-if=\"design!=='elegant' && title\" id=\"content-title\" v-text=\"title\" />\n            <span v-if=\"design!=='elegant' && subTitle\" id=\"content-sub-title\" v-text=\"subTitle\" />\n          </div>\n          <!--Content-->\n          <div v-if=\"content || hasSlot('content')\" class=\"modal-content\">\n            <span v-if=\"content\" v-html=\"content\" class=\"modal-content-default\"/>\n            <slot name=\"content\" />\n          </div>\n        </div>\n        <!--Footer-->\n        <div\n          v-if=\"hasSlot('footer-left') || hasSlot('footer-center') || hasSlot('footer-right')\"\n          class=\"modal-footer-container\"\n        >\n          <!--Left-->\n          <div class=\"modal-footer-left\">\n            <span class=\"modal-footer-item\" v-show=\"hasSlot('footer-left')\">\n              <slot name=\"footer-left\" />\n            </span>\n          </div>\n          <!--Center-->\n          <div class=\"modal-footer-center\">\n            <span class=\"modal-footer-item\" v-show=\"hasSlot('footer-center')\">\n              <slot name=\"footer-center\" />\n            </span>\n          </div>\n          <!--Right-->\n          <div class=\"modal-footer-right\">\n            <span class=\"modal-footer-item\" v-show=\"hasSlot('footer-right')\">\n              <slot name=\"footer-right\" />\n            </span>\n          </div>\n        </div>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script>\nimport { computed, defineComponent, reactive, toRefs, watch, useSlots } from \"vue\";\nimport { ref } from \"vue\";\nimport { useKeypress } from \"vue3-keypress\";\nimport { onClickOutside } from \"@vueuse/core\";\n\nexport default defineComponent({\n  name: \"TModal\",\n  props: {\n    modelValue: {\n      type: Boolean,\n      default: false\n    },\n    id: {\n      type: String,\n      default: function() {\n        return \"modal-\" + Number(new Date());\n      }\n    },\n    bgColor: {\n      type: String,\n      default: \"gray\"\n    },\n    darkMode: {\n      type: Boolean,\n      default: false\n    },\n    design: {\n      type: String,\n      default: \"filled\"\n    },\n    color: {\n      type: String,\n      default: \"white\"\n    },\n    radius: {\n      type: Number,\n      default: 3\n    },\n    esc: {\n      type: Boolean,\n      default: false\n    },\n    outSideClick: {\n      type: Boolean,\n      default: false\n    },\n    closeButton: {\n      type: Boolean,\n      default: true\n    },\n    title: {\n      type: String,\n      default: null,\n      require: false\n    },\n    subTitle: {\n      type: String,\n      default: null,\n      require: false\n    },\n    content: {\n      type: String,\n      default: null,\n      require: false\n    },\n    icon: {\n      type: String,\n      default: null,\n      require: false\n    },\n    timer: {\n      type: Number,\n      default: null,\n      require: false\n    }\n  },\n  emits: ['destroy', 'update:modelValue'],\n  setup(props, { slots, emit }) {\n    /*Definitions*/\n    const {\n      modelValue,\n      id,\n      darkMode,\n      design,\n      color,\n      radius,\n      bgColor,\n      esc,\n      outSideClick,\n      icon,\n      timer,\n      content,\n      title,\n      subTitle\n    } = toRefs(props);\n    const modalItem = ref(null);\n    const iconList = [\n      {\n        key: \"success\",\n        content: \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"h-6 w-6\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\">\\n\" +\n          \"  <path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\\\" />\\n\" +\n          \"</svg>\",\n        color: \"text-green-500\"\n      },\n      {\n        key: \"warning\",\n        content: \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"h-6 w-6\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\">\\n\" +\n          \"  <path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\\\" />\\n\" +\n          \"</svg>\",\n        color: \"text-yellow-500\"\n      },\n      {\n        key: \"error\",\n        content: \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"h-6 w-6\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\">\\n\" +\n          \"  <path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\\\" />\\n\" +\n          \"</svg>\",\n        color: \"text-red-500\"\n      },\n      {\n        key: \"info\",\n        content: \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"h-6 w-6\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\">\\n\" +\n          \"  <path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\\\" />\\n\" +\n          \"</svg>\",\n        color: \"bg-blue-500\"\n      },\n      {\n        key: \"question\",\n        content: \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"h-6 w-6\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\">\\n\" +\n          \"  <path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\\\" />\\n\" +\n          \"</svg>\",\n        color: \"text-indigo-500\"\n      }\n    ];\n\n    /*ESC Key Action*/\n    if (esc.value) {\n      const someSuccessCallback = () => {\n        close();\n      };\n\n      useKeypress({\n        keyEvent: \"keydown\",\n        keyBinds: [\n          {\n            keyCode: \"esc\", // or keyCode as integer, e.g. 40\n            success: someSuccessCallback\n          }\n        ]\n      });\n    }\n\n    /*Outside Click Action*/\n    if (outSideClick.value) {\n      onClickOutside(modalItem, () => close());\n    }\n\n    /*Close Action*/\n    const close = () => {\n      emit(\"destroy\", id.value);\n      emit(\"update:modelValue\", false);\n    };\n\n    /*Timer*/\n    watch(modelValue, (value) => {\n      if (value && timer.value) {\n        autoClose();\n      }\n    });\n    const timerCounter = ref(0);\n    const countDownCounter = ref(0);\n    const autoClose = () => {\n      /*Timer Function*/\n      setTimeout(() => {\n        close();\n      }, timer.value);\n\n      /*Count Down Function*/\n      const countDownFn = setInterval(() => {\n        if (timer.value >= timerCounter.value) {\n          countDownCounter.value = (timerCounter.value / timer.value) * 100;\n          timerCounter.value += 4;\n        } else {\n          timerCounter.value = 0;\n          countDownCounter.value = 0;\n          clearInterval(countDownFn);\n        }\n      }, 1);\n    };\n\n    /*Generating Style Classes*/\n    const tStyle = reactive({})\n    tStyle['container'] = computed(() => {\n      return \"modal-container\" + \" \" +\n        \"modal-container-\" + bgColor.value;\n    });\n    tStyle['actionsContainer'] = computed(() => {\n      return \"modal-actions-container\" + \" \" +\n        (design.value!=='elegant' ? 'w-full justify-end' : '');\n    });\n    tStyle['content'] = computed(() => {\n      let style\n      if((content.value || title.value || subTitle.value) && !hasSlot('content') ){\n        style='modal-content-container'\n      }\n      if(hasSlot('content')){\n        style='modal-custom-content-container'\n      }\n      if(content.value && hasSlot('content')){\n        style='modal-content-container'\n      }\n\n      if(!hasSlot('footer-left') && !hasSlot('footer-center') && !hasSlot('footer-right')){\n        style = style + ' ' + 'pb-8'\n      }\n      return style\n    });\n    tStyle['box']  = computed(() => {\n      return \"modal-box\" + \" \" +\n        \"modal-\" + design.value + (darkMode.value ? \"-dark\" : \"-light\") + \" \" +\n        \"modal-\" + design.value + \"-base\" + \" \" +\n        \"modal-\" + design.value + \"-\" + color.value + \" \" +\n        \"radius-\" + radius.value;\n    });\n    tStyle['icon']  = computed(() => {\n      return \"modal-icon-default\" + \" \" +\n        iconList.find(i => i.key === icon.value).color;\n    });\n\n    /*Icon*/\n\n    /*Slot Check*/\n    const hasSlot = name => !!useSlots()[name];\n\n    return { hasSlot, close, tStyle, iconList, countDownCounter, modalItem };\n  }\n});\n</script>\n\n<style scoped>\n.modal-enter-active, .modal-leave-active {\n  transition: all 500ms;\n}\n\n.modal-enter-from, .modal-leave-to {\n  opacity: 0;\n}\n\n.modal-leave-from, .modal-enter-to {\n  opacity: 1;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Paginate/TBackEndTablePaginate.vue",
    "content": "<template>\n  <div :class=\"tStyle['container']\">\n    <div v-if=\"detail || jump\" class=\"bet-pagination-detail-container\">\n      <div class=\"bet-pagination-detail-text\">\n        {{ detailGeneratedText }}\n      </div>\n      <div v-if=\"jump\" class=\"bet-pagination-detail-jump-container\">\n        <span>-</span>\n        <input type=\"text\"\n               v-model=\"jumpPage\"\n               @keypress.enter=\"selectPage(Number(jumpPage))\"\n               :class=\"tStyle['jumpInput']\"\n               :style=\"{width:Math.floor(pageCount.toString().length)-(.25*pageCount.toString().length-.8)+'rem'}\"\n               :maxlength=\"pageCount.toString().length\"\n        />\n        <span :class=\"tStyle['jumpButton']\" @click=\"selectPage(Number(jumpPage))\">\n          <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n            <path fill-rule=\"evenodd\"\n                  d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-8.707l-3-3a1 1 0 00-1.414 1.414L10.586 9H7a1 1 0 100 2h3.586l-1.293 1.293a1 1 0 101.414 1.414l3-3a1 1 0 000-1.414z\"\n                  clip-rule=\"evenodd\" />\n          </svg>\n        </span>\n      </div>\n    </div>\n    <div class=\"flex flex-grow\"></div>\n    <div :class=\"tStyle['counter']\">\n      <div\n        :class=\"tStyle['previous']\"\n        @click=\"previousPage\"\n      >\n        <svg xmlns=\"http://www.w3.org/2000/svg\" :class=\"['h-6 w-6', arrowText ? '-mx-1 md:-ml-2 md:-mr-1' : '']\"\n             fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n          <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 19l-7-7 7-7\" />\n        </svg>\n        <span v-if=\"arrowText\" v-text=\"previousText\" class=\"bet-pagination-arrow-text\" />\n      </div>\n      <template v-for=\"item in dynamicRange\" :key=\"item\">\n        <div\n          :class=\"itemStyle(item)\"\n          @click=\"selectPage(item)\">\n          {{ item }}\n        </div>\n      </template>\n      <div\n        :class=\"tStyle['next']\"\n        @click=\"nextPage\"\n      >\n        <span v-if=\"arrowText\" v-text=\"nextText\" class=\"bet-pagination-arrow-text\" />\n        <svg xmlns=\"http://www.w3.org/2000/svg\" :class=\"['h-6 w-6', arrowText ? '-mx-1 md:-mr-2 md:-ml-1' : '']\"\n             fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n          <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\" />\n        </svg>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { computed, defineComponent, reactive, ref, toRefs } from \"vue\";\n\nexport default defineComponent({\n  name: \"TBackEndTablePaginate\",\n  props: {\n    modelValue: {\n      type: Number,\n      default: 1\n    },\n    darkMode:{\n      type: Boolean,\n      default: false\n    },\n    color: {\n      type: String,\n      default: \"gray\"\n    },\n    reverse: {\n      type: Boolean,\n      default: false\n    },\n    radius: {\n      type: Number,\n      default: 3\n    },\n    detail: {\n      type: Boolean,\n      default: true\n    },\n    jump: {\n      type: Boolean,\n      default: false\n    },\n    total: {\n      type: Number,\n      default: 1\n    },\n    range: {\n      type: Number,\n      default: 5\n    },\n    perPageItem: {\n      type: Number,\n      default:1\n    },\n    arrow: {\n      type: Boolean,\n      default: true\n    },\n    arrowText: {\n      type: Boolean,\n      default: true\n    },\n    detailText: {\n      type: String,\n      default: \"detailText\"\n    },\n    nextText: {\n      type: String,\n      default: \"next\"\n    },\n    previousText: {\n      type: String,\n      default: \"previous\"\n    }\n  },\n  emits: [\"update:modelValue\"],\n  setup(props, { emit }) {\n    /*Definitions*/\n    const { total, radius, darkMode, modelValue, range, perPageItem,reverse, detailText } = toRefs(props);\n    const jumpPage = ref(null);\n\n    /*Select, Next and Previous Page Change Action*/\n    const nextPage = () => {\n      if (Math.ceil(pageCount.value / range.value) > Math.ceil(modelValue.value / range.value)) {\n        let newPage = (Math.ceil(modelValue.value / range.value)) * range.value + 1;\n        emit(\"update:modelValue\", newPage);\n      }\n    };\n    const previousPage = () => {\n      if (modelValue.value > range.value) {\n        let newPage = Math.floor(modelValue.value / range.value) * range.value;\n        if (modelValue.value === newPage) {\n          newPage = newPage - range.value;\n        }\n        emit(\"update:modelValue\", newPage);\n      }\n    };\n    const selectPage = (item) => {\n      let newPage;\n      if (isNaN(item)) {\n        newPage = 1;\n      } else {\n        if (item > pageCount.value) {\n          newPage = pageCount.value;\n        } else if (1 > item) {\n          newPage = 1;\n        } else {\n          newPage = item;\n        }\n      }\n\n      emit(\"update:modelValue\", newPage);\n    };\n    const pageCount = computed(()=>{\n      return Math.ceil(total.value/perPageItem.value)\n    })\n    const dynamicRange = computed(() => {\n      let newRange = [];\n      let start;\n      start = (Math.floor(modelValue.value / range.value)) * range.value;\n      /*Fixing zero*/\n      if (start < 0) {\n        start = 1;\n      } else if (modelValue.value % range.value !== 0) {\n        start = start + 1;\n        for (let i = start; (start + range.value) > i; i++) {\n          if (pageCount.value >= i) {\n            newRange.push(i);\n          }\n        }\n      } else if (modelValue.value % range.value === 0) {\n        start = start - (range.value - 1);\n        for (let i = start; (start + range.value) > i; i++) {\n          if (pageCount.value >= i) {\n            newRange.push(i);\n          }\n        }\n      }\n      return newRange;\n    });\n\n    /*Generate Detail Text*/\n    const detailGeneratedText = computed(() => {\n      let finalText;\n      finalText = detailText.value.replace(\"$a\", modelValue.value.toString());\n      finalText = finalText.replace(\"$b\", pageCount.value.toString());\n\n      return finalText;\n    });\n\n    /*Generating Style Classes*/\n    const tStyle = reactive({});\n    tStyle[\"container\"] = computed(() => {\n      return \"bet-pagination-container\" + \" \" +\n        \"bet-pagination-\" + (darkMode.value ? 'dark' : 'light')+ \" \" +\n        (reverse.value ? \"flex-row-reverse\" : \"\");\n    });\n    tStyle[\"counter\"] = computed(() => {\n      return \"bet-pagination-counters\" + \" \" +\n        \"radius-\" + radius.value;\n    });\n    tStyle[\"jumpInput\"] = computed(() => {\n      return \"bet-pagination-detail-jump-input\" + \" \" +\n        \"radius-tl-\" + radius.value + \" \" + \"radius-bl-\" + radius.value;\n    });\n    tStyle[\"jumpButton\"] = computed(() => {\n      return \"bet-pagination-detail-jump-button\" + \" \" +\n        \"radius-tr-\" + radius.value + \" \" + \"radius-br-\" + radius.value;\n    });\n    const itemStyle = (item) => {\n      return (modelValue.value === item ? \"bet-pagination-active-item\" : \"bet-pagination-item\");\n    };\n    tStyle[\"previous\"] = computed(() => {\n      return (range.value >= modelValue.value ? \"bet-pagination-passive-arrow\" : \"bet-pagination-arrow\");\n    });\n    tStyle[\"next\"] = computed(() => {\n      return (Math.ceil(modelValue.value / range.value) === Math.ceil(pageCount.value / range.value) ? \"bet-pagination-passive-arrow\" : \"bet-pagination-arrow\");\n    });\n\n    return {\n      nextPage,\n      previousPage,\n      tStyle,\n      itemStyle,\n      selectPage,\n      detailGeneratedText,\n      dynamicRange,\n      jumpPage,\n      pageCount\n    };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Paginate/TPaginate.vue",
    "content": "<template>\n    <div\n        class=\"pagination-container\"\n        :class=\"[\n            `pagination-${design}-base`,\n            `pagination-${design}-${color}`,\n            {'flex-wrap-reverse' : reverse}\n          ]\"\n    >\n        <!--Detail-->\n        <div v-if=\"detail || jump\" class=\"pagination-detail-container\">\n            <!--Text-->\n            <div class=\"pagination-detail-text\">\n                {{ t(detailText, {activePage: modelValue, totalPage: totalPage, totalRecord: total}) }}\n            </div>\n        </div>\n        <!--Jump Button-->\n        <div v-if=\"jump\" class=\"pagination-detail-jump-container\">\n            <input\n                type=\"text\"\n                :maxlength=\"total.toString().length\"\n                v-model=\"jumpPage\"\n                @keypress.enter=\"selectPage(Number(jumpPage))\"\n                class=\"pagination-detail-jump-input\"\n                :style=\"{width:Math.floor(total.toString().length)-(.25*total.toString().length-.5)+'rem'}\"\n            />\n            <span @click=\"selectPage(Number(jumpPage))\" class=\"pagination-detail-jump-button\">\n                    <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n            <path fill-rule=\"evenodd\"\n                  d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-8.707l-3-3a1 1 0 00-1.414 1.414L10.586 9H7a1 1 0 100 2h3.586l-1.293 1.293a1 1 0 101.414 1.414l3-3a1 1 0 000-1.414z\"\n                  clip-rule=\"evenodd\"/>\n          </svg>\n                </span>\n        </div>\n        <!--Filler-->\n        <div class=\"flex flex-grow\"></div>\n        <!--Counter Container-->\n        <div\n            class=\"pagination-counters\"\n            :class=\"`radius-${radius}`\"\n        >\n            <!--Previous-->\n            <div\n                :class=\"range >= modelValue ? 'pagination-passive-arrow' : 'pagination-arrow'\"\n                @click=\"previousPage\"\n            >\n                <svg xmlns=\"http://www.w3.org/2000/svg\"\n                     :class=\"['h-6 w-6', arrowText ? '-mx-1 md:-ml-2 md:-mr-1' : '']\"\n                     fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 19l-7-7 7-7\"/>\n                </svg>\n                <span v-if=\"arrowText\" v-text=\"t(previousText)\" class=\"pagination-arrow-text\"/>\n            </div>\n            <!--Counter-->\n            <template v-for=\"item in dynamicRange\" :key=\"item\">\n                <span\n                    :class=\"modelValue === item ? 'pagination-active-item' : 'pagination-item'\"\n                    @click=\"selectPage(item)\"\n                    v-text=\"item\"\n                />\n            </template>\n            <!--Next-->\n            <div\n                :class=\"Math.ceil(modelValue / range) === Math.ceil(totalPage / range) ? 'pagination-passive-arrow' : 'pagination-arrow'\"\n                @click=\"nextPage\"\n            >\n                <span v-if=\"arrowText\" v-text=\"t(nextText)\" class=\"pagination-arrow-text\"/>\n                <svg xmlns=\"http://www.w3.org/2000/svg\"\n                     :class=\"['h-6 w-6', arrowText ? '-mx-1 md:-mr-2 md:-ml-1' : '']\"\n                     fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"/>\n                </svg>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport {computed, defineComponent, ref, toRefs} from \"vue\";\nimport {useI18n} from \"vue-i18n\";\nimport pagination_tr from \"@/Lang/tr/pagination_lang\";\nimport pagination_en from \"@/Lang/en/pagination_lang\";\n\nexport default defineComponent({\n    name: \"TPaginate\",\n    props: {\n        modelValue: {\n            type: Number,\n            default: 1\n        },\n        design: {\n            type: String,\n            default: \"filled\"\n        },\n        color: {\n            type: String,\n            default: \"gray\"\n        },\n        reverse: {\n            type: Boolean,\n            default: false\n        },\n        radius: {\n            type: Number,\n            default: 3\n        },\n        detail: {\n            type: Boolean,\n            default: true\n        },\n        jump: {\n            type: Boolean,\n            default: false\n        },\n        total: {\n            type: Number,\n            default: 1\n        },\n        range: {\n            type: Number,\n            default: 5\n        },\n        arrowText: {\n            type: Boolean,\n            default: true\n        },\n\n        detailText: {\n            type: String,\n            default: \"detailText\"\n        },\n        nextText: {\n            type: String,\n            default: \"next\"\n        },\n        previousText: {\n            type: String,\n            default: \"previous\"\n        }\n    },\n    emits: [\"update:modelValue\"],\n    setup(props, {emit}) {\n        /*Definitions*/\n        const {total, modelValue, range} = toRefs(props);\n        const jumpPage = ref(null);\n        const {t} = useI18n({\n            messages: {\n                en: pagination_en,\n                tr: pagination_tr\n            }\n        });\n\n        /*Calculate Total Page*/\n        const totalPage = computed(() => {\n            return Math.ceil(total.value / range.value)\n        })\n        /*Select, Next and Previous Page Change Action*/\n        const nextPage = () => {\n            if (Math.ceil(totalPage.value / range.value) > Math.ceil(modelValue.value / range.value)) {\n                let newPage = (Math.ceil(modelValue.value / range.value)) * range.value + 1;\n                emit(\"update:modelValue\", newPage);\n            }\n        };\n        const previousPage = () => {\n            if (modelValue.value > range.value) {\n                let newPage = Math.floor(modelValue.value / range.value) * range.value;\n                if (modelValue.value === newPage) {\n                    newPage = newPage - range.value;\n                }\n                emit(\"update:modelValue\", newPage);\n            }\n        };\n        const selectPage = (item) => {\n            let newPage;\n            if (isNaN(item)) {\n                newPage = 1;\n            } else {\n                if (item > totalPage.value) {\n                    newPage = totalPage.value;\n                } else if (1 > item) {\n                    newPage = 1;\n                } else {\n                    newPage = item;\n                }\n            }\n\n            emit(\"update:modelValue\", newPage);\n        };\n        const dynamicRange = computed(() => {\n            let newRange = [];\n            let start;\n            start = (Math.floor(modelValue.value / range.value)) * range.value;\n            /*Fixing zero*/\n            if (start < 0) {\n                start = 1;\n            } else if (modelValue.value % range.value !== 0) {\n                start = start + 1;\n                for (let i = start; (start + range.value) > i; i++) {\n                    if (totalPage.value >= i) {\n                        newRange.push(i);\n                    }\n                }\n            } else if (modelValue.value % range.value === 0) {\n                start = start - (range.value - 1);\n                for (let i = start; (start + range.value) > i; i++) {\n                    if (totalPage.value >= i) {\n                        newRange.push(i);\n                    }\n                }\n            }\n            return newRange;\n        });\n\n        return {\n            nextPage,\n            previousPage,\n            totalPage,\n            selectPage,\n            dynamicRange,\n            jumpPage,\n            t\n        };\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Progress/TProgress.vue",
    "content": "<template>\n  <div class=\"progress\">\n    <div class=\"progress-container\">\n      <div v-text=\"title\"></div>\n      <div>{{ tCounterText }}</div>\n    </div>\n    <transition name=\"progress\">\n      <div :class=\"tStyle['height']\">\n        <transition name=\"progress\">\n          <div\n            :class=\"tStyle['line']\"\n            :style=\"'width:'+counter+'%'\"\n          />\n        </transition>\n      </div>\n    </transition>\n  </div>\n</template>\n\n<script>\nimport { defineComponent, toRefs, computed, reactive } from \"vue\";\n\nexport default defineComponent({\n  name: \"TProgress\",\n  props: {\n    title: {\n      type: String,\n      default: null\n    },\n    modelValue: {\n      type: Number,\n      default: 10\n    },\n    color: {\n      type: String,\n      default: \"green\"\n    },\n    height: {\n      type: Number,\n      default: 3\n    },\n    counterText: {\n      type: String,\n      default: \"$a%\"\n    },\n    max: {\n      type: Number,\n      default: 100\n    }\n  },\n  setup(props) {\n    /*Definitions*/\n    const { counterText, modelValue, color, height, max } = toRefs(props);\n\n    /*Counter*/\n    const counter = computed(() => {\n      if (modelValue.value >= 0 && modelValue.value !== null && !isNaN(modelValue.value)) {\n        if ((modelValue.value / max.value) * 100 > 100) {\n          return 100;\n        } else {\n          return (modelValue.value / max.value) * 100;\n        }\n      } else {\n        return 0;\n      }\n    });\n    const tCounterText = computed(() => {\n      let finalText;\n      finalText = counterText.value.toString().replace(\"$a\", max.value === 100 ? counter.value.toString() : modelValue.value);\n      return finalText;\n    });\n\n    /*Generating Style Classes*/\n    const tStyle = reactive({});\n    tStyle[\"height\"] = computed(() => {\n      return \"progress-value\" + \" \" +\n        \"progress-height-\" + height.value;\n    });\n    tStyle[\"line\"] = computed(() => {\n      return \"progress-counter-line\" + \" \" +\n        \"progress-\" + color.value;\n    });\n\n\n    return { counter, tCounterText, tStyle };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Components/Tab/TTab.vue",
    "content": "<template>\n  <div v-if=\"!data.find(t=>t.id === modelValue) && modelValue !== null\" class=\"w-full col-span-full\">\n    <t-alert design=\"elegant\" title=\"attention\" color=\"yellow\">\n      Undefined tab id, please check your id\n    </t-alert>\n  </div>\n  <div v-else :class=\"tStyle['container']\">\n    <div class=\"tab-title-container\">\n      <div v-for=\"item in data\" :key=\"item.id\" @click=\"select(item.id)\" :class=\"titleStyle(item.id)\">\n        <slot name=\"icon\" :props=\"item\" />\n        {{ item.title }}\n      </div>\n    </div>\n\n    <div class=\"tab-content\">\n      <span\n        v-if=\"data.find(c => c.id === active).content\"\n        v-text=\"data.find(c => c.id === active).content\"\n      />\n      <slot name=\"content\" :props=\"data.find(c => c.id === active)\"/>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { computed, defineComponent, reactive, ref, toRefs } from \"vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\n\nexport default defineComponent({\n  name: \"TTab\",\n  components: { TAlert },\n  props: {\n    data: {\n      type: Array,\n      default() {\n        return [\n          { id: 0, content: \"Sample Content\" }\n        ];\n      }\n    },\n    modelValue: {\n      type: [Number, String, Date],\n      default: null\n    },\n    design: {\n      type: String,\n      default: \"filled\"\n    },\n    color: {\n      type: String,\n      default: \"gray\"\n    },\n    coloredText: {\n      type: Boolean,\n      default: false\n    },\n    darkMode: {\n      type: Boolean,\n      default: false\n    },\n  },\n  emits: [\"update:modelValue\"],\n  setup(props, { emit }) {\n    /*Definitions*/\n    const { modelValue, data, design, color, darkMode, coloredText } = toRefs(props);\n    const active = ref(modelValue.value ? modelValue.value : data.value[0].id);\n\n    /*Select Action*/\n    const select = (id) => {\n      active.value = id;\n      emit(\"update:modelValue\", id);\n    };\n\n    /*Generating Style Classes*/\n    const tStyle = reactive({});\n    tStyle[\"container\"] = computed(() => {\n      return \"tab\" + \" \" +\n        \"tab-\" + design.value + \"-base\" + \" \" +\n        \"tab-\" + (darkMode.value ? \"dark\" : \"light\") + \" \" +\n        \"tab-\" + design.value + \"-\" + color.value;\n    });\n    const titleStyle = (id) => {\n      return (active.value === id ? 'tab-title-active' : 'tab-title') + ' ' +\n        (!coloredText.value ? 'tab-'+ design.value +'-simple-text' : '')\n    };\n\n    return { active, select, tStyle, titleStyle };\n  }\n});\n</script>\n\n"
  },
  {
    "path": "resources/js/Components/Table/TBackEndTable.vue",
    "content": "<template>\n    <div\n        class=\"table-outside-container\"\n        :class=\"`table-${design}`\"\n    >\n        <!--Top Content-->\n        <div\n            v-if=\"hasSlot('search') || hasSlot('top-right') || hasSlot('top-left') || simpleSearchableFields.length>0\"\n            class=\"table-top\"\n        >\n            <!--Left-->\n            <div\n                v-if=\"simpleSearchableFields.length>0\"\n                class=\"table-top-left\"\n            >\n                <!--Search-->\n                <t-input-text\n                    id=\"search\"\n                    type=\"text\"\n                    v-model=\"searchObj.simpleSearchText\"\n                    :radius=\"radius\"\n                    :placeholder=\"t('searchPlaceHolder')\"\n                    :disabled=\"showAdvancedSearchPanel\"\n                >\n                    <template #icon>\n                        <!--Search Icon-->\n                        <svg\n                            class=\"w-6 h-6\"\n                            xmlns=\"http://www.w3.org/2000/svg\"\n                            fill=\"none\"\n                            viewBox=\"0 0 24 24\"\n                            stroke=\"currentColor\"\n                        >\n                            <path\n                                stroke-linecap=\"round\"\n                                stroke-linejoin=\"round\"\n                                stroke-width=\"2\"\n                                d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n                            />\n                        </svg>\n                    </template>\n                </t-input-text>\n                <!--Customize Showing Options-->\n                <t-button\n                    :radius=\"radius\"\n                    border\n                    @click=\"showCustomizeModal = !showCustomizeModal\"\n                >\n                    <!--Options Icon-->\n                    <svg\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                        class=\"h-6 w-6\"\n                        fill=\"none\"\n                        viewBox=\"0 0 24 24\"\n                        stroke=\"currentColor\"\n                    >\n                        <path\n                            stroke-linecap=\"round\"\n                            stroke-linejoin=\"round\"\n                            stroke-width=\"2\"\n                            d=\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\"\n                        />\n                    </svg>\n                </t-button>\n                <!--Advanced Search Button-->\n                <t-button\n                    v-if=\"advancedSearchableFields.length>0\"\n                    :radius=\"radius\"\n                    border\n                    @click=\"showAdvancedSearchPanel = !showAdvancedSearchPanel\"\n                >\n                    <!--Advanced Search Icon-->\n                    <svg\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                        class=\"h-6 w-6\"\n                        fill=\"none\"\n                        viewBox=\"0 0 24 24\"\n                        stroke=\"currentColor\"\n                    >\n                        <path\n                            stroke-linecap=\"round\"\n                            stroke-linejoin=\"round\"\n                            stroke-width=\"2\"\n                            d=\"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z\"\n                        />\n                    </svg>\n                </t-button>\n                <!--Custom Top Left Content-->\n                <slot name=\"top-left\"/>\n            </div>\n            <!--Right-->\n            <div\n                v-if=\"hasSlot('top-right')\"\n                class=\"table-top-right\"\n            >\n                <!--Custom Top Right Content-->\n                <slot name=\"top-right\"/>\n            </div>\n        </div>\n        <!--Advanced Filters Area-->\n        <transition name=\"tableSearch\">\n            <div\n                v-if=\"showAdvancedSearchPanel\"\n            >\n                <div\n                    class=\"table-advanced-search-container\"\n                    :class=\"`radius-${radius}`\"\n                >\n                    <span id=\"title\" v-text=\"t('advancedSearch')\"/>\n                    <div class=\"table-advanced-search-content-wrapper\">\n                        <div\n                            v-for=\"field in advancedSearchableFields\"\n                            :key=\"field.key\"\n                        >\n\n                            <t-input-group :label=\"field.label ?? field.key\">\n                                <!--Text-->\n                                <t-input-text\n                                    v-if=\"field.advancedSearchInputType==='text'\"\n                                    v-model=\"searchObj.advancedSearchFields[field.searchKey].value\"\n                                    v-model:selectValue=\"searchObj.advancedSearchFields[field.searchKey].condition\"\n                                    :options=\"field.compareOperators\"\n                                    :options-label-key=\"field.advancedSearchSelectLabelKey\"\n                                    :options-value-key=\"field.advancedSearchSelectValueKey\"\n                                    :select-position=\"field.compareOperators ? 'right' : ''\"\n                                    select-type=\"inside\"\n                                />\n                                <!--Select-->\n                                <t-input-select\n                                    v-if=\"field.advancedSearchInputType==='select'\"\n                                    v-model.lazy=\"searchObj.advancedSearchFields[field.searchKey].value\"\n                                    :options=\"field.advancedSearchSelectInputSource\"\n                                    :options-label-key=\"field.advancedSearchSelectLabelKey\"\n                                    :options-value-key=\"field.advancedSearchSelectValueKey\"\n                                    :search=\"field.advancedSearchSelectSearch\"\n                                    :search-place-holder=\"field['advancedSearchSelectSearchPlaceHolder'] !== null ? field['advancedSearchSelectSearchPlaceHolder'] : null\"\n                                    :place-holder=\"field['advancedSearchSelectPlaceHolder'] !== null ? field['advancedSearchSelectPlaceHolder'] : null\"\n                                />\n                                <!--Between-->\n                                <t-input-between\n                                    v-if=\"field.advancedSearchInputType==='between'\"\n                                    v-model=\"searchObj.advancedSearchFields[field.searchKey].value\"\n                                />\n                            </t-input-group>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </transition>\n        <!--Errors-->\n        <div class=\"grid grid-cols-1 gap-2\">\n\n            <template v-for=\"error in tableErrors\">\n\n                <t-alert\n                    v-if=\"error.status\"\n                    :key=\"error.title\"\n                    :title=\"`${error.title} ${t('missing')}`\"\n                    :radius=\"radius\"\n                    color=\"yellow\"\n                    design=\"outline\"\n                >\n                    <template #icon>\n                        <svg class=\"w-10 h-10 dark:text-gray-700\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"\n                             xmlns=\"http://www.w3.org/2000/svg\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                  d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"></path>\n                        </svg>\n                    </template>\n                    <div v-html=\"t(error.errorText)\"/>\n                </t-alert>\n\n            </template>\n\n        </div>\n        <!--Table-->\n        <div\n            v-if=\"header.length>0 && content\"\n            class=\"overflow-x-auto scrollbar scrollbar-thin transition-size-medium\"\n            :class=\"{'opacity-25' : dataLoading}\"\n        >\n            <table class=\"table-container\">\n                <!--Header-->\n                <thead>\n                <!--Header Row-->\n                <tr>\n                    <!--Header Items-->\n                    <th\n                        v-for=\"item in regeneratedHeader\"\n                        :key=\"item.key\"\n                        :style=\"{width: item.width ? item.width+'%' : 'auto'}\"\n                    >\n                        <div\n                            :class=\"[\n                                'table-header-cell',\n                                {'cursor-pointer' : sortableFields.includes(item.key)}  ,\n                                item.align === 'right' ? 'justify-end' :\n                                item.align === 'center' ? 'justify-center' :\n                                'justify-start'\n                                ]\"\n                            @click=\"\n                            sortableFields.includes(item.key) ?\n                            [searchObj.sortKey=item.key , searchObj.sortDirection= !searchObj.sortDirection] :\n                            ''\"\n                        >\n                            <!--Label-->\n                            <span v-text=\"item.label ?? item.key\"/>\n                            <!--Sort Icon-->\n                            <span v-show=\"sortableFields.includes(item.key)\">\n                                <transition name=\"fade\" mode=\"out-in\">\n                  <!--Sort Direction Icon-->\n                  <svg\n                      v-if=\"searchObj.sortKey===item.key\"\n                      class=\"h-5 w-5\"\n                      :class=\"[\n                        'transform transition',\n                        searchObj.sortDirection ? 'rotate-180' : ''\n                        ]\"\n                      xmlns=\"http://www.w3.org/2000/svg\"\n                      fill=\"none\" viewBox=\"0 0 24 24\"\n                      stroke=\"currentColor\"\n                  >\n                  <path\n                      stroke-linecap=\"round\"\n                      stroke-linejoin=\"round\"\n                      stroke-width=\"2\"\n                      d=\"M17 13l-5 5m0 0l-5-5m5 5V6\"\n                  />\n                </svg>\n                                    <!--Sort Placeholder Icon-->\n                  <svg\n                      v-else\n                      xmlns=\"http://www.w3.org/2000/svg\"\n                      class=\"h-5 w-5 opacity-50\"\n                      fill=\"none\"\n                      viewBox=\"0 0 24 24\"\n                      stroke=\"currentColor\"\n                  >\n                    <path\n                        stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\"\n                        stroke-width=\"2\"\n                        d=\"M8 9l4-4 4 4m0 6l-4 4-4-4\"\n                    />\n                  </svg>\n                </transition>\n                            </span>\n                        </div>\n\n                    </th>\n                    <!--Actions Header Cell-->\n                    <td v-if=\"actions.length>0\" class=\"table-header-cell\">\n                        <span\n                            class=\"text-right w-full\"\n                            v-text=\"actionsHeaderText\"\n                        ></span>\n                    </td>\n                </tr>\n                </thead>\n                <!--Content-->\n                <tbody>\n                <!--Content Rows-->\n                <tr\n                    v-for=\"(item,itemIndex) in regeneratedContent\"\n                    :key=\"itemIndex\"\n                    class=\"table-content-row\"\n                    :class=\"[\n                        {'table-content-zebra-row': rowZebra},\n                        {'table-content-hover-row': rowHover},\n                        {'table-content-border-row': rowBorder},\n                        ]\"\n                >\n                    <!--Cells of The Content Row-->\n                    <template v-for=\"(cell,cellKey,cellIndex) in item\">\n                        <td\n                            :key=\"cellKey\"\n                            v-if=\"cellKey !== uniqueId\"\n                            class=\"table-content-cell\"\n                            :class=\"contentCellStyle(itemIndex+1,cellIndex+1)\"\n                        >\n                            <div\n                                :class=\"[\n                                'flex',\n                                regeneratedHeader.find(h=>h.key === cellKey).align === 'right' ? 'justify-end' :\n                                regeneratedHeader.find(h=>h.key === cellKey).align === 'center' ? 'justify-center' :\n                                'justify-start'\n                                ]\"\n                            >\n                                <!--Raw Content-->\n                                <span v-if=\"!hasSlot(cellKey)\" v-text=\"cell\"/>\n                                <!--SlotScope Content-->\n                                <slot\n                                    v-else\n                                    :name=\"cellKey\"\n                                    :props=\"item\"\n                                />\n                            </div>\n                        </td>\n                    </template>\n                    <!--Actions Cell-->\n                    <td\n                        v-if=\"actions.length>0\"\n                        class=\"table-content-cell\"\n                        :class=\"actionsCellStyle(itemIndex+1)\"\n                    >\n                        <div class=\"flex justify-end\">\n                            <t-dropdown align=\"right\" button-design=\"outline\" trigger-type=\"rich\" size=\"fit\">\n                                <template #trigger>\n                                    <div class=\"flex h-full items-center\">\n                                        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\"\n                                             viewBox=\"0 0 24 24\"\n                                             stroke=\"currentColor\">\n                                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                                  d=\"M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z\"/>\n                                        </svg>\n                                    </div>\n                                </template>\n                                <div\n                                    class=\"flex justify-between items-center px-2 border dark:border-transparent dark:shadow-dark bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 p-1\"\n                                    :class=\"`radius-${radius}`\"\n                                >\n                                    <div\n                                        class=\"hover:bg-red-100 hover:text-red-500 dark:hover:text-gray-200 dark:hover:bg-red-500 dark:hover:bg-opacity-75 cursor-pointer text-sm px-2\"\n                                        :class=\"`radius-${radius}`\"\n                                        @click=\"selectItem($event, item, 'delete')\"\n                                    >\n                                        <div class=\"flex items-center h-6\">\n                                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5 mr-1\" fill=\"none\"\n                                                 viewBox=\"0 0 24 24\"\n                                                 stroke=\"currentColor\">\n                                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                                                      stroke-width=\"2\"\n                                                      d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"/>\n                                            </svg>\n                                            {{ t('actionDelete') }}\n                                        </div>\n                                    </div>\n                                    <div\n                                        class=\"hover:bg-indigo-100 hover:text-indigo-500 dark:hover:text-gray-200 dark:hover:bg-indigo-500 dark:hover:bg-opacity-75 cursor-pointer text-sm px-2\"\n                                        :class=\"`radius-${radius}`\"\n                                        @click=\"selectItem($event, item, 'edit')\"\n                                    >\n                                        <div class=\"flex items-center h-6\">\n                                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5 mr-1\" fill=\"none\"\n                                                 viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                                                      stroke-width=\"2\"\n                                                      d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"/>\n                                            </svg>\n                                            {{ t('actionEdit') }}\n                                        </div>\n                                    </div>\n                                    <div\n                                        class=\"hover:bg-blue-100 hover:text-blue-500 dark:hover:text-gray-200 dark:hover:bg-blue-500 dark:hover:bg-opacity-75 cursor-pointer text-sm px-2\"\n                                        :class=\"`radius-${radius}`\"\n                                        @click=\"selectItem($event, item, 'view')\"\n                                    >\n                                        <div class=\"flex items-center h-6\">\n                                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5 mr-1\" fill=\"none\"\n                                                 viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                                                      stroke-width=\"2\"\n                                                      d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"/>\n                                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                                                      stroke-width=\"2\"\n                                                      d=\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"/>\n                                            </svg>\n                                            {{ t('actionView') }}\n                                        </div>\n                                    </div>\n                                </div>\n                            </t-dropdown>\n                        </div>\n                    </td>\n                </tr>\n                <!--Empty Content Notification-->\n                <tr v-if=\"regeneratedContent.length === 0\">\n                    <td\n                        :colspan=\"regeneratedHeader.length+(actions.length>0 ? 1 : 0)\"\n                    >\n                        <div\n                            class=\"table-no-content\"\n                            :class=\"`radius-${radius}`\"\n                        >\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\"\n                                 stroke=\"currentColor\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                      d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"/>\n                            </svg>\n                            <span v-text=\"t('anyContentMessage')\"/>\n                        </div>\n                    </td>\n                </tr>\n                </tbody>\n            </table>\n\n            <!--Paginator-->\n            <div\n                class=\"table-paginator\"\n                v-if=\"content.per_page ? content.total>=content.per_page : content.meta.total>=content.meta.per_page\"\n            >\n                <t-paginate\n                    v-model=\"activePage\"\n                    :jump=\"paginationJump\"\n                    :total=\"content.total ? content.total : content.meta.total\"\n                    :range=\"5\"\n                    :radius=\"radius\"\n                    :per-page-item=\"Number(content.per_page ? content.per_page : content.meta.per_page)\"\n                    :previous-text=\"paginationPreviousText\"\n                    :next-text=\"paginationNextText\"\n                    :detail=\"paginationDetail\"\n                    :detail-text=\"paginationDetailText\"\n                    :reverse=\"paginationDetailReverse\"\n                />\n            </div>\n        </div>\n    </div>\n\n    <!--Modals-->\n    <teleport to=\"body\">\n        <!--Header Fields/Per-page Item Customize Modal-->\n        <t-modal\n            v-model=\"showCustomizeModal\"\n            :title=\"t('optionsModalTitle')\"\n            design=\"elegant\"\n        >\n            <template #content>\n                <div class=\"flex flex-col text-left\">\n                    <h4 class=\"font-bold text-sm\" v-text=\"t('optionsModalColumnOrder')\"/>\n                    <div class=\"flex flex-col max-w-min mt-4\">\n                        <div\n                            v-for=\"(item, itemIndex) in header\"\n                            :key=\"item.key\"\n                            @drop=\"onDrop($event,'new',itemIndex)\"\n                            @dragenter.prevent\n                            @dragover.prevent\n                            @dragstart=\"startDrag($event,'old',itemIndex)\"\n                            @dragleave=\"onDragLeave($event)\"\n                            @dragover=\"onDragOver($event)\"\n                            :draggable=\"true\"\n                            class=\"relative inline-flex items-center space-x-1 px-2 py-1\"\n                        >\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4 shrink-0 cursor-move\" fill=\"none\"\n                                 viewBox=\"0 0 24 24\"\n                                 stroke=\"currentColor\">\n                                <g\n                                    id=\"g10617\"\n                                    transform=\"translate(1.0812535,-0.72530103)\">\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"14.130877\"\n                                        y=\"11.725301\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-4\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"5.7066164\"\n                                        y=\"20.149561\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-8\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"5.7066164\"\n                                        y=\"3.3010411\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-1\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"14.130877\"\n                                        y=\"3.3010411\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-4-4\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"5.7066164\"\n                                        y=\"11.725301\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-8-0\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"14.130877\"\n                                        y=\"20.149561\"\n                                        rx=\"0\"/>\n                                </g>\n                            </svg>\n                            <t-input-check-box\n                                v-model=\"activeHeaders\"\n                                :input-value=\"item.key\"\n                                class=\"inline-block select-none\"\n                                :label=\"item.label ?? item.key\"\n                                multipleOption\n                            />\n                        </div>\n                    </div>\n                </div>\n            </template>\n            <template #footer-left>\n                <div class=\"inline-flex whitespace-nowrap items-center space-x-2\">\n                    <span v-text=\"t('itemsCountPerPage')\"/>\n                    <t-input-select\n                        v-model.number=\"searchObj.perPage\"\n                        :options=\"dynamicPerPageRange\"\n                        :clear-button=\"false\"\n                        place-holder=\"t('itemsCountPerPage')\"\n                    />\n                </div>\n            </template>\n        </t-modal>\n    </teleport>\n</template>\n\n<script>\nimport { router } from '@inertiajs/vue3'\nimport {computed, defineComponent, reactive, toRefs, watch, ref, onBeforeMount, useSlots} from \"vue\";\nimport {debouncedWatch} from \"@vueuse/core\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TModal from \"@/Components/Modal/TModal.vue\";\nimport TInputCheckBox from \"@/Components/Form/Inputs/TInputCheckBox.vue\";\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\nimport TDropdown from \"@/Components/Dropdown/TDropdown.vue\";\nimport TList from \"@/Components/List/TList.vue\";\nimport TListItem from \"@/Components/List/TListItem.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\n\nimport {useI18n} from \"vue-i18n\";\nimport table_en from \"@/Lang/en/table_lang\";\nimport table_tr from \"@/Lang/tr/table_lang\";\nimport _ from \"lodash\";\nimport TInputBetween from \"@/Components/Form/Inputs/TInputBetween.vue\";\nimport TPaginate from \"@/Components/Paginate/TPaginate.vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\n\nexport default defineComponent({\n    name: \"TBackEndTable\",\n    components: {\n        TAlert,\n        TPaginate,\n        TInputBetween,\n        TInputText,\n        TInputGroup,\n        TListItem,\n        TList,\n        TDropdown,\n        TInputSelect,\n        TInputCheckBox,\n        TModal,\n        TButton,\n    },\n    props: {\n        header: {\n            type: Array,\n            default() {\n                return [];\n            }\n        },\n        content: {\n            type: Object,\n            default() {\n                return {};\n            }\n        },\n        perPage: {\n            type: Number,\n            default: 5\n        },\n        design: {\n            type: String,\n            default: \"elegant\"\n        },\n        requestSearchKey: {\n            type: String,\n            default: 'searchObj'\n        },\n        uniqueId: {\n            type: String,\n            default: \"id\"\n        },\n        rowBorder: {\n            type: Boolean,\n            default: true\n        },\n        rowZebra: {\n            type: Boolean,\n            default: true\n        },\n        rowHover: {\n            type: Boolean,\n            default: true\n        },\n        radius: {\n            type: Number,\n            default: 3\n        },\n        searchRoute: {\n            type: String,\n            default: ''\n        },\n        contentKey: {\n            type: String,\n            default: ''\n        },\n        showPagination: {\n            type: Boolean,\n            default: true\n        },\n        paginationDetail: {\n            type: Boolean,\n            default: false\n        },\n        paginationDetailText: {\n            type: String,\n            default: 'detailText'\n        },\n        paginationRange: {\n            type: Number,\n            default: 5\n        },\n        paginationJump: {\n            type: Boolean,\n            default: true\n        },\n        paginationShowArrowText: {\n            type: Boolean,\n            default: true\n        },\n        paginationPreviousText: {\n            type: String,\n            default: 'previous'\n        },\n        paginationNextText: {\n            type: String,\n            default: 'next'\n        },\n        paginationDetailReverse: {\n            type: Boolean,\n            default: false\n        },\n        actions: {\n            type: Array,\n            default() {\n                return ['view']\n            }\n        },\n        actionsHeaderText: {\n            type: String,\n            default: 'actions'\n        },\n        actionsModal: {\n            type: Array,\n            default() {\n                return ['delete']\n            }\n        }\n    },\n    emits: ['selectedItem'],\n    setup(props, {slots, emit}) {\n        /*Props*/\n        const {\n            header,\n            content,\n            perPage,\n            radius,\n            searchRoute,\n            contentKey,\n            actions,\n            uniqueId,\n            requestSearchKey\n        } = toRefs(props);\n\n\n        /*Multi-language Support*/\n        const {t} = useI18n({\n            messages: {\n                en: table_en,\n                tr: table_tr\n            }\n        });\n\n\n        /*Generating Style Classes*/\n        const contentCellStyle = (itemIndex, cellIndex) => {\n            let style = [];\n\n            if (regeneratedContent.value.length > 1) {\n                if (itemIndex === 1 && cellIndex === 1) {\n                    /*Top Left*/\n                    style.push('radius-tl-' + radius.value)\n                } else if (itemIndex === 1 && cellIndex === regeneratedHeader.value.length && actions.value.length === 0) {\n                    /*Top Right*/\n                    style.push('radius-tr-' + radius.value)\n                } else if (itemIndex === regeneratedContent.value.length && cellIndex === 1) {\n                    /*Bottom Left*/\n                    style.push('radius-bl-' + radius.value)\n                } else if (itemIndex === regeneratedContent.value.length && cellIndex === regeneratedHeader.value.length && actions.value.length === 0) {\n                    /*Bottom Right*/\n                    style.push('radius-br-' + radius.value)\n                }\n            } else {\n                if (cellIndex === 1) {\n                    /*Left*/\n                    style.push('radius-l-' + radius.value)\n                } else if (cellIndex === regeneratedHeader.value.length && actions.value.length === 0) {\n                    /*Right*/\n                    style.push('radius-r-' + radius.value)\n                }\n\n\n            }\n\n            return style;\n        };\n\n        const actionsCellStyle = (itemIndex) => {\n            let style = [];\n            if (regeneratedContent.value.length > 1) {\n                if (itemIndex === 1) {\n                    style.push(\"radius-tr-\" + radius.value)\n                } else if (itemIndex === regeneratedContent.value.length) {\n                    style.push(\"radius-br-\" + radius.value)\n                }\n            } else {\n                style.push(\"radius-r-\" + radius.value);\n            }\n\n            return style;\n        };\n\n\n        /*Customize Table Columns/Rows*/\n        const showCustomizeModal = ref(false);\n        const activeHeaders = reactive([]);\n        const startDrag = (event, type, index) => {\n            event.dataTransfer.dropEffect = \"move\";\n            event.dataTransfer.effectAllowed = \"move\";\n            event.dataTransfer.setData(\"oldIndex\", index);\n            event.target.style.opacity = 1;\n        };\n        const onDrop = (event, item, index) => {\n            const oldIndex = event.dataTransfer.getData(\"oldIndex\");\n            let cachedItem = header.value[oldIndex];\n\n            startDrag(event, item, index);\n            header.value[oldIndex] = header.value[index];\n            header.value[index] = cachedItem;\n        };\n        const onDragOver = (event) => {\n            event.target.style.opacity = .3;\n        };\n        const onDragLeave = (event) => {\n            event.target.style.opacity = \"1\";\n        };\n\n\n        /*Regenerated Table Content*/\n        const regeneratedHeader = computed(() => {\n            let newHeader = [...header.value];\n            return newHeader.filter(i => activeHeaders.includes(i.key));\n        });\n\n        const regeneratedContent = computed(() => {\n            let newContent = [...content.value[\"data\"]];\n            return newContent.map(item => {\n                let row = {};\n                activeHeaders.forEach(key => {\n                    row[key] = item[key];\n                });\n                row[uniqueId.value] = item[uniqueId.value];\n                return row;\n            });\n        });\n\n\n        /*Calculate Items in Per Page Select Data*/\n        const dynamicPerPageRange = computed(() => {\n            let rowCounts = [5, 15, 25, 50, 75, 100];\n            let list = [];\n            rowCounts.forEach(item => {\n                if (content.value['total'] ? content.value['total'] : content.value['meta'].total > item) {\n                    list.push({key: item, label: item});\n                }\n            });\n            return list;\n        });\n\n\n        /*Active Page*/\n\n        /**Active Page State**/\n        const activePage = ref(1);\n\n        /**Watch Active Page**/\n        watch(activePage, () => {\n            router.reload({\n                    data: {\n                        page: activePage.value\n                    },\n                    only: [contentKey.value]\n                }\n            );\n        });\n\n\n        /*Search*/\n\n        /**Searching Simple States**/\n        const dataLoading = ref(false);\n        const showAdvancedSearchPanel = ref(false);\n\n        /**Create Search States**/\n        const simpleSearchableFields = reactive([]);\n        const advancedSearchableFields = reactive([]);\n        const sortableFields = reactive([]);\n        const searchObj = reactive({\n            searchType: \"simple\",\n            simpleSearchText: \"\",\n            perPage: perPage.value,\n            sortKey: null,\n            sortDirection: false,\n            advancedSearchFields: {}\n        });\n\n        onBeforeMount(() => {\n            /*Generate Showing Fields Array*/\n            header.value.forEach(item => {\n                if (item.status) {\n                    activeHeaders.push(item[\"key\"]);\n                }\n            });\n            /*Generate Sortable Key Array*/\n            header.value.forEach(item => {\n                if (item.sortable) {\n                    sortableFields.push(item[\"key\"]);\n                }\n            });\n            /*Generate Simple Searchable Key Array*/\n            header.value.forEach(item => {\n                if (item.simpleSearchable) {\n                    simpleSearchableFields.push(item[\"key\"]);\n                }\n            });\n            /*Generate Advanced Searchable Key Array*/\n            header.value.forEach(item => {\n                if (item.advancedSearchable) {\n                    advancedSearchableFields.push({\n                        ...item,\n                        searchKey: item.advancedSearchKey ? item.advancedSearchKey : item.key\n                    });\n                }\n            });\n            /*Generate Advanced Search Query*/\n            advancedSearchableFields.forEach(item => {\n                searchObj.advancedSearchFields[item.searchKey] = {\n                    value: item.advancedSearchInputType === 'between' ? {from: null, to: null} : null,\n                    condition: item['compareOperators'] ? item['compareOperators'].length > 0 ? item['compareOperators'][0].key : null : null\n                }\n            })\n        });\n\n        /**Search Post Function**/\n        debouncedWatch(() => _.cloneDeep(searchObj), () => {\n                router.post(route(searchRoute.value),\n                    {\n                        [requestSearchKey.value]: {\n                            perPage: Number(searchObj.perPage),\n                            sortKey: searchObj.sortKey,\n                            sortDirection: searchObj.sortDirection,\n                            searchType: searchObj.searchType,\n                            searchValue: searchObj.searchType === 'simple' ?\n                                {\n                                    simpleSearchText: searchObj.simpleSearchText,\n                                    simpleSearchFields: simpleSearchableFields,\n                                } :\n                                searchObj.advancedSearchFields\n\n                        }\n                    },\n                    {\n                        only: [contentKey.value],\n                        onBefore: visit => {\n                            dataLoading.value = true;\n                        },\n                        onFinish: visit => {\n                            dataLoading.value = false;\n\n                        },\n                    });\n            },\n            {debounce: 500}\n        );\n\n        /**Watch Search Type**/\n        watch(showAdvancedSearchPanel, () => {\n            showAdvancedSearchPanel.value ? searchObj.searchType = 'advanced' : searchObj.searchType = 'simple'\n        })\n\n\n        /*Content Delete Confirm Modal Function*/\n        const selectedItem = ref(null);\n        const selectItem = ($event, item, type) => {\n            emit('selectedItem', {\n                data: content.value.data.find(i => i[uniqueId.value] === item[uniqueId.value]),\n                action: type\n            });\n        }\n\n        /*Error Management*/\n        const tableErrors = computed(() => {\n            let contentStatus = !Object.keys(content.value);\n            let headerStatus = header.value.length === 0;\n            let contentKeyStatus = !contentKey.value;\n            let searchRouteStatus = !searchRoute.value;\n\n            return [\n                {status: contentStatus, title: 'Content', errorText: 'contentError'},\n                {status: headerStatus, title: 'Header', errorText: 'headerError'},\n                {status: contentKeyStatus, title: 'Content Key', errorText: 'contentKeyError'},\n                {status: searchRouteStatus, title: 'Search Route', errorText: 'searchRouteError'}\n            ]\n        })\n\n\n        /*Slot Check*/\n        const hasSlot = name => !!useSlots()[name];\n\n\n        return {\n            dataLoading,\n            hasSlot,\n            contentCellStyle,\n            actionsCellStyle,\n            dynamicPerPageRange,\n            showCustomizeModal,\n            activePage,\n            activeHeaders,\n            regeneratedHeader,\n            regeneratedContent,\n            startDrag,\n            onDrop,\n            onDragLeave,\n            onDragOver,\n            sortableFields,\n            simpleSearchableFields,\n            advancedSearchableFields,\n            selectedItem,\n            selectItem,\n            showAdvancedSearchPanel,\n            searchObj,\n            tableErrors,\n            t\n        };\n    }\n})\n;\n</script>\n\n<style scoped>\n.tableSearch-enter-active, .tableSearch-leave-active {\n    transition: all 700ms;\n}\n\n.tableSearch-enter-from, .tableSearch-leave-to {\n    opacity: 0;\n    max-height: 0;\n}\n\n.tableSearch-enter-to, .tableSearch-leave-from {\n    opacity: 1;\n    max-height: 500px;\n}\n\n/*Fade Transition*/\n.fade-enter-active, .fade-leave-active {\n    transition: all 300ms ease-in-out;\n}\n\n.fade-enter-from, .fade-leave-to {\n    opacity: 0;\n    transform: scale(.9);\n}\n\n.fade-enter-to, .fade-leave-from {\n    opacity: 1;\n    transform: scale(1);\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Table/TTable.vue",
    "content": "<template>\n    <div\n        class=\"table-outside-container\"\n        :class=\"`table-${features.table.design}`\"\n    >\n        <!--Top Content-->\n        <div\n            v-if=\"hasSlot('search') || hasSlot('top-right') || hasSlot('top-left') || simpleSearchableFields.length>0\"\n            class=\"table-top\"\n        >\n            <!--Left-->\n            <div\n                v-if=\"simpleSearchableFields.length>0\"\n                class=\"table-top-left\"\n            >\n                <!--Search-->\n                <t-input-text\n                    id=\"search\"\n                    type=\"text\"\n                    v-model=\"search\"\n                    :radius=\"features.table.radius\"\n                    :placeholder=\"t('searchPlaceHolder')\"\n                >\n                    <template #icon>\n                        <!--Search Icon-->\n                        <svg\n                            class=\"w-6 h-6\"\n                            xmlns=\"http://www.w3.org/2000/svg\"\n                            fill=\"none\"\n                            viewBox=\"0 0 24 24\"\n                            stroke=\"currentColor\"\n                        >\n                            <path\n                                stroke-linecap=\"round\"\n                                stroke-linejoin=\"round\"\n                                stroke-width=\"2\"\n                                d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n                            />\n                        </svg>\n                    </template>\n                </t-input-text>\n                <!--Customize Showing Options-->\n                <t-button\n                    :radius=\"features.table.radius\"\n                    border\n                    @click=\"showCustomizeModal = !showCustomizeModal\"\n                >\n                    <!--Options Icon-->\n                    <svg\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                        class=\"h-6 w-6\"\n                        fill=\"none\"\n                        viewBox=\"0 0 24 24\"\n                        stroke=\"currentColor\"\n                    >\n                        <path\n                            stroke-linecap=\"round\"\n                            stroke-linejoin=\"round\"\n                            stroke-width=\"2\"\n                            d=\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\"\n                        />\n                    </svg>\n                </t-button>\n                <!--Advanced Search Button-->\n                <t-button\n                    v-if=\"hasSlot('search')\"\n                    :radius=\"features.table.radius\"\n                    border\n                    @click=\"showAdvancedSearchPanel = !showAdvancedSearchPanel\"\n                >\n                    <!--Advanced Search Icon-->\n                    <svg\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                        class=\"h-6 w-6\"\n                        fill=\"none\"\n                        viewBox=\"0 0 24 24\"\n                        stroke=\"currentColor\"\n                    >\n                        <path\n                            stroke-linecap=\"round\"\n                            stroke-linejoin=\"round\"\n                            stroke-width=\"2\"\n                            d=\"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z\"\n                        />\n                    </svg>\n                </t-button>\n                <!--Custom Top Left Content-->\n                <slot name=\"top-left\"/>\n            </div>\n            <!--Right-->\n            <div\n                v-if=\"hasSlot('top-right')\"\n                class=\"table-top-right\"\n            >\n                <!--Custom Top Right Content-->\n                <slot name=\"top-right\"/>\n            </div>\n        </div>\n        <!--Advanced Filters Area-->\n        <transition name=\"tableSearch\">\n            <div\n                v-if=\"hasSlot('search') && showAdvancedSearchPanel\"\n            >\n                <div\n                    class=\"table-advanced-search-container\"\n                    :class=\"`radius-${features.table.radius}`\"\n                >\n                    <span id=\"title\" v-text=\"t('advancedSearch')\"/>\n                    <slot name=\"search\"/>\n                </div>\n            </div>\n        </transition>\n        <!--Table-->\n        <div class=\"overflow-x-auto scrollbar scrollbar-thin\">\n            <table class=\"table-container\">\n                <!--Header-->\n                <thead>\n                <!--Header Row-->\n                <tr>\n                    <!--Header Items-->\n                    <th\n                        v-for=\"item in regeneratedHeader\"\n                        :key=\"item.key\"\n                        :style=\"{width: item.width ? item.width+'%' : 'auto'}\"\n                    >\n                        <div\n                            :class=\"[\n                                'table-header-cell',\n                                {'cursor-pointer' : sortableFields.includes(item.key)}  ,\n                                item.align === 'right' ? 'justify-end' :\n                                item.align === 'center' ? 'justify-center' :\n                                'justify-start'\n                                ]\"\n                            @click=\"\n                            sortableFields.includes(item.key) ?\n                            [sort.key = item.key, sort.trigger=!sort.trigger] :\n                            ''\"\n                        >\n                            <!--Label-->\n                            <span v-text=\"item.label ?? item.key\"/>\n                            <!--Sort Icon-->\n                            <span v-show=\"sortableFields.includes(item.key)\">\n                                <transition name=\"fade\" mode=\"out-in\">\n                  <!--Sort Direction Icon-->\n                  <svg\n                      v-if=\"sort.key === item.key\"\n                      xmlns=\"http://www.w3.org/2000/svg\"\n                      class=\"h-5 w-5\"\n                      :class=\"[\n                          'transform ',\n                          sort.direction === 'desc' ? 'rotate-180' : '',\n                          'transition-size-short'\n                          ]\"\n                      fill=\"none\"\n                      viewBox=\"0 0 24 24\"\n                      stroke=\"currentColor\"\n                  >\n                    <path\n                        stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\"\n                        stroke-width=\"2\" d=\"M17 13l-5 5m0 0l-5-5m5 5V6\"\n                    />\n                  </svg>\n                                    <!--Sort Placeholder Icon-->\n                  <svg\n                      v-else\n                      xmlns=\"http://www.w3.org/2000/svg\"\n                      class=\"h-5 w-5 opacity-50\"\n                      fill=\"none\"\n                      viewBox=\"0 0 24 24\"\n                      stroke=\"currentColor\"\n                  >\n                    <path\n                        stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\"\n                        stroke-width=\"2\"\n                        d=\"M8 9l4-4 4 4m0 6l-4 4-4-4\"\n                    />\n                  </svg>\n                </transition>\n                            </span>\n                        </div>\n                    </th>\n                </tr>\n                </thead>\n                <!--Content-->\n                <tbody>\n                <!--Content Row-->\n                <tr\n                    v-for=\"(item,itemIndex) in regeneratedContent\"\n                    :key=\"itemIndex\"\n                    class=\"table-content-row\"\n                    :class=\"[\n                        {'table-content-zebra-row': features.table.zebraRow},\n                        {'table-content-hover-row': features.table.hoverRow},\n                        {'table-content-border-row': features.table.borderRow},\n                        ]\"\n                >\n                    <!--Cells of The Content Row-->\n                    <td\n                        v-for=\"(cell,cellKey,cellIndex) in item\"\n                        :key=\"cellKey\"\n                        :class=\"contentCellStyle(itemIndex,cellIndex)\"\n                    >\n                        <div\n                            :class=\"[\n                                'flex',\n                                regeneratedHeader.find(h=>h.key === cellKey).align === 'right' ? 'justify-end' :\n                                regeneratedHeader.find(h=>h.key === cellKey).align === 'center' ? 'justify-center' :\n                                'justify-start'\n                                ]\"\n                        >\n                            <!--Raw Content-->\n                            <span v-if=\"!hasSlot(cellKey)\" v-text=\"cell\"/>\n                            <!--SlotScope Content-->\n                            <slot\n                                v-else\n                                :name=\"cellKey\"\n                                :props=\"item\"\n                            />\n                        </div>\n                    </td>\n                </tr>\n                <!--Empty Content Notification-->\n                <tr v-if=\"regeneratedContent.length === 0\">\n                    <td :colspan=\"regeneratedHeader.length\">\n                        <div\n                            class=\"table-no-content\"\n                            :class=\"`radius-${features.table.radius}`\"\n                        >\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\"\n                                 stroke=\"currentColor\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                      d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"/>\n                            </svg>\n                            <span v-text=\"t('anyContentMessage')\"/>\n                        </div>\n                    </td>\n                </tr>\n                </tbody>\n            </table>\n\n            <!--Paginator-->\n            <div\n                v-if=\"filteredContent.length > perPageItem\"\n                 class=\"flex py-4 justify-center\"\n            >\n                <t-paginate\n                    v-model=\"activePage\"\n                    :jump=\"features.pagination.jump\"\n                    :range=\"5\"\n                    :total=\"filteredContent.length\"\n                    :radius=\"features.table.radius\"\n                    :per-page-item=\"perPageItem\"\n                    :previous-text=\"features.pagination.previousText\"\n                    :next-text=\"features.pagination.nextText\"\n                    :detail=\"features.pagination.detail\"\n                    :detail-text=\"features.pagination.detailText\"\n                />\n            </div>\n        </div>\n    </div>\n\n\n    <!--Modals-->\n    <teleport to=\"body\">\n        <!--Header Fields/Per-page Item Customize Modal-->\n        <t-modal\n            v-model=\"showCustomizeModal\"\n            :title=\"t('optionsModalTitle')\"\n            design=\"elegant\"\n        >\n            <template #content>\n                <div class=\"flex flex-col text-left\">\n                    <h4 class=\"font-bold text-sm\" v-text=\"t('optionsModalColumnOrder')\"/>\n                    <div class=\"flex flex-col max-w-min mt-4\">\n                        <div\n                            v-for=\"(item, itemIndex) in header\"\n                            :key=\"item.key\"\n                            @drop=\"onDrop($event,'new',itemIndex)\"\n                            @dragenter.prevent\n                            @dragover.prevent\n                            @dragstart=\"startDrag($event,'old',itemIndex)\"\n                            @dragleave=\"onDragLeave($event)\"\n                            @dragover=\"onDragOver($event)\"\n                            :draggable=\"true\"\n                            class=\"relative inline-flex items-center space-x-1 px-2 py-1\"\n                        >\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4 cursor-move\" fill=\"none\"\n                                 viewBox=\"0 0 24 24\"\n                                 stroke=\"currentColor\">\n                                <g\n                                    id=\"g10617\"\n                                    transform=\"translate(1.0812535,-0.72530103)\">\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"14.130877\"\n                                        y=\"11.725301\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-4\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"5.7066164\"\n                                        y=\"20.149561\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-8\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"5.7066164\"\n                                        y=\"3.3010411\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-1\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"14.130877\"\n                                        y=\"3.3010411\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-4-4\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"5.7066164\"\n                                        y=\"11.725301\"\n                                        rx=\"0\"/>\n                                    <rect\n                                        style=\"fill:none;fill-opacity:0.694779;stroke-width:2.22226;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8\"\n                                        id=\"rect10347-8-0\"\n                                        width=\"2\"\n                                        height=\"2\"\n                                        x=\"14.130877\"\n                                        y=\"20.149561\"\n                                        rx=\"0\"/>\n                                </g>\n                            </svg>\n\n                            <t-input-check-box\n                                v-model=\"activeHeaders\"\n                                :input-value=\"item.key\"\n                                class=\"inline-block select-none\"\n                                :label=\"item.label ?? item.key\"\n                                multipleOption\n                            />\n                        </div>\n                    </div>\n                </div>\n            </template>\n            <template #footer-left>\n\n                <div class=\"inline-flex whitespace-nowrap items-center space-x-2\">\n                    <span v-text=\"t('itemsCountPerPage')\"/>\n                    <t-input-select\n                        v-model.number=\"perPageItem\"\n                        :options=\"dynamicPerPageItemRange\"\n                        :clear-button=\"false\"\n                        place-holder=\"t('itemsCountPerPage')\"\n                    />\n                </div>\n            </template>\n        </t-modal>\n    </teleport>\n</template>\n\n<script>\nimport {computed, defineComponent, onBeforeMount, reactive, ref, toRefs, watch, useSlots} from \"vue\";\nimport TPaginate from \"@/Components/Paginate/TPaginate.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TModal from \"@/Components/Modal/TModal.vue\";\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\nimport TInputCheckBox from \"@/Components/Form/Inputs/TInputCheckBox.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport _ from \"lodash\";\nimport {useI18n} from \"vue-i18n\";\nimport table_en from \"@/Lang/en/table_lang\";\nimport table_tr from \"@/Lang/tr/table_lang\";\n\nexport default defineComponent({\n    name: \"TTable\",\n    components: {\n        TInputText,\n        TInputCheckBox,\n        TInputSelect,\n        TModal,\n        TButton,\n        TPaginate\n    },\n    props: {\n        features: {\n            type: Object,\n            default() {\n                return {\n                    table: {\n                        design: \"filled\",\n                        seperatedRow: false,\n                        rowBorder: true,\n                        zebraRow: true,\n                        radius: 3,\n                        uniqueIdKey: \"id\",\n                        perPage: 5\n                    },\n                    pagination: {\n                        status: true,\n                        range: 5,\n                        jump: true,\n                        radius: 3,\n                        arrowText: true,\n                        reverse: false,\n                        detail: true,\n                    },\n                    actions: {\n                        status: true,\n                        headerText: \"Actions\"\n                    }\n                };\n            }\n        },\n        header: {\n            type: Array,\n            default() {\n                return [];\n            }\n        },\n        content: {\n            type: Object,\n            default() {\n                return {};\n            }\n        }\n    },\n    setup(props, {slots}) {\n        const {header, content, features} = toRefs(props);\n        const search = ref(\"\");\n        const activeHeaders = reactive([]);\n        const sortableFields = reactive([]);\n        const simpleSearchableFields = reactive([]);\n        const showAdvancedSearchPanel = ref(false);\n        const showCustomizeModal = ref(false);\n        const activePage = ref(1);\n        const perPageItem = ref(features.value['table'].perPage);\n        const {t} = useI18n({\n            messages: {\n                en: table_en,\n                tr: table_tr\n            }\n        });\n\n        /*Generate Arrays from Header*/\n        onBeforeMount(() => {\n            /*Generate Showing Fields Array*/\n            header.value.forEach(item => {\n                if (item.status) {\n                    activeHeaders.push(item[\"key\"]);\n                }\n            });\n            /*Generate Sortable Key Array*/\n            header.value.forEach(item => {\n                if (item.sortable) {\n                    sortableFields.push(item[\"key\"]);\n                }\n            });\n            /*Generate Searchable Key Array*/\n            header.value.forEach(item => {\n                if (item.simpleSearchable) {\n                    simpleSearchableFields.push(item[\"key\"]);\n                }\n            });\n        });\n\n        const startDrag = (event, type, index) => {\n            event.dataTransfer.dropEffect = \"move\";\n            event.dataTransfer.effectAllowed = \"move\";\n            event.dataTransfer.setData(\"oldIndex\", index);\n            event.target.style.opacity = 1;\n        };\n        const onDrop = (event, item, index) => {\n            const oldIndex = event.dataTransfer.getData(\"oldIndex\");\n            let cachedItem = header.value[oldIndex];\n\n            startDrag(event, item, index);\n            header.value[oldIndex] = header.value[index];\n            header.value[index] = cachedItem;\n        };\n        const onDragOver = (event) => {\n            event.target.style.opacity = .3;\n        };\n        const onDragLeave = (event) => {\n            event.target.style.opacity = \"1\";\n        };\n\n        /*Regenerated Table Content*/\n        const regeneratedHeader = computed(() => {\n            let newHeader = [...header.value];\n            return newHeader.filter(i => activeHeaders.includes(i.key));\n        });\n        const regeneratedContent = computed(() => {\n            let newContent = [...paginatedContent.value];\n            return newContent.map(item => {\n                let row = {};\n                activeHeaders.forEach(key => {\n                    row[key] = item[key];\n                });\n                return row;\n            });\n        });\n\n        /*Generating Style Classes*/\n        const contentCellStyle = (itemIndex, cellIndex) => {\n            let style;\n            let diffOperator;\n            if (perPageItem.value > regeneratedContent.value.length) {\n                diffOperator = regeneratedContent.value.length\n            } else {\n                diffOperator = perPageItem.value\n            }\n            style = \"table-content-cell\" + \" \" +\n                ((itemIndex === 0) && (cellIndex === 0) ? \"radius-tl-\" + features.value[\"table\"].radius :\n                    (itemIndex === 0) && (cellIndex === regeneratedHeader.value.length - 1) ? \"radius-tr-\" + features.value[\"table\"].radius :\n                        (itemIndex + 1 === diffOperator) && (cellIndex === 0) ? \"radius-bl-\" + features.value[\"table\"].radius :\n                            (itemIndex + 1 === diffOperator) && (cellIndex === regeneratedHeader.value.length - 1) ? \"radius-br-\" + features.value[\"table\"].radius : \"\");\n            return style;\n        };\n\n        /*Calculate Items in Per Page Select Data*/\n        const dynamicPerPageItemRange = computed(() => {\n            let rowCounts = [5, 15, 25, 50, 75, 100];\n            let list = [];\n            rowCounts.forEach(item => {\n                if (content.value.length > item) {\n                    list.push({key: item, label: item});\n                }\n            });\n            return list;\n        });\n\n        /*Generate Filtered Data*/\n        const paginatedContent = computed(() => {\n            return sortedContent.value.slice((activePage.value - 1) * perPageItem.value, perPageItem.value * activePage.value);\n        });\n\n        const filteredContent = computed(() => {\n            if (header.value.filter(h => h.simpleSearchable === true).length > 0) {\n                return content.value.filter((item) => {\n                    let query;\n                    header.value.filter(h => h.simpleSearchable === true).forEach(i => {\n                        query = item[i.key].toLowerCase().includes(search.value.toLowerCase()) || query;\n                    });\n\n                    return query;\n                });\n            } else {\n                return content.value;\n            }\n\n        });\n\n        const sortedContent = computed(() => {\n            // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n            return filteredContent.value.sort((a, b) => {\n                if (a[sort.key] < b[sort.key]) {\n                    return sort.direction === 'asc' ? -1 : 1;\n                } else if (a[sort.key] > b[sort.key]) {\n                    return sort.direction === 'asc' ? 1 : -1;\n                } else {\n                    return 0\n                }\n            })\n        })\n\n        const sort = reactive({\n            trigger: true,\n            key: '',\n            direction: 'desc'\n        })\n\n        watch(() => _.cloneDeep(sort), (newValue, oldValue) => {\n            if (newValue.key === oldValue.key) {\n                if (sort.direction === 'asc') {\n                    sort.direction = 'desc'\n                } else {\n                    sort.direction = 'asc'\n                }\n            }\n        }, {\n            deep: true\n        })\n\n        const hasSlot = name => !!useSlots()[name];\n        return {\n            hasSlot,\n            onDrop,\n            onDragLeave,\n            onDragOver,\n            startDrag,\n            contentCellStyle,\n            sort,\n            sortableFields,\n            dynamicPerPageItemRange,\n            regeneratedHeader,\n            regeneratedContent,\n            search,\n            simpleSearchableFields,\n            activeHeaders,\n            showAdvancedSearchPanel,\n            showCustomizeModal,\n            activePage,\n            paginatedContent,\n            filteredContent,\n            t,\n            perPageItem\n        };\n    }\n});\n</script>\n\n<style scoped>\n.tableSearch-enter-active, .tableSearch-leave-active {\n    transition: all 700ms;\n}\n\n.tableSearch-enter-from, .tableSearch-leave-to {\n    opacity: 0;\n    max-height: 0;\n}\n\n.tableSearch-enter-to, .tableSearch-leave-from {\n    opacity: 1;\n    max-height: 500px;\n}\n\n/*Fade Transition*/\n.fade-enter-active, .fade-leave-active {\n    transition: all 300ms ease-in-out;\n}\n\n.fade-enter-from, .fade-leave-to {\n    opacity: 0;\n    transform: scale(.9);\n}\n\n.fade-enter-to, .fade-leave-from {\n    opacity: 1;\n    transform: scale(1);\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Table/TTableActionDropdown.vue",
    "content": "<template>\n    <div class=\"relative select-none\">\n        <!--Trigger-->\n        <t-dots-vertical-icon class=\"w-6 h-6 cursor-pointer\" @click=\"showPanel = !showPanel\"/>\n        <transition name=\"fade\">\n            <div v-if=\"showPanel\" class=\"absolute -top-1 -left-24 -ml-2 overflow-hidden\">\n                <ul class=\"flex flex-row gap-2 p-1 border border-gray-500 bg-gray-100 bg-opacity-90 rounded-md\">\n                    <!--Show-->\n                    <li class=\"border-r border-gray-500 pr-2 cursor-pointer\" @click=\"clickedButton('show')\">\n                        <t-eye-icon class=\"w-5 h-5 hover:text-blue-500\"/>\n                    </li>\n                    <!--Edit-->\n                    <li class=\"border-r border-gray-500 pr-2 cursor-pointer\" @click=\"clickedButton('edit')\">\n                        <t-pencil-alt-icon class=\"w-5 h-5 hover:text-yellow-600\"/>\n                    </li>\n                    <!--Delete-->\n                    <li class=\" cursor-pointer\" @click=\"clickedButton('delete')\">\n                        <t-trash-icon class=\"w-5 h-5 hover:text-red-600\"/>\n                    </li>\n                </ul>\n            </div>\n        </transition>\n    </div>\n</template>\n\n<script>\nimport {defineComponent} from \"vue\";\nimport TDotsVerticalIcon from \"@/Components/Icon/TDotsVerticalIcon.vue\";\nimport TEyeIcon from \"@/Components/Icon/TEyeIcon.vue\";\nimport TPencilAltIcon from \"@/Components/Icon/TPencilAltIcon.vue\";\nimport TTrashIcon from \"@/Components/Icon/TTrashIcon.vue\";\n\nexport default defineComponent({\n    name: \"TTableActionDropdown\",\n    components: {TTrashIcon, TPencilAltIcon, TEyeIcon, TDotsVerticalIcon},\n    props: {\n        showAction: {\n            type: Object,\n            default(){\n                return {}\n            }\n        },\n        editAction: {\n            type: Object,\n            default(){\n                return {}\n            }\n        },\n        deleteAction: {\n            type: Object,\n            default(){\n                return {}\n            }\n        }\n    },\n    emits: ['action'],\n    data(){\n        return{\n            showPanel: false\n        }\n    },\n    methods: {\n        clickedButton(button){\n                this.$emit('action', button)\n        }\n    }\n})\n</script>\n\n<style scoped>\n.fade-enter-active, .fade-leave-active {\n    transition: all .4s ease;\n}\n\n.fade-enter, .fade-leave-to {\n    opacity: 0;\n}\n\n.fade-enter-to, .fade-leave {\n    opacity: 1;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Toastr/TToastr.vue",
    "content": "<template>\n  <transition name=\"fade\">\n    <div v-if=\"showAlertBox\"\n         :class=\"[\n             'toastr',\n             calculatedToastrStyle,\n             ]\">\n      <div class=\"flex px-1 items-center justify-start gap-2\">\n        <slot name=\"icon\"></slot>\n        <div class=\"flex flex-wrap items-center whitespace-normal flex-shrink-0\">\n          <slot></slot>\n        </div>\n      </div>\n      <div v-if=\"closeable\" :class=\"['toastr-close', closeIconColors[color]]\" @click=\"close\">\n        <t-x-circle-icon class=\"w-5 h-5 text-white\"/>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script>\nimport {defineComponent} from \"vue\";\nimport {toastrStyleMixin} from \"@/Mixins/Styles/toastrStyleMixin\";\nimport TXCircleIcon from \"@/Components/Icon/TXCircleIcon.vue\";\n\nexport default defineComponent({\n  name: \"TToastr\",\n  components: {TXCircleIcon},\n  mixins: [toastrStyleMixin],\n  props: {\n    id: {\n      type: String\n    },\n    closeable: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    timer: {\n      type: Number,\n      required: false\n    },\n  },\n  data() {\n    return {\n      showAlertBox: true,\n    }\n  },\n  created() {\n    if (this.timer) {\n      setTimeout(() => {\n        this.showAlertBox = false;\n        this.$emit('destroy', this.id)\n      }, this.timer)\n    }\n  },\n  methods: {\n    close() {\n      this.showAlertBox = false;\n      this.$emit('destroy', this.id)\n    }\n  },\n})\n</script>\n\n<style scoped>\n.fade-enter-active, .fade-leave-active {\n  transition: all ease-out .75s;\n}\n\n.fade-enter {\n  opacity: 0;\n  max-width: 0;\n}\n\n.fade-enter-to {\n  opacity: 1;\n  max-width: 100%;\n}\n\n.fade-leave {\n  opacity: 1;\n  max-width: 100%;\n}\n\n.fade-leave-to {\n  opacity: 0;\n  max-width: 0;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Components/Tooltip/TTooltip.vue",
    "content": "<template>\n    <!--Main Content-->\n    <div class=\"tooltip\">\n        <div\n            class=\"tooltip-container\"\n            :class=\"[\n                {'tooltip-border' : border},\n                {'tooltip-bold' : bold}\n            ]\"\n            @click=\"showPopover = !showPopover\"\n            ref=\"tooltipItem\"\n        >\n            <slot/>\n            <!--Second Content Container-->\n            <div\n                ref=\"box\"\n                :style=\"{visibility: showPopover ? 'visible': 'hidden'}\"\n                class=\"tooltip-box\"\n                :class=\"[\n                    `tooltip-${color}`,\n                    `tooltip-${activePosition}-container`\n                ]\"\n            >\n                <!--Arrow-->\n                <div\n                    class=\"tooltip-arrow\"\n                    :class=\"[\n                        `tooltip-${activePosition}-arrow`,\n                        hasSlot('boxTitle')\n                    ]\"\n                ></div>\n                <!--Content-->\n                <div\n                    class=\"tooltip-box-content\"\n                    :class=\"(hasSlot('boxTitle') ? 'rounded-b-md' : 'rounded-md')\"\n                >\n                    <slot name=\"boxContent\"></slot>\n                </div>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport {computed, defineComponent, useSlots, ref, toRefs, watch} from \"vue\";\nimport {onClickOutside} from \"@vueuse/core\";\n\nexport default defineComponent({\n    name: \"TTooltip\",\n    props: {\n        position: {\n            type: String,\n            default: \"bottom\"\n        },\n        color: {\n            type: String,\n            default: \"white\"\n        },\n        border: {\n            type: Boolean,\n            default: true\n        },\n        bold: {\n            type: Boolean,\n            default: true\n        },\n    },\n    setup(props, {slots}) {\n        /*Definitions*/\n        const {position} = toRefs(props);\n        const showPopover = ref(false);\n        const activePosition = ref(position.value);\n        const tooltipItem = ref(null);\n        const box = ref(null);\n\n        /*Open-Close Actions*/\n        const updateStatus = () => {\n            let tooltipPosition = box.value.getBoundingClientRect();\n            let windowInnerWidth = window.innerWidth;\n\n            if (position.value !== 'top' && position.value !== 'bottom') {\n                /*If it's outside of the left*/\n                if (tooltipPosition.width > tooltipPosition.left && position.value === 'left') {\n                    activePosition.value = \"right\";\n                }\n\n                /*If it's outside of the right*/\n                if (tooltipPosition.right > windowInnerWidth) {\n                    activePosition.value = \"left\";\n                }\n            } else {\n\n                /*If it's outside of the right*/\n                if (tooltipPosition.right > windowInnerWidth && windowInnerWidth > tooltipPosition.left) {\n                    Object.assign(box.value.style, {\n                        position: 'absolute',\n                        left: `-${Number(tooltipPosition.right) - Number(windowInnerWidth) + 20}px`\n                    })\n                }\n            }\n        };\n        watch(showPopover, () => {\n            updateStatus()\n        })\n        onClickOutside(tooltipItem, () => showPopover.value = false);\n\n        /*Slot Check*/\n        const hasSlot = name => !!useSlots()[name];\n\n        return {\n            tooltipItem,\n            box,\n            showPopover,\n            updateStatus,\n            hasSlot,\n            activePosition\n        };\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Functions/deviceInfoCollector.js",
    "content": "import {defineAsyncComponent} from \"vue\";\n\n\nconst breakpoints = useBreakpoints(breakpointsTailwind)\n\nfunction width() {\n    defineAsyncComponent(() => import('@vueuse/core'))\n}\n\nexport {breakpoints}\n"
  },
  {
    "path": "resources/js/Functions/menuTrigger.js",
    "content": "import {breakpointsTailwind, useBreakpoints, useStorage} from '@vueuse/core'\n\nconst breakpoints = useBreakpoints(breakpointsTailwind)\nconst menuStatus = useStorage('menuStatus');\n\nfunction updateMenuStatus(){\n        if (breakpoints.smaller('sm')) {\n            /*Set status in mobile devices*/\n            if (menuStatus.value === 'hidden') {\n                menuStatus.value = 'opened'\n            } else {\n                menuStatus.value = 'hidden'\n            }\n        } else {\n            /*Set status in pc*/\n            if (menuStatus.value === 'opened') {\n                menuStatus.value = 'closed'\n            } else {\n                menuStatus.value = 'opened'\n            }\n        }\n}\n\nexport {updateMenuStatus, menuStatus}\n"
  },
  {
    "path": "resources/js/Functions/windowSizeCalculator.js",
    "content": "import { computed, onBeforeMount, onUnmounted, ref, watch } from \"vue\";\n\nexport default function () {\n    /*Definitions*/\n    const windowWidth = ref();\n    const deviceType = ref();\n    const onResize = () => {\n        windowWidth.value = window.innerWidth;\n    };\n\n    /*Register Event Listener*/\n    onBeforeMount(() => {\n        deviceTypeCalculate();\n        window.addEventListener(\"resize\", onResize);\n        onResize();\n    });\n\n\n    const deviceTypeCalculate = () => {\n        if (windowWidth.value <= 640) {\n            deviceType.value = \"phone\";\n        } else if (windowWidth.value <= 768) {\n            deviceType.value = \"tablet\";\n        } else if (windowWidth.value <= 1024) {\n            deviceType.value = \"laptop\";\n        } else {\n            deviceType.value = \"desktop\";\n        }\n    }\n\n\n    /*Destroy Event Listener*/\n    onUnmounted(() => {\n        window.removeEventListener(\"resize\", onResize);\n    });\n\n    watch(windowWidth,\n        () => {\n            deviceTypeCalculate();\n        });\n\n    return { deviceType };\n}\n"
  },
  {
    "path": "resources/js/Jetstream/ActionMessage.vue",
    "content": "<script setup>\ndefineProps({\n    on: Boolean,\n});\n</script>\n\n<template>\n    <div>\n        <transition leave-active-class=\"transition ease-in duration-1000\" leave-from-class=\"opacity-100\" leave-to-class=\"opacity-0\">\n            <div v-show=\"on\" class=\"text-sm text-gray-600 dark:text-gray-400\">\n                <slot />\n            </div>\n        </transition>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/ActionSection.vue",
    "content": "<script setup>\nimport SectionTitle from '@/Jetstream/SectionTitle.vue';\n</script>\n\n<template>\n    <div class=\"md:grid md:grid-cols-3 md:gap-6\">\n        <SectionTitle>\n            <template #title>\n                <slot name=\"title\" />\n            </template>\n            <template #description>\n                <slot name=\"description\" />\n            </template>\n        </SectionTitle>\n\n        <div class=\"mt-5 md:mt-0 md:col-span-2\">\n            <div class=\"px-4 py-5 sm:p-6 bg-white dark:bg-gray-800 shadow sm:rounded-lg\">\n                <slot name=\"content\" />\n            </div>\n        </div>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/ApplicationLogo.vue",
    "content": "<template>\n    <svg viewBox=\"0 0 317 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path d=\"M74.09 30.04V13h-4.14v21H82.1v-3.96h-8.01zM95.379 19v1.77c-1.08-1.35-2.7-2.19-4.89-2.19-3.99 0-7.29 3.45-7.29 7.92s3.3 7.92 7.29 7.92c2.19 0 3.81-.84 4.89-2.19V34h3.87V19h-3.87zm-4.17 11.73c-2.37 0-4.14-1.71-4.14-4.23 0-2.52 1.77-4.23 4.14-4.23 2.4 0 4.17 1.71 4.17 4.23 0 2.52-1.77 4.23-4.17 4.23zM106.628 21.58V19h-3.87v15h3.87v-7.17c0-3.15 2.55-4.05 4.56-3.81V18.7c-1.89 0-3.78.84-4.56 2.88zM124.295 19v1.77c-1.08-1.35-2.7-2.19-4.89-2.19-3.99 0-7.29 3.45-7.29 7.92s3.3 7.92 7.29 7.92c2.19 0 3.81-.84 4.89-2.19V34h3.87V19h-3.87zm-4.17 11.73c-2.37 0-4.14-1.71-4.14-4.23 0-2.52 1.77-4.23 4.14-4.23 2.4 0 4.17 1.71 4.17 4.23 0 2.52-1.77 4.23-4.17 4.23zM141.544 19l-3.66 10.5-3.63-10.5h-4.26l5.7 15h4.41l5.7-15h-4.26zM150.354 28.09h11.31c.09-.51.15-1.02.15-1.59 0-4.41-3.15-7.92-7.59-7.92-4.71 0-7.92 3.45-7.92 7.92s3.18 7.92 8.22 7.92c2.88 0 5.13-1.17 6.54-3.21l-3.12-1.8c-.66.87-1.86 1.5-3.36 1.5-2.04 0-3.69-.84-4.23-2.82zm-.06-3c.45-1.92 1.86-3.03 3.93-3.03 1.62 0 3.24.87 3.72 3.03h-7.65zM164.516 34h3.87V12.1h-3.87V34zM185.248 34.36c3.69 0 6.9-2.01 6.9-6.3V13h-2.1v15.06c0 3.03-2.07 4.26-4.8 4.26-2.19 0-3.93-.78-4.62-2.61l-1.77 1.05c1.05 2.43 3.57 3.6 6.39 3.6zM203.124 18.64c-4.65 0-7.83 3.45-7.83 7.86 0 4.53 3.24 7.86 7.98 7.86 3.03 0 5.34-1.41 6.6-3.45l-1.74-1.02c-.81 1.44-2.46 2.55-4.83 2.55-3.18 0-5.55-1.89-5.97-4.95h13.17c.03-.3.06-.63.06-.93 0-4.11-2.85-7.92-7.44-7.92zm0 1.92c2.58 0 4.98 1.71 5.4 5.01h-11.19c.39-2.94 2.64-5.01 5.79-5.01zM221.224 20.92V19h-4.32v-4.2l-1.98.6V19h-3.15v1.92h3.15v9.09c0 3.6 2.25 4.59 6.3 3.99v-1.74c-2.91.12-4.32.33-4.32-2.25v-9.09h4.32zM225.176 22.93c0-1.62 1.59-2.37 3.15-2.37 1.44 0 2.97.57 3.6 2.1l1.65-.96c-.87-1.86-2.79-3.06-5.25-3.06-3 0-5.13 1.89-5.13 4.29 0 5.52 8.76 3.39 8.76 7.11 0 1.77-1.68 2.4-3.45 2.4-2.01 0-3.57-.99-4.11-2.52l-1.68.99c.75 1.92 2.79 3.45 5.79 3.45 3.21 0 5.43-1.77 5.43-4.32 0-5.52-8.76-3.39-8.76-7.11zM244.603 20.92V19h-4.32v-4.2l-1.98.6V19h-3.15v1.92h3.15v9.09c0 3.6 2.25 4.59 6.3 3.99v-1.74c-2.91.12-4.32.33-4.32-2.25v-9.09h4.32zM249.883 21.49V19h-1.98v15h1.98v-8.34c0-3.72 2.34-4.98 4.74-4.98v-1.92c-1.92 0-3.69.63-4.74 2.73zM263.358 18.64c-4.65 0-7.83 3.45-7.83 7.86 0 4.53 3.24 7.86 7.98 7.86 3.03 0 5.34-1.41 6.6-3.45l-1.74-1.02c-.81 1.44-2.46 2.55-4.83 2.55-3.18 0-5.55-1.89-5.97-4.95h13.17c.03-.3.06-.63.06-.93 0-4.11-2.85-7.92-7.44-7.92zm0 1.92c2.58 0 4.98 1.71 5.4 5.01h-11.19c.39-2.94 2.64-5.01 5.79-5.01zM286.848 19v2.94c-1.26-2.01-3.39-3.3-6.06-3.3-4.23 0-7.74 3.42-7.74 7.86s3.51 7.86 7.74 7.86c2.67 0 4.8-1.29 6.06-3.3V34h1.98V19h-1.98zm-5.91 13.44c-3.33 0-5.91-2.61-5.91-5.94 0-3.33 2.58-5.94 5.91-5.94s5.91 2.61 5.91 5.94c0 3.33-2.58 5.94-5.91 5.94zM309.01 18.64c-1.92 0-3.75.87-4.86 2.73-.84-1.74-2.46-2.73-4.56-2.73-1.8 0-3.42.72-4.59 2.55V19h-1.98v15H295v-8.31c0-3.72 2.16-5.13 4.32-5.13 2.13 0 3.51 1.41 3.51 4.08V34h1.98v-8.31c0-3.72 1.86-5.13 4.17-5.13 2.13 0 3.66 1.41 3.66 4.08V34h1.98v-9.36c0-3.75-2.31-6-5.61-6z\" class=\"fill-black dark:fill-white\" />\n        <path d=\"M11.395 44.428C4.557 40.198 0 32.632 0 24 0 10.745 10.745 0 24 0a23.891 23.891 0 0113.997 4.502c-.2 17.907-11.097 33.245-26.602 39.926z\" fill=\"#6875F5\" />\n        <path d=\"M14.134 45.885A23.914 23.914 0 0024 48c13.255 0 24-10.745 24-24 0-3.516-.756-6.856-2.115-9.866-4.659 15.143-16.608 27.092-31.75 31.751z\" fill=\"#6875F5\" />\n    </svg>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/ApplicationMark.vue",
    "content": "<template>\n    <svg viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path d=\"M11.395 44.428C4.557 40.198 0 32.632 0 24 0 10.745 10.745 0 24 0a23.891 23.891 0 0113.997 4.502c-.2 17.907-11.097 33.245-26.602 39.926z\" fill=\"#6875F5\" />\n        <path d=\"M14.134 45.885A23.914 23.914 0 0024 48c13.255 0 24-10.745 24-24 0-3.516-.756-6.856-2.115-9.866-4.659 15.143-16.608 27.092-31.75 31.751z\" fill=\"#6875F5\" />\n    </svg>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/AuthenticationCard.vue",
    "content": "<template>\n    <div class=\"min-h-screen flex flex-col sm:justify-center items-center pt-6 sm:pt-0 bg-gray-100 dark:bg-gray-900\">\n        <div>\n            <slot name=\"logo\" />\n        </div>\n\n        <div class=\"w-full sm:max-w-md mt-6 px-6 py-4 bg-white dark:bg-gray-800 shadow-md overflow-hidden sm:rounded-lg\">\n            <slot />\n        </div>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/AuthenticationCardLogo.vue",
    "content": "<script setup>\nimport { Link } from '@inertiajs/vue3';\n</script>\n\n<template>\n    <Link :href=\"'/'\">\n        <svg\n            class=\"w-16 h-16\"\n            viewBox=\"0 0 48 48\"\n            fill=\"none\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n        >\n            <path d=\"M11.395 44.428C4.557 40.198 0 32.632 0 24 0 10.745 10.745 0 24 0a23.891 23.891 0 0113.997 4.502c-.2 17.907-11.097 33.245-26.602 39.926z\" fill=\"#6875F5\" />\n            <path d=\"M14.134 45.885A23.914 23.914 0 0024 48c13.255 0 24-10.745 24-24 0-3.516-.756-6.856-2.115-9.866-4.659 15.143-16.608 27.092-31.75 31.751z\" fill=\"#6875F5\" />\n        </svg>\n    </Link>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/Banner.vue",
    "content": "<script setup>\nimport { ref, watchEffect } from 'vue';\nimport { usePage } from '@inertiajs/vue3';\n\nconst page = usePage();\nconst show = ref(true);\nconst style = ref('success');\nconst message = ref('');\n\nwatchEffect(async () => {\n    style.value = page.props.jetstream.flash?.bannerStyle || 'success';\n    message.value = page.props.jetstream.flash?.banner || '';\n    show.value = true;\n});\n</script>\n\n<template>\n    <div>\n        <div v-if=\"show && message\" :class=\"{ 'bg-indigo-500': style == 'success', 'bg-red-700': style == 'danger' }\">\n            <div class=\"max-w-screen-xl mx-auto py-2 px-3 sm:px-6 lg:px-8\">\n                <div class=\"flex items-center justify-between flex-wrap\">\n                    <div class=\"w-0 flex-1 flex items-center min-w-0\">\n                        <span class=\"flex p-2 rounded-lg\" :class=\"{ 'bg-indigo-600': style == 'success', 'bg-red-600': style == 'danger' }\">\n                            <svg v-if=\"style == 'success'\" class=\"h-5 w-5 text-white\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n                            </svg>\n\n                            <svg v-if=\"style == 'danger'\" class=\"h-5 w-5 text-white\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\" />\n                            </svg>\n                        </span>\n\n                        <p class=\"ms-3 font-medium text-sm text-white truncate\">\n                            {{ message }}\n                        </p>\n                    </div>\n\n                    <div class=\"shrink-0 sm:ms-3\">\n                        <button\n                            type=\"button\"\n                            class=\"-me-1 flex p-2 rounded-md focus:outline-none sm:-me-2 transition\"\n                            :class=\"{ 'hover:bg-indigo-600 focus:bg-indigo-600': style == 'success', 'hover:bg-red-600 focus:bg-red-600': style == 'danger' }\"\n                            aria-label=\"Dismiss\"\n                            @click.prevent=\"show = false\"\n                        >\n                            <svg class=\"h-5 w-5 text-white\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n                            </svg>\n                        </button>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/Checkbox.vue",
    "content": "<script setup>\nimport { computed } from 'vue';\n\nconst emit = defineEmits(['update:checked']);\n\nconst props = defineProps({\n    checked: {\n        type: [Array, Boolean],\n        default: false,\n    },\n    value: {\n        type: String,\n        default: null,\n    },\n});\n\nconst proxyChecked = computed({\n    get() {\n        return props.checked;\n    },\n\n    set(val) {\n        emit('update:checked', val);\n    },\n});\n</script>\n\n\n<template>\n    <input\n        v-model=\"proxyChecked\"\n        type=\"checkbox\"\n        :value=\"value\"\n        class=\"rounded dark:bg-gray-900 border-gray-300 dark:border-gray-700 text-indigo-600 shadow-sm focus:ring-indigo-500 dark:focus:ring-indigo-600 dark:focus:ring-offset-gray-800\"\n    >\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/ConfirmationModal.vue",
    "content": "<script setup>\nimport Modal from '@/Jetstream/Modal.vue';\n\nconst emit = defineEmits(['close']);\n\ndefineProps({\n    show: {\n        type: Boolean,\n        default: false,\n    },\n    maxWidth: {\n        type: String,\n        default: '2xl',\n    },\n    closeable: {\n        type: Boolean,\n        default: true,\n    },\n});\n\nconst close = () => {\n    emit('close');\n};\n</script>\n\n<template>\n    <Modal\n        :show=\"show\"\n        :max-width=\"maxWidth\"\n        :closeable=\"closeable\"\n        @close=\"close\"\n    >\n        <div class=\"bg-white dark:bg-gray-800 px-4 pt-5 pb-4 sm:p-6 sm:pb-4\">\n            <div class=\"sm:flex sm:items-start\">\n                <div class=\"mx-auto shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10\">\n                    <svg class=\"h-6 w-6 text-red-600 dark:text-red-400\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\" />\n                    </svg>\n                </div>\n\n                <div class=\"mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start\">\n                    <h3 class=\"text-lg font-medium text-gray-900 dark:text-gray-100\">\n                        <slot name=\"title\" />\n                    </h3>\n\n                    <div class=\"mt-4 text-sm text-gray-600 dark:text-gray-400\">\n                        <slot name=\"content\" />\n                    </div>\n                </div>\n            </div>\n        </div>\n\n        <div class=\"flex flex-row justify-end px-6 py-4 bg-gray-100 dark:bg-gray-800 text-end\">\n            <slot name=\"footer\" />\n        </div>\n    </Modal>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/ConfirmsPassword.vue",
    "content": "<script setup>\nimport { ref, reactive, nextTick } from 'vue';\nimport DialogModal from '@/Jetstream/DialogModal.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport SecondaryButton from '@/Jetstream/SecondaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst emit = defineEmits(['confirmed']);\n\ndefineProps({\n    title: {\n        type: String,\n        default: 'Confirm Password',\n    },\n    content: {\n        type: String,\n        default: 'For your security, please confirm your password to continue.',\n    },\n    button: {\n        type: String,\n        default: 'Confirm',\n    },\n});\n\nconst confirmingPassword = ref(false);\n\nconst form = reactive({\n    password: '',\n    error: '',\n    processing: false,\n});\n\nconst passwordInput = ref(null);\n\nconst startConfirmingPassword = () => {\n    axios.get(route('password.confirmation')).then(response => {\n        if (response.data.confirmed) {\n            emit('confirmed');\n        } else {\n            confirmingPassword.value = true;\n\n            setTimeout(() => passwordInput.value.focus(), 250);\n        }\n    });\n};\n\nconst confirmPassword = () => {\n    form.processing = true;\n\n    axios.post(route('password.confirm'), {\n        password: form.password,\n    }).then(() => {\n        form.processing = false;\n\n        closeModal();\n        nextTick().then(() => emit('confirmed'));\n\n    }).catch(error => {\n        form.processing = false;\n        form.error = error.response.data.errors.password[0];\n        passwordInput.value.focus();\n    });\n};\n\nconst closeModal = () => {\n    confirmingPassword.value = false;\n    form.password = '';\n    form.error = '';\n};\n</script>\n\n<template>\n    <span>\n        <span @click=\"startConfirmingPassword\">\n            <slot />\n        </span>\n\n        <DialogModal :show=\"confirmingPassword\" @close=\"closeModal\">\n            <template #title>\n                {{ title }}\n            </template>\n\n            <template #content>\n                {{ content }}\n\n                <div class=\"mt-4\">\n                    <TextInput\n                        ref=\"passwordInput\"\n                        v-model=\"form.password\"\n                        type=\"password\"\n                        class=\"mt-1 block w-3/4\"\n                        placeholder=\"Password\"\n                        autocomplete=\"current-password\"\n                        @keyup.enter=\"confirmPassword\"\n                    />\n\n                    <InputError :message=\"form.error\" class=\"mt-2\" />\n                </div>\n            </template>\n\n            <template #footer>\n                <SecondaryButton @click=\"closeModal\">\n                    Cancel\n                </SecondaryButton>\n\n                <PrimaryButton\n                    class=\"ms-3\"\n                    :class=\"{ 'opacity-25': form.processing }\"\n                    :disabled=\"form.processing\"\n                    @click=\"confirmPassword\"\n                >\n                    {{ button }}\n                </PrimaryButton>\n            </template>\n        </DialogModal>\n    </span>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/DangerButton.vue",
    "content": "<script setup>\ndefineProps({\n    type: {\n        type: String,\n        default: 'button',\n    },\n});\n</script>\n\n<template>\n    <button :type=\"type\" class=\"inline-flex items-center justify-center px-4 py-2 bg-red-600 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-red-500 active:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2 dark:focus:ring-offset-gray-800 transition ease-in-out duration-150\">\n        <slot />\n    </button>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/DialogModal.vue",
    "content": "<script setup>\nimport Modal from '@/Jetstream/Modal.vue';\n\nconst emit = defineEmits(['close']);\n\ndefineProps({\n    show: {\n        type: Boolean,\n        default: false,\n    },\n    maxWidth: {\n        type: String,\n        default: '2xl',\n    },\n    closeable: {\n        type: Boolean,\n        default: true,\n    },\n});\n\nconst close = () => {\n    emit('close');\n};\n</script>\n\n<template>\n    <Modal\n        :show=\"show\"\n        :max-width=\"maxWidth\"\n        :closeable=\"closeable\"\n        @close=\"close\"\n    >\n        <div class=\"px-6 py-4\">\n            <div class=\"text-lg font-medium text-gray-900 dark:text-gray-100\">\n                <slot name=\"title\" />\n            </div>\n\n            <div class=\"mt-4 text-sm text-gray-600 dark:text-gray-400\">\n                <slot name=\"content\" />\n            </div>\n        </div>\n\n        <div class=\"flex flex-row justify-end px-6 py-4 bg-gray-100 dark:bg-gray-800 text-end\">\n            <slot name=\"footer\" />\n        </div>\n    </Modal>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/Dropdown.vue",
    "content": "<script setup>\nimport { computed, onMounted, onUnmounted, ref } from 'vue';\n\nconst props = defineProps({\n    align: {\n        type: String,\n        default: 'right',\n    },\n    width: {\n        type: String,\n        default: '48',\n    },\n    contentClasses: {\n        type: Array,\n        default: () => ['py-1', 'bg-white dark:bg-gray-700'],\n    },\n});\n\nlet open = ref(false);\n\nconst closeOnEscape = (e) => {\n    if (open.value && e.key === 'Escape') {\n        open.value = false;\n    }\n};\n\nonMounted(() => document.addEventListener('keydown', closeOnEscape));\nonUnmounted(() => document.removeEventListener('keydown', closeOnEscape));\n\nconst widthClass = computed(() => {\n    return {\n        '48': 'w-48',\n    }[props.width.toString()];\n});\n\nconst alignmentClasses = computed(() => {\n    if (props.align === 'left') {\n        return 'ltr:origin-top-left rtl:origin-top-right start-0';\n    }\n\n    if (props.align === 'right') {\n        return 'ltr:origin-top-right rtl:origin-top-left end-0';\n    }\n\n    return 'origin-top';\n});\n</script>\n\n<template>\n    <div class=\"relative\">\n        <div @click=\"open = ! open\">\n            <slot name=\"trigger\" />\n        </div>\n\n        <!-- Full Screen Dropdown Overlay -->\n        <div v-show=\"open\" class=\"fixed inset-0 z-40\" @click=\"open = false\" />\n\n        <transition\n            enter-active-class=\"transition ease-out duration-200\"\n            enter-from-class=\"transform opacity-0 scale-95\"\n            enter-to-class=\"transform opacity-100 scale-100\"\n            leave-active-class=\"transition ease-in duration-75\"\n            leave-from-class=\"transform opacity-100 scale-100\"\n            leave-to-class=\"transform opacity-0 scale-95\"\n        >\n            <div\n                v-show=\"open\"\n                class=\"absolute z-50 mt-2 rounded-md shadow-lg\"\n                :class=\"[widthClass, alignmentClasses]\"\n                style=\"display: none;\"\n                @click=\"open = false\"\n            >\n                <div class=\"rounded-md ring-1 ring-black ring-opacity-5\" :class=\"contentClasses\">\n                    <slot name=\"content\" />\n                </div>\n            </div>\n        </transition>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/DropdownLink.vue",
    "content": "<script setup>\nimport { Link } from '@inertiajs/vue3';\n\ndefineProps({\n    href: String,\n    as: String,\n});\n</script>\n\n<template>\n    <div>\n        <button v-if=\"as == 'button'\" type=\"submit\" class=\"block w-full px-4 py-2 text-start text-sm leading-5 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 focus:outline-none focus:bg-gray-100 dark:focus:bg-gray-800 transition duration-150 ease-in-out\">\n            <slot />\n        </button>\n\n        <a v-else-if=\"as =='a'\" :href=\"href\" class=\"block px-4 py-2 text-sm leading-5 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 focus:outline-none focus:bg-gray-100 dark:focus:bg-gray-800 transition duration-150 ease-in-out\">\n            <slot />\n        </a>\n\n        <Link v-else :href=\"href\" class=\"block px-4 py-2 text-sm leading-5 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 focus:outline-none focus:bg-gray-100 dark:focus:bg-gray-800 transition duration-150 ease-in-out\">\n            <slot />\n        </Link>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/FormSection.vue",
    "content": "<script setup>\nimport { computed, useSlots } from 'vue';\nimport SectionTitle from '@/Jetstream/SectionTitle.vue';\n\ndefineEmits(['submitted']);\n\nconst hasActions = computed(() => !! useSlots().actions);\n</script>\n\n<template>\n    <div class=\"md:grid md:grid-cols-3 md:gap-6\">\n        <SectionTitle>\n            <template #title>\n                <slot name=\"title\" />\n            </template>\n            <template #description>\n                <slot name=\"description\" />\n            </template>\n        </SectionTitle>\n\n        <div class=\"mt-5 md:mt-0 md:col-span-2\">\n            <form @submit.prevent=\"$emit('submitted')\">\n                <div\n                    class=\"px-4 py-5 bg-white dark:bg-gray-800 sm:p-6 shadow\"\n                    :class=\"hasActions ? 'sm:rounded-tl-md sm:rounded-tr-md' : 'sm:rounded-md'\"\n                >\n                    <div class=\"grid grid-cols-6 gap-6\">\n                        <slot name=\"form\" />\n                    </div>\n                </div>\n\n                <div v-if=\"hasActions\" class=\"flex items-center justify-end px-4 py-3 bg-gray-50 dark:bg-gray-800 text-end sm:px-6 shadow sm:rounded-bl-md sm:rounded-br-md\">\n                    <slot name=\"actions\" />\n                </div>\n            </form>\n        </div>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/InputError.vue",
    "content": "<script setup>\ndefineProps({\n    message: String,\n});\n</script>\n\n<template>\n    <div v-show=\"message\">\n        <p class=\"text-sm text-red-600 dark:text-red-400\">\n            {{ message }}\n        </p>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/InputLabel.vue",
    "content": "<script setup>\ndefineProps({\n    value: String,\n});\n</script>\n\n<template>\n    <label class=\"block font-medium text-sm text-gray-700 dark:text-gray-300\">\n        <span v-if=\"value\">{{ value }}</span>\n        <span v-else><slot /></span>\n    </label>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/Modal.vue",
    "content": "<script setup>\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\n\nconst props = defineProps({\n    show: {\n        type: Boolean,\n        default: false,\n    },\n    maxWidth: {\n        type: String,\n        default: '2xl',\n    },\n    closeable: {\n        type: Boolean,\n        default: true,\n    },\n});\n\nconst emit = defineEmits(['close']);\nconst dialog = ref();\nconst showSlot = ref(props.show);\n\nwatch(() => props.show, () => {\n    if (props.show) {\n        document.body.style.overflow = 'hidden';\n        showSlot.value = true;\n        dialog.value?.showModal();\n    } else {\n        document.body.style.overflow = null;\n        setTimeout(() => {\n            dialog.value?.close();\n            showSlot.value = false;\n        }, 200);\n    }\n});\n\nconst close = () => {\n    if (props.closeable) {\n        emit('close');\n    }\n};\n\nconst closeOnEscape = (e) => {\n    if (e.key === 'Escape' && props.show) {\n        close();\n    }\n};\n\nonMounted(() => document.addEventListener('keydown', closeOnEscape));\n\nonUnmounted(() => {\n    document.removeEventListener('keydown', closeOnEscape);\n    document.body.style.overflow = null;\n});\n\nconst maxWidthClass = computed(() => {\n    return {\n        'sm': 'sm:max-w-sm',\n        'md': 'sm:max-w-md',\n        'lg': 'sm:max-w-lg',\n        'xl': 'sm:max-w-xl',\n        '2xl': 'sm:max-w-2xl',\n    }[props.maxWidth];\n});\n</script>\n\n<template>\n    <dialog class=\"z-50 m-0 min-h-full min-w-full overflow-y-auto bg-transparent backdrop:bg-transparent\" ref=\"dialog\">\n        <div class=\"fixed inset-0 overflow-y-auto px-4 py-6 sm:px-0 z-50\" scroll-region>\n            <transition\n                enter-active-class=\"ease-out duration-300\"\n                enter-from-class=\"opacity-0\"\n                enter-to-class=\"opacity-100\"\n                leave-active-class=\"ease-in duration-200\"\n                leave-from-class=\"opacity-100\"\n                leave-to-class=\"opacity-0\"\n            >\n                <div v-show=\"show\" class=\"fixed inset-0 transform transition-all\" @click=\"close\">\n                    <div class=\"absolute inset-0 bg-gray-500 dark:bg-gray-900 opacity-75\" />\n                </div>\n            </transition>\n\n            <transition\n                enter-active-class=\"ease-out duration-300\"\n                enter-from-class=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n                enter-to-class=\"opacity-100 translate-y-0 sm:scale-100\"\n                leave-active-class=\"ease-in duration-200\"\n                leave-from-class=\"opacity-100 translate-y-0 sm:scale-100\"\n                leave-to-class=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n            >\n                <div v-show=\"show\" class=\"mb-6 bg-white dark:bg-gray-800 rounded-lg overflow-hidden shadow-xl transform transition-all sm:w-full sm:mx-auto\" :class=\"maxWidthClass\">\n                    <slot v-if=\"showSlot\"/>\n                </div>\n            </transition>\n        </div>\n    </dialog>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/NavLink.vue",
    "content": "<script setup>\nimport { computed } from 'vue';\nimport { Link } from '@inertiajs/vue3';\n\nconst props = defineProps({\n    href: String,\n    active: Boolean,\n});\n\nconst classes = computed(() => {\n    return props.active\n        ? 'inline-flex items-center px-1 pt-1 border-b-2 border-indigo-400 dark:border-indigo-600 text-sm font-medium leading-5 text-gray-900 dark:text-gray-100 focus:outline-none focus:border-indigo-700 transition duration-150 ease-in-out'\n        : 'inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 dark:hover:border-gray-700 focus:outline-none focus:text-gray-700 dark:focus:text-gray-300 focus:border-gray-300 dark:focus:border-gray-700 transition duration-150 ease-in-out';\n});\n</script>\n\n<template>\n    <Link :href=\"href\" :class=\"classes\">\n        <slot />\n    </Link>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/PrimaryButton.vue",
    "content": "<script setup>\ndefineProps({\n    type: {\n        type: String,\n        default: 'submit',\n    },\n});\n</script>\n\n<template>\n    <button :type=\"type\" class=\"inline-flex items-center px-4 py-2 bg-gray-800 dark:bg-gray-200 border border-transparent rounded-md font-semibold text-xs text-white dark:text-gray-800 uppercase tracking-widest hover:bg-gray-700 dark:hover:bg-white focus:bg-gray-700 dark:focus:bg-white active:bg-gray-900 dark:active:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 dark:focus:ring-offset-gray-800 disabled:opacity-50 transition ease-in-out duration-150\">\n        <slot />\n    </button>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/ResponsiveNavLink.vue",
    "content": "<script setup>\nimport { computed } from 'vue';\nimport { Link } from '@inertiajs/vue3';\n\nconst props = defineProps({\n    active: Boolean,\n    href: String,\n    as: String,\n});\n\nconst classes = computed(() => {\n    return props.active\n        ? 'block w-full ps-3 pe-4 py-2 border-l-4 border-indigo-400 dark:border-indigo-600 text-start text-base font-medium text-indigo-700 dark:text-indigo-300 bg-indigo-50 dark:bg-indigo-900/50 focus:outline-none focus:text-indigo-800 dark:focus:text-indigo-200 focus:bg-indigo-100 dark:focus:bg-indigo-900 focus:border-indigo-700 dark:focus:border-indigo-300 transition duration-150 ease-in-out'\n        : 'block w-full ps-3 pe-4 py-2 border-l-4 border-transparent text-start text-base font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 hover:border-gray-300 dark:hover:border-gray-600 focus:outline-none focus:text-gray-800 dark:focus:text-gray-200 focus:bg-gray-50 dark:focus:bg-gray-700 focus:border-gray-300 dark:focus:border-gray-600 transition duration-150 ease-in-out';\n});\n</script>\n\n<template>\n    <div>\n        <button v-if=\"as == 'button'\" :class=\"classes\" class=\"w-full text-start\">\n            <slot />\n        </button>\n\n        <Link v-else :href=\"href\" :class=\"classes\">\n            <slot />\n        </Link>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/SecondaryButton.vue",
    "content": "<script setup>\ndefineProps({\n    type: {\n        type: String,\n        default: 'button',\n    },\n});\n</script>\n\n<template>\n    <button :type=\"type\" class=\"inline-flex items-center px-4 py-2 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-500 rounded-md font-semibold text-xs text-gray-700 dark:text-gray-300 uppercase tracking-widest shadow-sm hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 dark:focus:ring-offset-gray-800 disabled:opacity-25 transition ease-in-out duration-150\">\n        <slot />\n    </button>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/SectionBorder.vue",
    "content": "<template>\n    <div class=\"hidden sm:block\">\n        <div class=\"py-8\">\n            <div class=\"border-t border-gray-200 dark:border-gray-700\" />\n        </div>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/SectionTitle.vue",
    "content": "<template>\n    <div class=\"md:col-span-1 flex justify-between\">\n        <div class=\"px-4 sm:px-0\">\n            <h3 class=\"text-lg font-medium text-gray-900 dark:text-gray-100\">\n                <slot name=\"title\" />\n            </h3>\n\n            <p class=\"mt-1 text-sm text-gray-600 dark:text-gray-400\">\n                <slot name=\"description\" />\n            </p>\n        </div>\n\n        <div class=\"px-4 sm:px-0\">\n            <slot name=\"aside\" />\n        </div>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/TextInput.vue",
    "content": "<script setup>\nimport { onMounted, ref } from 'vue';\n\ndefineProps({\n    modelValue: String,\n});\n\ndefineEmits(['update:modelValue']);\n\nconst input = ref(null);\n\nonMounted(() => {\n    if (input.value.hasAttribute('autofocus')) {\n        input.value.focus();\n    }\n});\n\ndefineExpose({ focus: () => input.value.focus() });\n</script>\n\n<template>\n    <input\n        ref=\"input\"\n        class=\"border-gray-300 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 focus:border-indigo-500 dark:focus:border-indigo-600 focus:ring-indigo-500 dark:focus:ring-indigo-600 rounded-md shadow-sm\"\n        :value=\"modelValue\"\n        @input=\"$emit('update:modelValue', $event.target.value)\"\n    >\n</template>\n"
  },
  {
    "path": "resources/js/Jetstream/Welcome.vue",
    "content": "<script setup>\nimport ApplicationLogo from '@/Jetstream/ApplicationLogo.vue';\n</script>\n\n<template>\n    <div>\n        <div class=\"p-6 lg:p-8 bg-white dark:bg-gray-800 dark:bg-gradient-to-bl dark:from-gray-700/50 dark:via-transparent border-b border-gray-200 dark:border-gray-700\">\n            <ApplicationLogo class=\"block h-12 w-auto\" />\n\n            <h1 class=\"mt-8 text-2xl font-medium text-gray-900 dark:text-white\">\n                Welcome to your Jetstream application!\n            </h1>\n\n            <p class=\"mt-6 text-gray-500 dark:text-gray-400 leading-relaxed\">\n                Laravel Jetstream provides a beautiful, robust starting point for your next Laravel application. Laravel is designed\n                to help you build your application using a development environment that is simple, powerful, and enjoyable. We believe\n                you should love expressing your creativity through programming, so we have spent time carefully crafting the Laravel\n                ecosystem to be a breath of fresh air. We hope you love it.\n            </p>\n        </div>\n\n        <div class=\"bg-gray-200 dark:bg-gray-800 bg-opacity-25 grid grid-cols-1 md:grid-cols-2 gap-6 lg:gap-8 p-6 lg:p-8\">\n            <div>\n                <div class=\"flex items-center\">\n                    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" class=\"w-6 h-6 stroke-gray-400\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25\" />\n                    </svg>\n                    <h2 class=\"ms-3 text-xl font-semibold text-gray-900 dark:text-white\">\n                        <a href=\"https://laravel.com/docs\">Documentation</a>\n                    </h2>\n                </div>\n\n                <p class=\"mt-4 text-gray-500 dark:text-gray-400 text-sm leading-relaxed\">\n                    Laravel has wonderful documentation covering every aspect of the framework. Whether you're new to the framework or have previous experience, we recommend reading all of the documentation from beginning to end.\n                </p>\n\n                <p class=\"mt-4 text-sm\">\n                    <a href=\"https://laravel.com/docs\" class=\"inline-flex items-center font-semibold text-indigo-700 dark:text-indigo-300\">\n                        Explore the documentation\n\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" class=\"ms-1 w-5 h-5 fill-indigo-500 dark:fill-indigo-200\">\n                            <path fill-rule=\"evenodd\" d=\"M5 10a.75.75 0 01.75-.75h6.638L10.23 7.29a.75.75 0 111.04-1.08l3.5 3.25a.75.75 0 010 1.08l-3.5 3.25a.75.75 0 11-1.04-1.08l2.158-1.96H5.75A.75.75 0 015 10z\" clip-rule=\"evenodd\" />\n                        </svg>\n                    </a>\n                </p>\n            </div>\n\n            <div>\n                <div class=\"flex items-center\">\n                    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" class=\"w-6 h-6 stroke-gray-400\">\n                        <path stroke-linecap=\"round\" d=\"M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z\" />\n                    </svg>\n                    <h2 class=\"ms-3 text-xl font-semibold text-gray-900 dark:text-white\">\n                        <a href=\"https://laracasts.com\">Laracasts</a>\n                    </h2>\n                </div>\n\n                <p class=\"mt-4 text-gray-500 dark:text-gray-400 text-sm leading-relaxed\">\n                    Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.\n                </p>\n\n                <p class=\"mt-4 text-sm\">\n                    <a href=\"https://laracasts.com\" class=\"inline-flex items-center font-semibold text-indigo-700 dark:text-indigo-300\">\n                        Start watching Laracasts\n\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" class=\"ms-1 w-5 h-5 fill-indigo-500 dark:fill-indigo-200\">\n                            <path fill-rule=\"evenodd\" d=\"M5 10a.75.75 0 01.75-.75h6.638L10.23 7.29a.75.75 0 111.04-1.08l3.5 3.25a.75.75 0 010 1.08l-3.5 3.25a.75.75 0 11-1.04-1.08l2.158-1.96H5.75A.75.75 0 015 10z\" clip-rule=\"evenodd\" />\n                        </svg>\n                    </a>\n                </p>\n            </div>\n\n            <div>\n                <div class=\"flex items-center\">\n                    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" class=\"w-6 h-6 stroke-gray-400\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z\" />\n                    </svg>\n                    <h2 class=\"ms-3 text-xl font-semibold text-gray-900 dark:text-white\">\n                        <a href=\"https://tailwindcss.com/\">Tailwind</a>\n                    </h2>\n                </div>\n\n                <p class=\"mt-4 text-gray-500 dark:text-gray-400 text-sm leading-relaxed\">\n                    Laravel Jetstream is built with Tailwind, an amazing utility first CSS framework that doesn't get in your way. You'll be amazed how easily you can build and maintain fresh, modern designs with this wonderful framework at your fingertips.\n                </p>\n            </div>\n\n            <div>\n                <div class=\"flex items-center\">\n                    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" class=\"w-6 h-6 stroke-gray-400\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z\" />\n                    </svg>\n                    <h2 class=\"ms-3 text-xl font-semibold text-gray-900 dark:text-white\">\n                        Authentication\n                    </h2>\n                </div>\n\n                <p class=\"mt-4 text-gray-500 dark:text-gray-400 text-sm leading-relaxed\">\n                    Authentication and registration views are included with Laravel Jetstream, as well as support for user email verification and resetting forgotten passwords. So, you're free to get started with what matters most: building your application.\n                </p>\n            </div>\n        </div>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Lang/Flags/flagBg.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 480\">\n    <g fill-rule=\"evenodd\" stroke-width=\"1pt\">\n      <path fill=\"#de2110\" d=\"M0 319.997h640V480H0z\" />\n      <path fill=\"#fff\" d=\"M0 0h640v160.003H0z\" />\n      <path fill=\"#319400\" d=\"M0 160.003h640v160.003H0z\" />\n    </g>\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"flagBg\",\n});\n</script>\n"
  },
  {
    "path": "resources/js/Lang/Flags/flagDe.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 480\">\n    <path fill=\"#ffce00\" d=\"M0 320h640v160.002H0z\" />\n    <path d=\"M0 0h640v160H0z\" />\n    <path fill=\"#d00\" d=\"M0 160h640v160H0z\" />\n  </svg>\n</template>\n<script>\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"flagDe\",\n});\n</script>\n"
  },
  {
    "path": "resources/js/Lang/Flags/flagEn.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 480\">\n    <defs>\n      <clipPath id=\"a\">\n        <path fill-opacity=\".67\" d=\"M-85.333 0h682.67v512h-682.67z\" />\n      </clipPath>\n    </defs>\n    <g clip-path=\"url(#a)\" transform=\"translate(80) scale(.94)\">\n      <g stroke-width=\"1pt\">\n        <path fill=\"#006\" d=\"M-256 0H768.02v512.01H-256z\" />\n        <path\n          d=\"M-256 0v57.244l909.535 454.768H768.02V454.77L-141.515 0H-256zM768.02 0v57.243L-141.515 512.01H-256v-57.243L653.535 0H768.02z\"\n          fill=\"#fff\"\n        />\n        <path\n          d=\"M170.675 0v512.01h170.67V0h-170.67zM-256 170.67v170.67H768.02V170.67H-256z\"\n          fill=\"#fff\"\n        />\n        <path\n          d=\"M-256 204.804v102.402H768.02V204.804H-256zM204.81 0v512.01h102.4V0h-102.4zM-256 512.01L85.34 341.34h76.324l-341.34 170.67H-256zM-256 0L85.34 170.67H9.016L-256 38.164V0zm606.356 170.67L691.696 0h76.324L426.68 170.67h-76.324zM768.02 512.01L426.68 341.34h76.324L768.02 473.848v38.162z\"\n          fill=\"#c00\"\n        />\n      </g>\n    </g>\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"flagEn\",\n});\n</script>\n"
  },
  {
    "path": "resources/js/Lang/Flags/flagFr.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 480\">\n    <g fill-rule=\"evenodd\" stroke-width=\"1pt\">\n      <path fill=\"#fff\" d=\"M0 0h640v480H0z\" />\n      <path fill=\"#00267f\" d=\"M0 0h213.337v480H0z\" />\n      <path fill=\"#f31830\" d=\"M426.662 0H640v480H426.662z\" />\n    </g>\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"flagFr\",\n});\n</script>\n"
  },
  {
    "path": "resources/js/Lang/Flags/flagRu.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 480\">\n    <g fill-rule=\"evenodd\" stroke-width=\"1pt\">\n      <path fill=\"#fff\" d=\"M0 0h640v480H0z\" />\n      <path fill=\"#0039a6\" d=\"M0 160.003h640V480H0z\" />\n      <path fill=\"#d52b1e\" d=\"M0 319.997h640V480H0z\" />\n    </g>\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"flagRu\",\n});\n</script>\n"
  },
  {
    "path": "resources/js/Lang/Flags/flagTr.vue",
    "content": "<template>\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 480\">\n    <g fill-rule=\"evenodd\">\n      <path fill=\"#f31930\" d=\"M0 0h640v480H0z\" />\n      <path\n        d=\"M406.977 247.473c0 66.215-54.606 119.89-121.97 119.89S163.04 313.686 163.04 247.472s54.606-119.89 121.968-119.89 121.97 53.677 121.97 119.89z\"\n        fill=\"#fff\"\n      />\n      <path\n        d=\"M413.077 247.467c0 52.97-43.686 95.91-97.575 95.91s-97.574-42.94-97.574-95.91 43.686-95.91 97.574-95.91 97.575 42.94 97.575 95.91z\"\n        fill=\"#f31830\"\n      />\n      <path\n        d=\"M430.726 191.465l-.985 44.318-41.345 11.225 40.756 14.514-.984 40.642 26.58-31.738 40.164 13.934-23.233-34.06 28.352-33.868-43.513 11.998-25.793-36.964z\"\n        fill=\"#fff\"\n      />\n    </g>\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"flagTr\",\n});\n</script>\n"
  },
  {
    "path": "resources/js/Lang/Flags/flagZh.vue",
    "content": "<template>\n  <svg\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n    viewBox=\"0 0 640 480\"\n  >\n    <defs>\n      <path id=\"a\" fill=\"#ffde00\" d=\"M-.588.81L0-1 .588.81-.952-.31H.952z\" />\n    </defs>\n    <path d=\"M0 0h640v480H0z\" fill=\"#de2910\" />\n    <use\n      xlink:href=\"#a\"\n      transform=\"matrix(71.9991 0 0 72 119.999 120)\"\n      width=\"30\"\n      height=\"20\"\n    />\n    <use\n      xlink:href=\"#a\"\n      transform=\"matrix(-12.33562 -20.5871 20.58684 -12.33577 240.291 47.996)\"\n      width=\"30\"\n      height=\"20\"\n    />\n    <use\n      xlink:href=\"#a\"\n      transform=\"matrix(-3.38573 -23.75998 23.75968 -3.38578 287.95 95.796)\"\n      width=\"30\"\n      height=\"20\"\n    />\n    <use\n      xlink:href=\"#a\"\n      transform=\"matrix(6.5991 -23.0749 23.0746 6.59919 287.959 168.012)\"\n      width=\"30\"\n      height=\"20\"\n    />\n    <use\n      xlink:href=\"#a\"\n      transform=\"matrix(14.9991 -18.73557 18.73533 14.99929 239.933 216.054)\"\n      width=\"30\"\n      height=\"20\"\n    />\n  </svg>\n</template>\n\n<script>\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"flagZh\",\n});\n</script>\n"
  },
  {
    "path": "resources/js/Lang/bg/auth_lang_bg.js",
    "content": "const authLangBg = {\n    name: \"име\",\n    email: \"Електронна поща\",\n    password: \"парола\",\n    rememberMe: \"Помни ме\",\n    forgotPassword: \"Забравена парола?\",\n    passwordConfirmation: \"Потвърдете паролата\",\n    login: \"вход\",\n    logout: \"Изход\",\n    register: \"Регистрирай се\",\n    alreadyRegistered: \"Вече регистриран?\",\n    terms: \"{0} {1} {2} {3}\",\n    iAgreeToThe: \"Съгласен съм с\",\n    termsOfService: \"Условия за ползване\",\n    and: \"и\",\n    privacyPolicy: \"Политика за поверителност\",\n    emailPasswordResetLink: \"Изпратете връзка за нулиране на паролата\",\n    backToLogin: \"Обратно към вход\",\n    forgotPasswordGreeting: \"Забравена парола?\",\n    forgotPasswordSubGreeting: \"Напишете вашия имейл адрес и ние ще ви изпратим връзка за нулиране на паролата\",\n    registerGreeting: \"Регистрирайте се за нов акаунт\",\n    loginGreeting: \"Влезте в акаунта си\",\n    reLogin: \"Влезте отново\",\n    validationMessage: {\n        name: {\n            required: \"Полето за име е задължително\"\n        },\n        email: {\n            required: \"Полето за имейл е задължително\",\n            email: \"Имейлът трябва да е валиден имейл адрес\"\n        },\n        password: {\n            required: \"Полето за парола е задължително\"\n        },\n        passwordConfirmation: {\n            required: \"Полето за потвърждение на паролата е задължително\"\n        }\n    }\n};\n\nexport default authLangBg;\n"
  },
  {
    "path": "resources/js/Lang/bg/general_lang_bg.js",
    "content": "const generalLangBg = {\n    brandName: \"LaraQuality\",\n    /* Theme */\n    darkMode: \"Тъмна тема\",\n    lightMode: \"Светеща тема\",\n    auto: \"Автоматично\",\n    /* Error */\n    somethingWentWrong: \"Опа, нещо се обърка\",\n    /* Simple Terms */\n    save: 'Запазете',\n    reset: 'Нулиране',\n    cancel: 'Отмяна',\n    delete: 'Изтрий',\n    edit: 'редактиране',\n    view: 'Преглед'\n};\n\nexport default generalLangBg;\n"
  },
  {
    "path": "resources/js/Lang/bg/main_menu_lang_bg.js",
    "content": "const mainMenuLangBg = {\n    authPages: \"Страници за удостоверяване\",\n    authLogin: \"Вход\",\n    authRegister: \"Регистрация\",\n    authForgotPassword: \"Забравена парола\",\n    authLockScreen: \"Заключен екран\",\n    authProfile: \"Профил\",\n    components: \"Компоненти\",\n    componentAlert: \"Сигнал\",\n    componentAvatar: \"Аватар\",\n    componentBadge: \"Значка\",\n    componentBreadcrumb: \"Breadcrumb\",\n    componentButton: \"Бутон\",\n    componentCollapsible: \"Сгъваем\",\n    componentContentBox: \"Кутия за съдържание\",\n    componentDropdown: \"Падащо меню\",\n    componentList: \"Списък\",\n    componentLoading: \"Зареждане\",\n    componentModal: \"Modal\",\n    componentPagination: \"Пагинация\",\n    componentProgressBar: \"Лента на напредъка\",\n    componentStatisticWidget: \"Статистическа витрина\",\n    componentTab: \"Tab\",\n    componentTable: \"Таблица\",\n    componentTableJson: \"Таблица(JSON)\",\n    componentTableBackend: \"Таблица(BackEnd)\",\n    componentTooltip: \"Балон с информация\",\n    layoutElements: \"Елементи на оформление\",\n    layoutStructure: \"Структура на оформлението\",\n    layoutGrid: \"Решетка\",\n    formElements: \"Елементи на формуляр\",\n    formStructure: \"Структура на формата\",\n    formInputGroup: \"Група за въвеждане\",\n    formSimpleInputs: \"Прости входове\",\n    formRepeatableInput: \"Повтаряем вход\",\n    formDateTimeInput: \"Въвеждане на дата/час\",\n    formSelectInput: \"Избор на въвеждане\",\n    externalSources: \"Външни източници\",\n    externalGitHubRepo: 'Github Repo',\n    externalTailwindcssDocument: \"Документ TailwindCSS\",\n    externalVuejsDocument: \"Документ Vuejs\",\n    externalInertiaDocument: \"Документ Inertiajs\",\n    externalLaravelDocument: \"Документ Laravel\",\n    footerHelp: \"Помощ\",\n    footerSettings: \"Настройки\"\n};\n\nexport default mainMenuLangBg;\n"
  },
  {
    "path": "resources/js/Lang/bg/notification_lang_bg.js",
    "content": "const notification_bg = {\n    pendingWorks: 'Предстоящи работи',\n    unfinishedTodos: 'Текущи задачи',\n    unreadMessages: 'Непрочетени съобщения'\n};\n\nexport default notification_bg;\n"
  },
  {
    "path": "resources/js/Lang/bg/user_menu_lang_bg.js",
    "content": "const userMenuLangBg = {\n    manageAccount: \"Manage Account\",\n    manageTeam: \"Manage Team\",\n    switchTeams: \"Switch Team\",\n    language: \"Language\",\n    darkMode: \"Dark Mode\",\n    profile: \"Profile\",\n    api: \"API Tokens\",\n    teamSettings: \"Team Settings\",\n    createNewTeam: \"Create New Team\",\n    auto: \"Auto\",\n    dark: \"Dark\",\n    light: \"Light\",\n    logout: \"Logout\"\n};\n\nexport default userMenuLangBg;\n"
  },
  {
    "path": "resources/js/Lang/de/auth_lang_de.js",
    "content": "const authLangDe = {\n    name: \"Name\",\n    email: \"Email\",\n    password: \"Passwort\",\n    rememberMe: \"Behalte mich in Erinnerung\",\n    forgotPassword: \"Passwort vergessen?\",\n    passwordConfirmation: \"Passwort bestätigen\",\n    login: \"Anmeldung\",\n    logout: \"Abmeldung\",\n    register: \"Registrierung\",\n    alreadyRegistered: \"Bereits registriert?\",\n    terms: \"{0} {1} {2} {3}\",\n    iAgreeToThe: \"Ich stimme den\",\n    termsOfService: \"Nutzungsbedingungen\",\n    and: \"und\",\n    privacyPolicy: \"Datenschutz-Bestimmungen\",\n    emailPasswordResetLink: \"E-Mail-Passwort-Zurücksetzungslink\",\n    backToLogin: \"Zurück zum Login\",\n    forgotPasswordGreeting: \"Haben Sie Ihr Passwort vergessen? Kein Problem.\",\n    forgotPasswordSubGreeting: \"Geben Sie Ihre E-Mail-Adresse ein und wir senden Ihnen einen Link zum Zurücksetzen des Passworts.\",\n    registerGreeting: \"Registrieren Sie sich für ein neues Konto\",\n    loginGreeting: \"Melden Sie sich bei Ihrem Konto an\",\n    reLogin: \"Melden Sie sich erneut an\",\n    validationMessage: {\n        name: {\n            required: \"Das Namensfeld ist erforderlich\"\n        },\n        email: {\n            required: \"Das E-Mail-Feld ist erforderlich\",\n            email: \"Die E-Mail muss eine gültige E-Mail-Adresse sein\"\n        },\n        password: {\n            required: \"Das Passwortfeld ist erforderlich\"\n        },\n        passwordConfirmation: {\n            required: \"Das Passwortbestätigungsfeld ist erforderlich\"\n        }\n    }\n};\n\nexport default authLangDe;\n"
  },
  {
    "path": "resources/js/Lang/de/general_lang_de.js",
    "content": "const generalLangDe = {\n    brandName: \"LaraQuality\",\n    /* Theme */\n    darkMode: \"Dunkles Thema\",\n    lightMode: \"Leuchtendes Thema\",\n    auto: \"Automatisch\",\n    /* Error */\n    somethingWentWrong: \"Ups! Irgendwas lief schief\",\n    /* Simple Terms */\n    save: 'Speichern',\n    reset: 'Zurücksetzen',\n    cancel: 'Abbrechen',\n    delete: 'Löschen',\n    edit: 'Bearbeiten',\n    view: 'Aussicht'\n};\n\nexport default generalLangDe;\n"
  },
  {
    "path": "resources/js/Lang/de/main_menu_lang_de.js",
    "content": "const mainMenuLangDe = {\n    authPages: \"Auth-Seiten\",\n    authLogin: \"Anmeldung\",\n    authRegister: \"Registrieren\",\n    authForgotPassword: \"Passwort vergessen\",\n    authLockScreen: \"Bildschirm sperren\",\n    authProfile: \"Profile\",\n    components: \"Komponenten\",\n    componentAlert: \"Alarm\",\n    componentAvatar: \"Benutzerbild\",\n    componentBadge: \"Abzeichen\",\n    componentBreadcrumb: \"Breadcrumb\",\n    componentButton: \"Taste\",\n    componentCollapsible: \"Zusammenklappbar\",\n    componentContentBox: \"Inhaltsfeld\",\n    componentDropdown: \"Dropdown-Liste\",\n    componentList: \"Liste\",\n    componentLoading: \"Wird geladen\",\n    componentModal: \"Modal\",\n    componentPagination: \"Seitennummerierung\",\n    componentProgressBar: \"Fortschrittsanzeige\",\n    componentStatisticWidget: \"Statistik-Widget\",\n    componentTab: \"Tab\",\n    componentTable: \"Tabelle\",\n    componentTableJson: \"Tabelle(JSON)\",\n    componentTableBackend: \"Tabelle(BackEnd)\",\n    componentTooltip: \"Kurzinfo\",\n    layoutElements: \"Layout-Elemente\",\n    layoutStructure: \"Layoutstruktur\",\n    layoutGrid: \"Netz\",\n    formElements: \"Formularelemente\",\n    formStructure: \"Formularstruktur\",\n    formInputGroup: \"Eingangsgruppe\",\n    formSimpleInputs: \"Einfache Eingaben\",\n    formRepeatableInput: \"Wiederholbare Eingabe\",\n    formDateTimeInput: \"Datum/Uhrzeit-Eingabe\",\n    formSelectInput: \"Wählen Sie Eingang\",\n    externalSources: \"Externe Quellen\",\n    externalGitHubRepo: 'Github-Repo',\n    externalTailwindcssDocument: \"TailwindCSS-Dokument\",\n    externalVuejsDocument: \"Vuejs-Dokument\",\n    externalInertiaDocument: \"Inertiajs-Dokument\",\n    externalLaravelDocument: \"Laravel-Dokument\",\n    footerHelp: \"Hilfe\",\n    footerSettings: \"Einstellungen\"\n};\n\nexport default mainMenuLangDe;\n"
  },
  {
    "path": "resources/js/Lang/de/notification_lang_de.js",
    "content": "const notification_de = {\n    pendingWorks: 'Ausstehende Arbeiten',\n    unfinishedTodos: 'Laufende Aufgaben',\n    unreadMessages: 'ungelesene Nachrichten'\n};\n\nexport default notification_de;\n"
  },
  {
    "path": "resources/js/Lang/de/user_menu_lang_de.js",
    "content": "const userMenuLangDe = {\n    manageAccount: \"Manage Account\",\n    manageTeam: \"Manage Team\",\n    switchTeams: \"Switch Team\",\n    language: \"Language\",\n    darkMode: \"Dark Mode\",\n    profile: \"Profile\",\n    api: \"API Tokens\",\n    teamSettings: \"Team Settings\",\n    createNewTeam: \"Create New Team\",\n    auto: \"Auto\",\n    dark: \"Dark\",\n    light: \"Light\",\n    logout: \"Logout\"\n};\n\nexport default userMenuLangDe;\n"
  },
  {
    "path": "resources/js/Lang/en/auth_lang_en.js",
    "content": "const authLangEn = {\n    name: \"Name\",\n    email: \"Email\",\n    password: \"Password\",\n    rememberMe: \"Remember me\",\n    forgotPassword: \"Forgot your password?\",\n    passwordConfirmation: \"Confirm Password\",\n    login: \"Login\",\n    logout: \"Logout\",\n    register: \"Register\",\n    alreadyRegistered: \"Already registered?\",\n    terms: \"{0} {1} {2} {3}\",\n    iAgreeToThe: \"I agree to the\",\n    termsOfService: \"Terms of Service\",\n    and: \"and\",\n    privacyPolicy: \"Privacy Policy\",\n    emailPasswordResetLink: \"Email Password Reset Link\",\n    backToLogin: \"Back to Login\",\n    forgotPasswordGreeting: \"Forgot your password? No problem.\",\n    forgotPasswordSubGreeting: \"Enter your email address and we will send you a link to reset your password.\",\n    registerGreeting: \"Register for a new account\",\n    loginGreeting: \"Login to your account\",\n    reLogin: \"Re-Login\",\n    validationMessage: {\n        name: {\n            required: \"The name filed is required\"\n        },\n        email: {\n            required: \"The email filed is required\",\n            email: \"The email must be a valid email address\"\n        },\n        password: {\n            required: \"The password filed is required\"\n        },\n        passwordConfirmation: {\n            required: \"The password confirmation filed is required\"\n        }\n    }\n};\n\nexport default authLangEn;\n"
  },
  {
    "path": "resources/js/Lang/en/general_lang_en.js",
    "content": "const generalLangEn = {\n    brandName: \"LaraQuality\",\n    /* Theme */\n    darkMode: \"Dark Mode\",\n    lightMode: \"Light Mode\",\n    auto: \"Auto\",\n    /* Error */\n    somethingWentWrong: \"Oops, Something went wrong\",\n    /* Simple Terms */\n    save: 'Save',\n    reset: 'Reset',\n    cancel: 'Cancel',\n    delete: 'Delete',\n    edit: 'Edit',\n    view: 'View'\n};\n\nexport default generalLangEn;\n"
  },
  {
    "path": "resources/js/Lang/en/main_menu_lang_en.js",
    "content": "const mainMenuLangEn = {\n    authPages: \"Auth Pages\",\n    authLogin: \"Login\",\n    authRegister: \"Register\",\n    authForgotPassword: \"Forgot Password\",\n    authLockScreen: \"Lock Screen\",\n    authProfile: \"Profile\",\n    components: \"Components\",\n    componentAlert: \"Alert\",\n    componentAvatar: \"Avatar\",\n    componentBadge: \"Badge\",\n    componentBreadcrumb: \"Breadcrumb\",\n    componentButton: \"Button\",\n    componentCollapsible: \"Collapsible\",\n    componentContentBox: \"Content Box\",\n    componentDropdown: \"Dropdown\",\n    componentList: \"List\",\n    componentLoading: \"Loading\",\n    componentModal: \"Modal\",\n    componentPagination: \"Pagination\",\n    componentProgressBar: \"Progress Bar\",\n    componentStatisticWidget: \"Statistic Widget\",\n    componentTab: \"Tab\",\n    componentTable: \"Table\",\n    componentTableJson: \"Table(JSON)\",\n    componentTableBackend: \"Table(BackEnd)\",\n    componentTooltip: \"Tooltip\",\n    layoutElements: \"Layout Elements\",\n    layoutStructure: \"Layout Structure\",\n    layoutGrid: \"Grid\",\n    formElements: \"Form Elements\",\n    formStructure: \"Form Structure\",\n    formInputGroup: \"Input Group\",\n    formSimpleInputs: \"Simple Inputs\",\n    formRepeatableInput: \"Repeatable Input\",\n    formDateTimeInput: \"Date/Time Input\",\n    formSelectInput: \"Select Input\",\n    externalSources: \"External Sources\",\n    externalGitHubRepo: 'Github Repo',\n    externalTailwindcssDocument: \"TailwindCSS Document\",\n    externalVuejsDocument: \"Vuejs Document\",\n    externalInertiaDocument: \"Inertiajs Document\",\n    externalLaravelDocument: \"Laravel Document\",\n    footerHelp: \"Help\",\n    footerSettings: \"Settings\"\n};\n\nexport default mainMenuLangEn;\n"
  },
  {
    "path": "resources/js/Lang/en/notification_lang_en.js",
    "content": "const notification_en = {\n    pendingWorks: 'Pending Works',\n    unfinishedTodos: 'Unfinished Todos',\n    unreadMessages: 'Unread Messages'\n};\n\nexport default notification_en;\n"
  },
  {
    "path": "resources/js/Lang/en/pagination_lang.js",
    "content": "const pagination_en = {\n    detailText: \"{totalPage} pages - {totalRecord} records\",\n    previous: \"Previous\",\n    next: \"Next\",\n}\nexport default pagination_en\n"
  },
  {
    "path": "resources/js/Lang/en/table_lang.js",
    "content": "const table_en = {\n    searchPlaceHolder: \"search\",\n    optionsModalTitle: \"Table Options\",\n    optionsModalColumnOrder: \"Column Order and Visibility\",\n    anyContentMessage: \"There is any content for your search criteria\",\n    advancedSearch: \"Advanced Search\",\n    itemsCountPerPage : \"Items Count in a page\",\n    actionView: \"View\",\n    actionEdit: \"Edit\",\n    actionDelete: \"Delete\",\n    missing: \"Missing\",\n    contentKeyError: \"Content Key is missing, please add a content key. It comes from controller. <br>Example: '<b><i>users</i></b>'=>Users::all()\",\n    searchRouteError: \"Search route is missing, please add a search route. The search route is where the search parameters posted route (same page route) like <b><i>user.index</i></b>.\",\n    contentError: \"Content is missing, please add a content dataset. It comes from controller. <br>Example: '<b><i>users</i></b>'=>Users::all()\",\n    headerError: \"Header is missing, please add a header dataset. The table needs it for showing data columns.\"\n}\nexport default table_en\n"
  },
  {
    "path": "resources/js/Lang/en/user_menu_lang_en.js",
    "content": "const userMenuLangEn = {\n    manageAccount: \"Manage Account\",\n    manageTeam: \"Manage Team\",\n    switchTeams: \"Switch Team\",\n    language: \"Language\",\n    darkMode: \"Dark Mode\",\n    profile: \"Profile\",\n    api: \"API Tokens\",\n    teamSettings: \"Team Settings\",\n    createNewTeam: \"Create New Team\",\n    auto: \"Auto\",\n    dark: \"Dark\",\n    light: \"Light\",\n    logout: \"Logout\"\n};\n\nexport default userMenuLangEn;\n"
  },
  {
    "path": "resources/js/Lang/fr/auth_lang_fr.js",
    "content": "const authLangFr = {\n    name: \"Nom\",\n    email: \"Email\",\n    password: \"Mot de passe\",\n    rememberMe: \"Souviens-toi de moi\",\n    forgotPassword: \"Mot de passe oublié?\",\n    passwordConfirmation: \"Confirmer le mot de passe\",\n    login: \"Connexion\",\n    logout: \"Se déconnecter\",\n    register: \"Registre\",\n    alreadyRegistered: \"Déjà enregistré?\",\n    terms: \"{0} {1} {2} {3}\",\n    iAgreeToThe: \"Je suis d'accord avec les\",\n    termsOfService: \"Conditions d'utilisation\",\n    and: \"et\",\n    privacyPolicy: \"Politique de confidentialité\",\n    emailPasswordResetLink: \"Lien de réinitialisation du mot de passe par e-mail\",\n    backToLogin: \"Retour à la connexion\",\n    forgotPasswordGreeting: \"Mot de passe oublié? Pas de problème.\",\n    forgotPasswordSubGreeting: \"Entrez votre adresse e-mail et nous vous enverrons un lien pour réinitialiser votre mot de passe.\",\n    registerGreeting: \"Inscrivez-vous pour un nouveau compte\",\n    loginGreeting: \"Connectez-vous à votre compte\",\n    reLogin: \"Re-Login\",\n    validationMessage: {\n        name: {\n            required: \"Le champ nom est obligatoire\"\n        },\n        email: {\n            required: \"Le champ email est obligatoire\",\n            email: \"L'e-mail doit être une adresse e-mail valide\"\n        },\n        password: {\n            required: \"Le champ mot de passe est obligatoire\"\n        },\n        passwordConfirmation: {\n            required: \"Le champ de confirmation du mot de passe est obligatoire\"\n        }\n    }\n};\n\nexport default authLangFr;\n"
  },
  {
    "path": "resources/js/Lang/fr/general_lang_fr.js",
    "content": "const generalLangFr = {\n    brandName: \"LaraQuality\",\n    /* Theme */\n    darkMode: \"Thème sombre\",\n    lightMode: \"Thème de la lumière\",\n    auto: \"Auto\",\n    /* Error */\n    somethingWentWrong: \"Oups, quelque chose s'est mal passé\",\n    /* Simple Terms */\n    save: 'Sauvegarder',\n    reset: 'Réinitialiser',\n    cancel: 'Annuler',\n    delete: 'Supprimer',\n    edit: 'Éditer',\n    view: 'Voir'\n};\n\nexport default generalLangFr;\n"
  },
  {
    "path": "resources/js/Lang/fr/main_menu_lang_fr.js",
    "content": "const mainMenuLangFr = {\n    authPages: \"Pages d'authentification\",\n    authLogin: \"Connexion\",\n    authRegister: \"S'inscrire\",\n    authForgotPassword: \"Mot de passe oublié\",\n    authLockScreen: \"Écran verrouillé\",\n    authProfile: \"Profil\",\n    components: \"Composants\",\n    componentAlert: \"Alerte\",\n    componentAvatar: \"Avatar\",\n    componentBadge: \"Badge\",\n    componentBreadcrumb: \"Breadcrumb\",\n    componentButton: \"Bouton\",\n    componentCollapsible: \"Pliant\",\n    componentContentBox: \"Boîte de contenu\",\n    componentDropdown: \"Menu déroulant\",\n    componentList: \"Lister\",\n    componentLoading: \"Chargement\",\n    componentModal: \"Modal\",\n    componentPagination: \"Pagination\",\n    componentProgressBar: \"Barre de progression\",\n    componentStatisticWidget: \"Widget statistique\",\n    componentTab: \"Languette\",\n    componentTable: \"Table\",\n    componentTableJson: \"Tableau(JSON)\",\n    componentTableBackend: \"Tableau(BackEnd)\",\n    componentTooltip: \"Info-bulle\",\n    layoutElements: \"Éléments de mise en page\",\n    layoutStructure: \"Structure de mise en page\",\n    layoutGrid: \"Grille\",\n    formElements: \"Éléments de formulaire\",\n    formStructure: \"Structure du formulaire\",\n    formInputGroup: \"Groupe d'entrée\",\n    formSimpleInputs: \"Entrées simples\",\n    formRepeatableInput: \"Entrée répétable\",\n    formDateTimeInput: \"Entrée date/heure\",\n    formSelectInput: \"Sélectionnez l'entrée\",\n    externalSources: \"Sources externes\",\n    externalGitHubRepo: 'Dépôt Github',\n    externalTailwindcssDocument: \"TailwindCSS Document\",\n    externalVuejsDocument: \"Vuejs Document\",\n    externalInertiaDocument: \"Inertiajs Document\",\n    externalLaravelDocument: \"Laravel Document\",\n    footerHelp: \"Aider\",\n    footerSettings: \"Réglages\"\n};\n\nexport default mainMenuLangFr;\n"
  },
  {
    "path": "resources/js/Lang/fr/notification_lang_fr.js",
    "content": "const notification_fr = {\n    pendingWorks: 'Travaux en attente',\n    unfinishedTodos: 'Tâches en cours',\n    unreadMessages: 'Messages non lus'\n};\n\nexport default notification_fr;\n"
  },
  {
    "path": "resources/js/Lang/fr/user_menu_lang_fr.js",
    "content": "const userMenuLangFr = {\n    manageAccount: \"Manage Account\",\n    manageTeam: \"Manage Team\",\n    switchTeams: \"Switch Team\",\n    language: \"Language\",\n    darkMode: \"Dark Mode\",\n    profile: \"Profile\",\n    api: \"API Tokens\",\n    teamSettings: \"Team Settings\",\n    createNewTeam: \"Create New Team\",\n    auto: \"Auto\",\n    dark: \"Dark\",\n    light: \"Light\",\n    logout: \"Logout\"\n};\n\nexport default userMenuLangFr;\n"
  },
  {
    "path": "resources/js/Lang/languages.js",
    "content": "/* Flags */\nimport flagBg from \"@/Lang/Flags/flagBg.vue\";\nimport flagDe from \"@/Lang/Flags/flagDe.vue\";\nimport flagEn from \"@/Lang/Flags/flagEn.vue\";\nimport flagFr from \"@/Lang/Flags/flagFr.vue\";\nimport flagRu from \"@/Lang/Flags/flagRu.vue\";\nimport flagTr from \"@/Lang/Flags/flagTr.vue\";\nimport flagZh from \"@/Lang/Flags/flagZh.vue\";\n\n/* Languages */\nconst languages = [\n    { id: \"en\", name: \"English\", flag: flagEn },\n    { id: \"tr\", name: \"Türkçe\", flag: flagTr },\n    { id: \"bg\", name: \"български\", flag: flagBg },\n    { id: \"de\", name: \"Deutsch\", flag: flagDe },\n    { id: \"fr\", name: \"Français\", flag: flagFr },\n    { id: \"ru\", name: \"Pусский\", flag: flagRu },\n    { id: \"zh\", name: \"自从\", flag: flagZh },\n];\n\n/* Translates */\n\n/* Auth Translates */\nimport authLangBg from \"@/Lang/bg/auth_lang_bg\";\nimport authLangDe from \"@/Lang/de/auth_lang_de\";\nimport authLangEn from \"@/Lang/en/auth_lang_en\";\nimport authLangFr from \"@/Lang/fr/auth_lang_fr\";\nimport authLangRu from \"@/Lang/ru/auth_lang_ru\";\nimport authLangTr from \"@/Lang/tr/auth_lang_tr\";\nimport authLangZh from \"@/Lang/zh/auth_lang_zh\";\nconst authTranslates = {\n    bg: authLangBg,\n    de: authLangDe,\n    en: authLangEn,\n    fr: authLangFr,\n    ru: authLangRu,\n    tr: authLangTr,\n    zh: authLangZh,\n};\n\n/*Side Menu Translates*/\nimport mainMenuLangBg from \"@/Lang/bg/main_menu_lang_bg\";\nimport mainMenuLangDe from \"@/Lang/de/main_menu_lang_de\";\nimport mainMenuLangEn from \"@/Lang/en/main_menu_lang_en\";\nimport mainMenuLangFr from \"@/Lang/fr/main_menu_lang_fr\";\nimport mainMenuLangRu from \"@/Lang/ru/main_menu_lang_ru\";\nimport mainMenuLangTr from \"@/Lang/tr/main_menu_lang_tr\";\nimport mainMenuLangZh from \"@/Lang/zh/main_menu_lang_zh\";\nconst mainMenuTranslates = {\n    bg: mainMenuLangBg,\n    de: mainMenuLangDe,\n    en: mainMenuLangEn,\n    fr: mainMenuLangFr,\n    ru: mainMenuLangRu,\n    tr: mainMenuLangTr,\n    zh: mainMenuLangZh,\n};\n\n/*User Menu Translates*/\nimport userMenuLangBg from \"@/Lang/bg/user_menu_lang_bg\";\nimport userMenuLangDe from \"@/Lang/de/user_menu_lang_de\";\nimport userMenuLangEn from \"@/Lang/en/user_menu_lang_en\";\nimport userMenuLangFr from \"@/Lang/fr/user_menu_lang_fr\";\nimport userMenuLangRu from \"@/Lang/ru/user_menu_lang_ru\";\nimport userMenuLangTr from \"@/Lang/tr/user_menu_lang_tr\";\nimport userMenuLangZh from \"@/Lang/zh/user_menu_lang_zh\";\nconst userMenuTranslates = {\n    bg: userMenuLangBg,\n    de: userMenuLangDe,\n    en: userMenuLangEn,\n    fr: userMenuLangFr,\n    ru: userMenuLangRu,\n    tr: userMenuLangTr,\n    zh: userMenuLangZh,\n};\n\n/*Notification Translates*/\nimport notificationLangBg from \"@/Lang/bg/notification_lang_bg\";\nimport notificationLangDe from \"@/Lang/de/notification_lang_de\";\nimport notificationLangEn from \"@/Lang/en/notification_lang_en\";\nimport notificationLangFr from \"@/Lang/fr/notification_lang_fr\";\nimport notificationLangRu from \"@/Lang/ru/notification_lang_ru\";\nimport notificationLangTr from \"@/Lang/tr/notification_lang_tr\";\nimport notificationLangZh from \"@/Lang/zh/notification_lang_zh\";\nconst notificationTranslates = {\n    bg: notificationLangBg,\n    de: notificationLangDe,\n    en: notificationLangEn,\n    fr: notificationLangFr,\n    ru: notificationLangRu,\n    tr: notificationLangTr,\n    zh: notificationLangZh,\n};\n\nexport {\n    languages,\n    authTranslates,\n    mainMenuTranslates,\n    userMenuTranslates,\n    notificationTranslates\n};\n"
  },
  {
    "path": "resources/js/Lang/ru/auth_lang_ru.js",
    "content": "const authLangRu = {\n    email: \"Электронное письмо\",\n    password: \"Пароль\",\n    rememberMe: \"Запомните меня\",\n    forgotPassword: \"Забыли Ваш пароль?\",\n    passwordConfirmation: \"Подтвердите пароль\",\n    login: \"Входить\",\n    logout: \"Выйти\",\n    register: \"Pегистр\",\n    alreadyRegistered: \"Уже зарегистрированы?\",\n    terms: \"{0} {1} {2} {3}\",\n    iAgreeToThe: \"Я согласен с\",\n    termsOfService: \"Условия использования\",\n    and: \"и\",\n    privacyPolicy: \"Политика конфиденциальности\",\n    emailPasswordResetLink: \"Ссылка для сброса пароля по электронной почте\",\n    backToLogin: \"Назад к входу\",\n    forgotPasswordGreeting: \"Забыли пароль? Никаких проблем.\",\n    forgotPasswordSubGreeting: \"Введите свой адрес электронной почты, и мы отправим вам ссылку для сброса пароля.\",\n    registerGreeting: \"Регистрирайте се за нов акаунт\",\n    loginGreeting: \"Влезте в акаунта си\",\n    reLogin: \"Войти снова\",\n    validationMessage: {\n        email: {\n            required: \"Поле электронной почты обязательно\",\n            email: \"Электронная почта должна быть действительным адресом электронной почты\"\n        },\n        password: {\n            required: \"Поле пароля обязательно\"\n        },\n        passwordConfirmation: {\n            required: \"Поле подтверждения пароля обязательно\"\n        }\n    }\n};\n\nexport default authLangRu;\n"
  },
  {
    "path": "resources/js/Lang/ru/general_lang_ru.js",
    "content": "const generalLangRu = {\n    brandName: \"LaraQuality\",\n    /* Theme */\n    darkMode: \"Темная тема\",\n    lightMode: \"Светлая тема\",\n    auto: \"Автоматический\",\n    /* Error */\n    somethingWentWrong: \"Упс! Что-то пошло не так\",\n    /* Simple Terms */\n    save: 'Сохранять',\n    reset: 'Перезагрузить',\n    cancel: 'Отмена',\n    delete: 'Удалить',\n    edit: 'Редактировать',\n    view: 'Вид'\n};\n\nexport default generalLangRu;\n"
  },
  {
    "path": "resources/js/Lang/ru/main_menu_lang_ru.js",
    "content": "const mainMenuLangRu = {\n    authPages: \"Страницы авторизации\",\n    authLogin: \"Авторизоваться\",\n    authRegister: \"регистр\",\n    authForgotPassword: \"Забыл пароль\",\n    authLockScreen: \"Экран блокировки\",\n    authProfile: \"Профиль\",\n    components: \"Компоненты\",\n    componentAlert: \"Тревога\",\n    componentAvatar: \"Аватар\",\n    componentBadge: \"Значок\",\n    componentBreadcrumb: \"хлебные крошки\",\n    componentButton: \"Кнопка\",\n    componentCollapsible: \"Складной\",\n    componentContentBox: \"Коробка содержимого\",\n    componentDropdown: \"падать\",\n    componentList: \"Список\",\n    componentLoading: \"Загрузка\",\n    componentModal: \"Модальный\",\n    componentPagination: \"Пагинация\",\n    componentProgressBar: \"Индикатор\",\n    componentStatisticWidget: \"Статистический виджет\",\n    componentTab: \"Вкладка\",\n    componentTable: \"Таблица\",\n    componentTableJson: \"Таблица(JSON)\",\n    componentTableBackend: \"Таблица(BackEnd)\",\n    componentTooltip: \"Подсказка\",\n    layoutElements: \"Элементы макета\",\n    layoutStructure: \"Структура макета\",\n    layoutGrid: \"Сетка\",\n    formElements: \"Элементы формы\",\n    formStructure: \"Структура формы\",\n    formInputGroup: \"Входная группа\",\n    formSimpleInputs: \"Простые входы\",\n    formRepeatableInput: \"Повторяемый ввод\",\n    formDateTimeInput: \"Ввод даты/времени\",\n    formSelectInput: \"Выберите ввод\",\n    externalSources: \"Внешние источники\",\n    externalGitHubRepo: 'Репозиторий Github',\n    externalTailwindcssDocument: \"Документ TailwindCSS\",\n    externalVuejsDocument: \"Документ Vuejs\",\n    externalInertiaDocument: \"Документ Inertiajs\",\n    externalLaravelDocument: \"Документ Laravel\",\n    footerHelp: \"Помощь\",\n    footerSettings: \"Настройки\"\n};\n\nexport default mainMenuLangRu;\n"
  },
  {
    "path": "resources/js/Lang/ru/notification_lang_ru.js",
    "content": "const notification_ru = {\n    pendingWorks: 'Ожидающие работы',\n    unfinishedTodos: 'Текущие дела',\n    unreadMessages: 'Непрочитанные сообщения'\n};\n\nexport default notification_ru;\n"
  },
  {
    "path": "resources/js/Lang/ru/user_menu_lang_ru.js",
    "content": "const userMenuLangRu = {\n    manageAccount: \"Manage Account\",\n    manageTeam: \"Manage Team\",\n    switchTeams: \"Switch Team\",\n    language: \"Language\",\n    darkMode: \"Dark Mode\",\n    profile: \"Profile\",\n    api: \"API Tokens\",\n    teamSettings: \"Team Settings\",\n    createNewTeam: \"Create New Team\",\n    auto: \"Auto\",\n    dark: \"Dark\",\n    light: \"Light\",\n    logout: \"Logout\"\n};\n\nexport default userMenuLangRu;\n"
  },
  {
    "path": "resources/js/Lang/tr/auth_lang_tr.js",
    "content": "const authLangTr = {\n    name: \"İsim\",\n    email: \"Eposta\",\n    password: \"Şifre\",\n    rememberMe: \"Beni Hatırla\",\n    forgotPassword: \"Şifreni unuttun mu?\",\n    passwordConfirmation: \"Şifreyi Onayla\",\n    login: \"Giriş\",\n    logout: \"Çıkış\",\n    register: \"Kayıt\",\n    alreadyRegistered: \"Zaten hesabın var mı?\",\n    terms: \"{0} {1} {2} {3}\",\n    iAgreeToThe: \"kabul ediyorum\",\n    termsOfService: \"Hizmet Şartlarını\",\n    and: \"ve\",\n    privacyPolicy: \"Gizlilik Politikasını\",\n    emailPasswordResetLink: \"E-posta Şifre Sıfırlama Bağlantısı\",\n    backToLogin: \"Girişe Geri Dön\",\n    forgotPasswordGreeting: \"Şifrenizi mi unuttunuz? Sorun değil.\",\n    forgotPasswordSubGreeting: \"E-posta adresinizi girin ve size bir şifre sıfırlama bağlantısı göndereceğiz.\",\n    registerGreeting: \"Yeni bir hesap için kaydolun\",\n    loginGreeting: \"Hesabınıza giriş yapın\",\n    reLogin: \"Tekrar Giriş Yap\",\n    validationMessage: {\n        name: {\n            required: \"İsim gereklidir\"\n        },\n        email: {\n            required: \"Email adresi gereklidir\",\n            email: \"Email adresi geçerli değil\"\n        },\n        password: {\n            required: \"Şifre gereklidir\"\n        },\n        passwordConfirmation: {\n            required: \"Şifre onayı gereklidir\"\n        }\n    }\n};\n\nexport default authLangTr;\n"
  },
  {
    "path": "resources/js/Lang/tr/general_lang_tr.js",
    "content": "const generalLangTr = {\n    brandName: \"LaraQuality\",\n    /* Theme */\n    darkMode: \"Aydınlık Tema\",\n    lightMode: \"Karanlık Tema\",\n    auto: \"Otomatik\",\n    /* Error */\n    somethingWentWrong: \"Üzügünüz! Birşeyler yanlış gitti\",\n    /* Simple Terms */\n    save: 'Kaydet',\n    reset: 'Sıfırla',\n    cancel: 'İptal Et',\n    delete: 'Sil',\n    edit: 'Düzenle',\n    view: 'Görüntüle'\n};\n\nexport default generalLangTr;\n"
  },
  {
    "path": "resources/js/Lang/tr/main_menu_lang_tr.js",
    "content": "const mainMenuLangTr = {\n    authPages: \"Kullanıcı Sayfaları\",\n    authLogin: \"Giriş\",\n    authRegister: \"Kayıt\",\n    authForgotPassword: \"Şifremi Unuttum\",\n    authLockScreen: \"Kilit Ekranı\",\n    authProfile: \"Profil\",\n    components: \"Komponentler\",\n    componentAlert: \"Alert\",\n    componentAvatar: \"Avatar\",\n    componentBadge: \"Rozet\",\n    componentBreadcrumb: \"Breadcrumb\",\n    componentButton: \"Düğme\",\n    componentCollapsible: \"Açılır Liste\",\n    componentContentBox: \"İçerik Kutusu\",\n    componentDropdown: \"Açılır Menü\",\n    componentList: \"Liste\",\n    componentLoading: \"Yükleniyor Ekranı\",\n    componentModal: \"Açılır Pencere\",\n    componentPagination: \"Sayfalandırma\",\n    componentProgressBar: \"İlerleme Göstergesi\",\n    componentStatisticWidget: \"İstatistik Kutusu\",\n    componentTab: \"Sekme\",\n    componentTable: \"Tablo\",\n    componentTableJson: \"Tablo(JSON)\",\n    componentTableBackend: \"Tablo(BackEnd)\",\n    componentTooltip: \"Bilgi Baloncuğu\",\n    layoutElements: \"Yerleşim Bileşenleri\",\n    layoutStructure: \"Yerleşim Yapısı\",\n    layoutGrid: \"Izgara\",\n    formElements: \"Form Bileşenleri\",\n    formStructure: \"Form Yapısı\",\n    formInputGroup: \"Input Grup\",\n    formSimpleInputs: \"Klasik Inputlar\",\n    formRepeatableInput: \"Tekrarlanabilir Input\",\n    formDateTimeInput: \"Tarih/Zaman Input\",\n    formSelectInput: \"Select Input\",\n    externalSources: \"Dış Kaynaklar\",\n    externalGitHubRepo: 'Github Repo',\n    externalTailwindcssDocument: \"TailwindCSS Dökümanı\",\n    externalVuejsDocument: \"Vuejs Dökümanı\",\n    externalInertiaDocument: \"Inertiajs Dökümanı\",\n    externalLaravelDocument: \"Laravel Dökümanı\",\n    footerHelp: \"Yardım\",\n    footerSettings: \"Ayarlar\",\n};\n\nexport default mainMenuLangTr;\n"
  },
  {
    "path": "resources/js/Lang/tr/notification_lang_tr.js",
    "content": "const notification_ = {\n    pendingWorks: 'Bekleyen İşler',\n    unfinishedTodos: 'Devam Eden Yapılacaklar',\n    unreadMessages: 'Okunmamış Mesajlar'\n};\n\nexport default notification_;\n"
  },
  {
    "path": "resources/js/Lang/tr/pagination_lang.js",
    "content": "const pagination_tr = {\n    detailText: \"Toplam: {totalPage} sayfa {totalRecord} kayıt\",\n    previous: \"Önceki\",\n    next: \"Sonraki\",\n}\n\nexport default pagination_tr\n"
  },
  {
    "path": "resources/js/Lang/tr/table_lang.js",
    "content": "const table_tr = {\n    searchPlaceHolder: \"Ara\",\n    optionsModalTitle: \"Tablo Özellikleri\",\n    optionsModalColumnOrder: \"Sütunları Sırala veya Gizle\",\n    anyContentMessage: \"Aradığınız kriterde içerik bulunamadı\",\n    advancedSearch: \"Detaylı Arama\",\n    itemsCountPerPage : \"Sayfadaki eleman sayısı\",\n    actionView: \"İncele\",\n    actionEdit: \"Düzenle\",\n    actionDelete: \"Sil\",\n    missing: \"Eksik\",\n    contentKeyError: \"Content Key eksik, lütfen content key değerini belirleyiniz. Bu değer ilgili kontrollerinizden gelir. Örnek: '<b><i>users</i></b>'=>Users::all()\",\n    searchRouteError: \"Search route eksik, lütfen search route değerini belirleyiniz. Arama sorgularınızın gönderileceği yoldur(route), genellikle tablonuzun bulunduğu sayfa ile aynı routedir. Örnek: <b><i>user.index</i></b>.\",\n    contentError: \"Content veri seti eksik, lütfen bir içerik seti(content) ekleyiniz. Bu değer ilgili kontrollerinizden gelir. Örnek: '<b><i>users</i></b>'=>Users::all()\",\n    headerError: \"Header veri seti eksik, lütfen header veri setini ekleyiniz. Tablonuzdaki sütünlarda hangi alanları göstereceğiniz belirlediğiniz ayar öğesidir.\"\n}\n\nexport default table_tr\n"
  },
  {
    "path": "resources/js/Lang/tr/user_menu_lang_tr.js",
    "content": "const userMenuLangTr = {\n    manageAccount: \"Hesap Yönetimi\",\n    manageTeam: \"Takım Yönetimi\",\n    switchTeams: \"Takım Değiştir\",\n    language: \"Dil\",\n    darkMode: \"Koyu Mod\",\n    profile: \"Profil\",\n    api: \"API Anahtarları\",\n    teamSettings: \"Takım Ayarları\",\n    createNewTeam: \"Yeni Takım Oluştur\",\n    auto: \"Otomatik\",\n    dark: \"Koyu\",\n    light: \"Açık\",\n    logout: \"Çıkış\"\n};\n\nexport default userMenuLangTr;\n"
  },
  {
    "path": "resources/js/Lang/zh/auth_lang_zh.js",
    "content": "const authLangZh = {\n    name: \"名称\",\n    email: \"电子邮件\",\n    password: \"密码\",\n    rememberMe: \"记得我\",\n    forgotPassword: \"忘记密码了吗？\",\n    passwordConfirmation: \"确认密码\",\n    login: \"登录\",\n    logout: \"登出\",\n    register: \"登记\",\n    alreadyRegistered: \"已经注册？\",\n    terms: \"{0} {1} {2} {3}\",\n    iAgreeToThe: \"我同意\",\n    termsOfService: \"服务条款\",\n    and: \"和\",\n    privacyPolicy: \"隐私政策\",\n    emailPasswordResetLink: \"电子邮件密码重置链接\",\n    backToLogin: \"返回登录\",\n    forgotPasswordGreeting: \"忘记密码？没问题。\",\n    forgotPasswordSubGreeting: \"输入您的电子邮件地址，我们将向您发送一个密码重置链接。\",\n    registerGreeting: \"注册新账户\",\n    loginGreeting: \"登录到您的账户\",\n    reLogin: \"重新登录\",\n    validationMessage: {\n        name: {\n            required: \"名称字段是必需的\"\n        },\n        email: {\n            required: \"电子邮件字段是必需的\",\n            email: \"电子邮件必须是有效的电子邮件地址\"\n        },\n        password: {\n            required: \"密码字段为必填项\"\n        },\n        passwordConfirmation: {\n            required: \"密码确认字段为必填项\"\n        }\n    }\n};\n\nexport default authLangZh;\n"
  },
  {
    "path": "resources/js/Lang/zh/general_lang_zh.js",
    "content": "const generalLangZh = {\n    brandName: \"LaraQuality\",\n    /* Theme */\n    darkMode: \"黑暗主题\",\n    lightMode: \"轻主题\",\n    auto: \"自动的\",\n    /* Error */\n    somethingWentWrong: \"哎呀！出事了\",\n    /* Simple Terms */\n    save: '保存',\n    reset: '重启',\n    cancel: '取消',\n    delete: '删除',\n    edit: '编辑',\n    view: '看法'\n};\n\nexport default generalLangZh;\n"
  },
  {
    "path": "resources/js/Lang/zh/main_menu_lang_zh.js",
    "content": "const mainMenuLangZh = {\n    authPages: \"认证页面\",\n    authLogin: \"登录\",\n    authRegister: \"登记\",\n    authForgotPassword: \"忘记密码\",\n    authLockScreen: \"锁屏\",\n    authProfile: \"轮廓\",\n    components: \"成分\",\n    componentAlert: \"警报\",\n    componentAvatar: \"阿凡达\",\n    componentBadge: \"徽章\",\n    componentBreadcrumb: \"面包屑\",\n    componentButton: \"按钮\",\n    componentCollapsible: \"可折叠\",\n    componentContentBox: \"内容框\",\n    componentDropdown: \"落下\",\n    componentList: \"列表\",\n    componentLoading: \"正在加载\",\n    componentModal: \"模态\",\n    componentPagination: \"分页\",\n    componentProgressBar: \"进度条\",\n    componentStatisticWidget: \"统计小部件\",\n    componentTab: \"标签\",\n    componentTable: \"桌子\",\n    componentTableJson: \"表(JSON)\",\n    componentTableBackend: \"表(BackEnd)\",\n    componentTooltip: \"工具提示\",\n    layoutElements: \"布局元素\",\n    layoutStructure: \"布局结构\",\n    layoutGrid: \"网格\",\n    formElements: \"表单元素\",\n    formStructure: \"表格结构\",\n    formInputGroup: \"输入组\",\n    formSimpleInputs: \"简单输入\",\n    formRepeatableInput: \"可重复输入\",\n    formDateTimeInput: \"日期/时间输入\",\n    formSelectInput: \"选择输入\",\n    externalSources: \"外部来源\",\n    externalGitHubRepo: 'Github 回购',\n    externalTailwindcssDocument: \"TailwindCSS 文档\",\n    externalVuejsDocument: \"Vuejs 文档\",\n    externalInertiaDocument: \"Inertiajs 文档\",\n    externalLaravelDocument: \"Laravel 文档\",\n    footerHelp: \"帮助\",\n    footerSettings: \"设置\"\n};\n\nexport default mainMenuLangZh;\n"
  },
  {
    "path": "resources/js/Lang/zh/notification_lang_zh.js",
    "content": "const notification_zh = {\n    pendingWorks: '待定作品',\n    unfinishedTodos: '正在进行的待办事项',\n    unreadMessages: '未读消息'\n};\n\nexport default notification_zh;\n"
  },
  {
    "path": "resources/js/Lang/zh/user_menu_lang_zh.js",
    "content": "const userMenuLangZh = {\n    manageAccount: \"Manage Account\",\n    manageTeam: \"Manage Team\",\n    switchTeams: \"Switch Team\",\n    language: \"Language\",\n    darkMode: \"Dark Mode\",\n    profile: \"Profile\",\n    api: \"API Tokens\",\n    teamSettings: \"Team Settings\",\n    createNewTeam: \"Create New Team\",\n    auto: \"Auto\",\n    dark: \"Dark\",\n    light: \"Light\",\n    logout: \"Logout\"\n};\n\nexport default userMenuLangZh;\n"
  },
  {
    "path": "resources/js/Layouts/AppLayout-new.vue",
    "content": "<template>\n  <div>\n    <Head :title=\"title\" />\n\n    <jet-banner />\n\n    <div\n      class=\"\n        min-h-screen\n        bg-gradient-to-l\n        from-indigo-400\n        to-blue-400\n        dark:bg-gradient-to-b dark:from-indigo-900 dark:to-slate-900\n        px-4\n        sm:px-12\n      \"\n    >\n      <!-- Top Bar -->\n      <div class=\"flex h-20 justify-between items-center text-white\">\n        <!-- Logo -->\n        <div class=\"flex space-x-2 items-center\">\n          <!-- TODO: [TAQ-128]Make dynamic with Media Library -->\n          <Logo class=\"w-10 h-10 text-white\" />\n          <span v-text=\"$page.props.project_info\" class=\"text-3xl\" />\n        </div>\n        <!-- Right Side -->\n        <div class=\"flex justify-end items-center space-x-2\">\n          <!-- Misc Menu -->\n          <Link :href=\"route('setting')\">\n            <icon\n              icon=\"cog\"\n              size=\"lg\"\n              class=\"\n                w-8\n                h-8\n                hover:-translate-y-1\n                active:translate-y-0 active:scale-90\n                transform\n                transition-all\n                duration-300\n              \"\n            />\n          </Link>\n          <!-- Dark Mode -->\n          <div\n            class=\"\n              flex\n              w-8\n              h-8\n              justify-center\n              items-center\n              rounded-full\n              cursor-pointer\n              overflow-hidden\n              text-white\n              hover:scale-110\n              active:scale-90\n              transform\n              transition-all\n              duration-300\n            \"\n            @click=\"\n              () => {\n                if (darkMode === 'light') {\n                  darkMode = 'dark';\n                } else if (darkMode === 'dark') {\n                  darkMode = 'auto';\n                } else {\n                  darkMode = 'light';\n                }\n              }\n            \"\n          >\n            <transition-group name=\"darkTransition\">\n              <!-- Light -->\n              <i\n                v-if=\"darkMode === 'light'\"\n                class=\"pi pi-sun\"\n                v-tooltip.bottom=\"tm('lightMode')\"\n                key=\"light\"\n                style=\"font-size: 1.3rem\"\n              ></i>\n              <!-- Auto -->\n              <i\n                v-if=\"darkMode === 'auto'\"\n                class=\"pi pi-palette\"\n                v-tooltip.bottom=\"tm('auto')\"\n                key=\"auto\"\n                style=\"font-size: 1.3rem\"\n              ></i>\n              <!-- Dark -->\n              <i\n                v-if=\"darkMode === 'dark'\"\n                class=\"pi pi-moon\"\n                v-tooltip.bottom=\"tm('darkMode')\"\n                key=\"dark\"\n                style=\"font-size: 1.3rem\"\n              ></i>\n            </transition-group>\n          </div>\n          <!-- Search -->\n          <div\n            v-if=\"!showSearchBar\"\n            class=\"\n              cursor-pointer\n              hover:-translate-y-1\n              active:translate-y-0 active:scale-90\n              transform\n              transition-all\n              duration-300\n            \"\n            @click=\"showSearchBar = !showSearchBar\"\n          >\n            <icon icon=\"search\" size=\"lg\" />\n          </div>\n          <!-- User Menu -->\n          <div></div>\n        </div>\n      </div>\n      <!-- Search Bar -->\n      <div v-if=\"showSearchBar\" class=\"relative text-slate-500\">\n        <icon icon=\"search\" size=\"lg\" class=\"absolute top-[1.125rem] left-4\" />\n        <input\n          v-model=\"searchText\"\n          class=\"\n            bg-white bg-opacity-60\n            h-14\n            w-full\n            rounded-t-md\n            border\n            px-12\n            text-2xl\n            placeholder-slate-500\n          \"\n          placeholder=\"Search\"\n        />\n        <!-- Clear Icon -->\n        <div\n          v-if=\"searchText\"\n          @click=\"searchText = ''\"\n          class=\"flex rounded-full hover:bg-white cursor-pointer\"\n        >\n          <icon\n            icon=\"times\"\n            size=\"lg\"\n            class=\"absolute top-[1.125rem] right-12\"\n          />\n        </div>\n\n        <!-- Close Icon -->\n        <icon\n          @click=\"\n            showSearchBar = false;\n            searchText = '';\n          \"\n          icon=\"level-up-alt\"\n          size=\"lg\"\n          class=\"absolute top-[1.125rem] right-4\"\n        />\n      </div>\n      <!-- Top Nav Bar -->\n      <!-- Content -->\n      <!-- Footer -->\n      <nav class=\"bg-white border-b border-gray-100\">\n        <!-- Primary Navigation Menu -->\n        <div class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8\">\n          <div class=\"flex justify-between h-16\">\n            <div class=\"flex\">\n              <!-- Logo -->\n              <div class=\"shrink-0 flex items-center\">\n                <Link :href=\"route('dashboard')\">\n                  <jet-application-mark class=\"block h-9 w-auto\" />\n                </Link>\n              </div>\n\n              <!-- Navigation Links -->\n              <div class=\"hidden space-x-8 sm:-my-px sm:ml-10 sm:flex\">\n                <jet-nav-link\n                  :href=\"route('dashboard')\"\n                  :active=\"route().current('dashboard')\"\n                >\n                  Dashboard\n                </jet-nav-link>\n              </div>\n            </div>\n\n            <div class=\"hidden sm:flex sm:items-center sm:ml-6\">\n              <div class=\"ml-3 relative\">\n                <!-- Teams Dropdown -->\n                <jet-dropdown\n                  align=\"right\"\n                  width=\"60\"\n                  v-if=\"$page.props.jetstream.hasTeamFeatures\"\n                >\n                  <template #trigger>\n                    <span class=\"inline-flex rounded-md\">\n                      <button\n                        type=\"button\"\n                        class=\"\n                          inline-flex\n                          items-center\n                          px-3\n                          py-2\n                          border border-transparent\n                          text-sm\n                          leading-4\n                          font-medium\n                          rounded-md\n                          text-gray-500\n                          bg-white\n                          hover:bg-gray-50 hover:text-gray-700\n                          focus:outline-none focus:bg-gray-50\n                          active:bg-gray-50\n                          transition\n                        \"\n                      >\n                        {{ $page.props.auth.user.current_team.name }}\n\n                        <svg\n                          class=\"ml-2 -mr-0.5 h-4 w-4\"\n                          xmlns=\"http://www.w3.org/2000/svg\"\n                          viewBox=\"0 0 20 20\"\n                          fill=\"currentColor\"\n                        >\n                          <path\n                            fill-rule=\"evenodd\"\n                            d=\"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\"\n                            clip-rule=\"evenodd\"\n                          />\n                        </svg>\n                      </button>\n                    </span>\n                  </template>\n\n                  <template #content>\n                    <div class=\"w-60\">\n                      <!-- Team Management -->\n                      <template v-if=\"$page.props.jetstream.hasTeamFeatures\">\n                        <div class=\"block px-4 py-2 text-xs text-gray-400\">\n                          Manage Team\n                        </div>\n\n                        <!-- Team Settings -->\n                        <jet-dropdown-link\n                          :href=\"\n                            route('teams.show', $page.props.auth.user.current_team)\n                          \"\n                        >\n                          Team Settings\n                        </jet-dropdown-link>\n\n                        <jet-dropdown-link\n                          :href=\"route('teams.create')\"\n                          v-if=\"$page.props.jetstream.canCreateTeams\"\n                        >\n                          Create New Team\n                        </jet-dropdown-link>\n\n                        <div class=\"border-t border-gray-100\"></div>\n\n                        <!-- Team Switcher -->\n                        <div class=\"block px-4 py-2 text-xs text-gray-400\">\n                          Switch Teams\n                        </div>\n\n                        <template\n                          v-for=\"team in $page.props.auth.user.all_teams\"\n                          :key=\"team.id\"\n                        >\n                          <form @submit.prevent=\"switchToTeam(team)\">\n                            <jet-dropdown-link as=\"button\">\n                              <div class=\"flex items-center\">\n                                <svg\n                                  v-if=\"\n                                    team.id == $page.props.auth.user.current_team_id\n                                  \"\n                                  class=\"mr-2 h-5 w-5 text-green-400\"\n                                  fill=\"none\"\n                                  stroke-linecap=\"round\"\n                                  stroke-linejoin=\"round\"\n                                  stroke-width=\"2\"\n                                  stroke=\"currentColor\"\n                                  viewBox=\"0 0 24 24\"\n                                >\n                                  <path\n                                    d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\n                                  ></path>\n                                </svg>\n                                <div>{{ team.name }}</div>\n                              </div>\n                            </jet-dropdown-link>\n                          </form>\n                        </template>\n                      </template>\n                    </div>\n                  </template>\n                </jet-dropdown>\n              </div>\n\n              <!-- Settings Dropdown -->\n              <div class=\"ml-3 relative\">\n                <jet-dropdown align=\"right\" width=\"48\">\n                  <template #trigger>\n                    <button\n                      v-if=\"$page.props.jetstream.managesProfilePhotos\"\n                      class=\"\n                        flex\n                        text-sm\n                        border-2 border-transparent\n                        rounded-full\n                        focus:outline-none focus:border-gray-300\n                        transition\n                      \"\n                    >\n                      <img\n                        class=\"h-8 w-8 rounded-full object-cover\"\n                        :src=\"$page.props.auth.user.profile_photo_url\"\n                        :alt=\"$page.props.auth.user.name\"\n                      />\n                    </button>\n\n                    <span v-else class=\"inline-flex rounded-md\">\n                      <button\n                        type=\"button\"\n                        class=\"\n                          inline-flex\n                          items-center\n                          px-3\n                          py-2\n                          border border-transparent\n                          text-sm\n                          leading-4\n                          font-medium\n                          rounded-md\n                          text-gray-500\n                          bg-white\n                          hover:text-gray-700\n                          focus:outline-none\n                          transition\n                        \"\n                      >\n                        {{ $page.props.auth.user.name }}\n\n                        <svg\n                          class=\"ml-2 -mr-0.5 h-4 w-4\"\n                          xmlns=\"http://www.w3.org/2000/svg\"\n                          viewBox=\"0 0 20 20\"\n                          fill=\"currentColor\"\n                        >\n                          <path\n                            fill-rule=\"evenodd\"\n                            d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\"\n                            clip-rule=\"evenodd\"\n                          />\n                        </svg>\n                      </button>\n                    </span>\n                  </template>\n\n                  <template #content>\n                    <!-- Account Management -->\n                    <div class=\"block px-4 py-2 text-xs text-gray-400\">\n                      Manage Account\n                    </div>\n\n                    <jet-dropdown-link :href=\"route('profile.show')\">\n                      Profile\n                    </jet-dropdown-link>\n\n                    <jet-dropdown-link\n                      :href=\"route('api-tokens.index')\"\n                      v-if=\"$page.props.jetstream.hasApiFeatures\"\n                    >\n                      API Tokens\n                    </jet-dropdown-link>\n\n                    <div class=\"border-t border-gray-100\"></div>\n\n                    <!-- Authentication -->\n                    <form @submit.prevent=\"logout\">\n                      <jet-dropdown-link as=\"button\">\n                        Log Out\n                      </jet-dropdown-link>\n                    </form>\n                  </template>\n                </jet-dropdown>\n              </div>\n            </div>\n\n            <!-- Hamburger -->\n            <div class=\"-mr-2 flex items-center sm:hidden\">\n              <button\n                @click=\"showingNavigationDropdown = !showingNavigationDropdown\"\n                class=\"\n                  inline-flex\n                  items-center\n                  justify-center\n                  p-2\n                  rounded-md\n                  text-gray-400\n                  hover:text-gray-500 hover:bg-gray-100\n                  focus:outline-none focus:bg-gray-100 focus:text-gray-500\n                  transition\n                \"\n              >\n                <svg\n                  class=\"h-6 w-6\"\n                  stroke=\"currentColor\"\n                  fill=\"none\"\n                  viewBox=\"0 0 24 24\"\n                >\n                  <path\n                    :class=\"{\n                      hidden: showingNavigationDropdown,\n                      'inline-flex': !showingNavigationDropdown,\n                    }\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                    stroke-width=\"2\"\n                    d=\"M4 6h16M4 12h16M4 18h16\"\n                  />\n                  <path\n                    :class=\"{\n                      hidden: !showingNavigationDropdown,\n                      'inline-flex': showingNavigationDropdown,\n                    }\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                    stroke-width=\"2\"\n                    d=\"M6 18L18 6M6 6l12 12\"\n                  />\n                </svg>\n              </button>\n            </div>\n          </div>\n        </div>\n\n        <!-- Responsive Navigation Menu -->\n        <div\n          :class=\"{\n            block: showingNavigationDropdown,\n            hidden: !showingNavigationDropdown,\n          }\"\n          class=\"sm:hidden\"\n        >\n          <div class=\"pt-2 pb-3 space-y-1\">\n            <jet-responsive-nav-link\n              :href=\"route('dashboard')\"\n              :active=\"route().current('dashboard')\"\n            >\n              Dashboard\n            </jet-responsive-nav-link>\n          </div>\n\n          <!-- Responsive Settings Options -->\n          <div class=\"pt-4 pb-1 border-t border-gray-200\">\n            <div class=\"flex items-center px-4\">\n              <div\n                v-if=\"$page.props.jetstream.managesProfilePhotos\"\n                class=\"shrink-0 mr-3\"\n              >\n                <img\n                  class=\"h-10 w-10 rounded-full object-cover\"\n                  :src=\"$page.props.auth.user.profile_photo_url\"\n                  :alt=\"$page.props.auth.user.name\"\n                />\n              </div>\n\n              <div>\n                <div class=\"font-medium text-base text-gray-800\">\n                  {{ $page.props.auth.user.name }}\n                </div>\n                <div class=\"font-medium text-sm text-gray-500\">\n                  {{ $page.props.auth.user.email }}\n                </div>\n              </div>\n            </div>\n\n            <div class=\"mt-3 space-y-1\">\n              <jet-responsive-nav-link\n                :href=\"route('profile.show')\"\n                :active=\"route().current('profile.show')\"\n              >\n                Profile\n              </jet-responsive-nav-link>\n\n              <jet-responsive-nav-link\n                :href=\"route('api-tokens.index')\"\n                :active=\"route().current('api-tokens.index')\"\n                v-if=\"$page.props.jetstream.hasApiFeatures\"\n              >\n                API Tokens\n              </jet-responsive-nav-link>\n\n              <!-- Authentication -->\n              <form method=\"POST\" @submit.prevent=\"logout\">\n                <jet-responsive-nav-link as=\"button\">\n                  Log Out\n                </jet-responsive-nav-link>\n              </form>\n\n              <!-- Team Management -->\n              <template v-if=\"$page.props.jetstream.hasTeamFeatures\">\n                <div class=\"border-t border-gray-200\"></div>\n\n                <div class=\"block px-4 py-2 text-xs text-gray-400\">\n                  Manage Team\n                </div>\n\n                <!-- Team Settings -->\n                <jet-responsive-nav-link\n                  :href=\"route('teams.show', $page.props.auth.user.current_team)\"\n                  :active=\"route().current('teams.show')\"\n                >\n                  Team Settings\n                </jet-responsive-nav-link>\n\n                <jet-responsive-nav-link\n                  :href=\"route('teams.create')\"\n                  :active=\"route().current('teams.create')\"\n                  v-if=\"$page.props.jetstream.canCreateTeams\"\n                >\n                  Create New Team\n                </jet-responsive-nav-link>\n\n                <div class=\"border-t border-gray-200\"></div>\n\n                <!-- Team Switcher -->\n                <div class=\"block px-4 py-2 text-xs text-gray-400\">\n                  Switch Teams\n                </div>\n\n                <template\n                  v-for=\"team in $page.props.auth.user.all_teams\"\n                  :key=\"team.id\"\n                >\n                  <form @submit.prevent=\"switchToTeam(team)\">\n                    <jet-responsive-nav-link as=\"button\">\n                      <div class=\"flex items-center\">\n                        <svg\n                          v-if=\"team.id == $page.props.auth.user.current_team_id\"\n                          class=\"mr-2 h-5 w-5 text-green-400\"\n                          fill=\"none\"\n                          stroke-linecap=\"round\"\n                          stroke-linejoin=\"round\"\n                          stroke-width=\"2\"\n                          stroke=\"currentColor\"\n                          viewBox=\"0 0 24 24\"\n                        >\n                          <path\n                            d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"\n                          ></path>\n                        </svg>\n                        <div>{{ team.name }}</div>\n                      </div>\n                    </jet-responsive-nav-link>\n                  </form>\n                </template>\n              </template>\n            </div>\n          </div>\n        </div>\n      </nav>\n\n      <!-- Page Heading -->\n      <header class=\"bg-white shadow\" v-if=\"$slots.header\">\n        <div class=\"max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8\">\n          <slot name=\"header\"></slot>\n        </div>\n      </header>\n\n      <!-- Page Content -->\n      <main>\n        <slot></slot>\n      </main>\n    </div>\n  </div>\n</template>\n\n<script>\n/* Main Functions */\nimport { defineComponent, ref } from \"vue\";\nimport { Head, Link } from \"@inertiajs/vue3\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport darkModeFn from \"@/Function/darkMode\";\n\n/* Components */\nimport Logo from \"@/Components/Icon/Logo.vue\";\nimport JetBanner from \"@/Jetstream/Banner.vue\";\nimport JetApplicationMark from \"@/Jetstream/ApplicationMark.vue\";\nimport JetDropdown from \"@/Jetstream/Dropdown.vue\";\nimport JetDropdownLink from \"@/Jetstream/DropdownLink.vue\";\nimport JetNavLink from \"@/Jetstream/NavLink.vue\";\nimport JetResponsiveNavLink from \"@/Jetstream/ResponsiveNavLink.vue\";\nimport {\n  faCog,\n  faSearch,\n  faLevelUpAlt,\n  faTimes,\n} from \"@fortawesome/free-solid-svg-icons\";\n\n/* Inputs */\nimport InputText from \"primevue/inputtext\";\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\nimport langChooserFn from \"@/Function/langChooser\";\nimport { languages, flags, authTranslates } from \"@/Lang/languages\";\n\nlibrary.add(faCog, faSearch, faLevelUpAlt, faTimes);\n\nexport default defineComponent({\n  props: {\n    title: String,\n  },\n\n  components: {\n    Head,\n    Logo,\n    InputText,\n    JetBanner,\n    JetApplicationMark,\n    JetBanner,\n    JetDropdown,\n    JetDropdownLink,\n    JetNavLink,\n    JetResponsiveNavLink,\n    Link,\n  },\n\n  setup() {\n    /* Dark Mode */\n    const { darkMode } = darkModeFn();\n\n    /* Multi-language */\n    const { changeLang, locale, loadingTranslations } = langChooserFn();\n\n    const languageList = languages;\n\n    const { t, tm } = useI18n({\n      inheritLocale: true,\n      messages: authTranslates,\n    });\n\n    const langSelector = ref();\n    const showLanguagesPanel = (event) => {\n      langSelector.value.toggle(event);\n    };\n\n    /* Search Bar */\n    const searchText = ref(\"\");\n    const showSearchBar = ref(false);\n\n    return {\n      darkMode,\n      /* Language */\n      t,\n      tm,\n      languageList,\n      showLanguagesPanel,\n      changeLang,\n      /* Search */\n      searchText,\n      showSearchBar,\n    };\n  },\n\n  data() {\n    return {\n      showingNavigationDropdown: false,\n    };\n  },\n\n  methods: {\n    switchToTeam(team) {\n      this.$inertia.put(\n        route(\"current-team.update\"),\n        {\n          team_id: team.id,\n        },\n        {\n          preserveState: false,\n        }\n      );\n    },\n\n    logout() {\n      this.$inertia.post(route(\"logout\"));\n    },\n  },\n});\n</script>\n\n<style scoped>\n.darkTransition-enter-active,\n.darkTransition-leave-active {\n  transition: all 500ms ease-in-out;\n}\n\n.darkTransition-enter-from {\n  opacity: 0;\n  transform: translateX(0.5rem) scale(0) rotateZ(-360deg);\n}\n\n.darkTransition-leave-to {\n  opacity: 0;\n  transform: translateX(-0.5rem) scale(0) rotateZ(360deg);\n}\n\n.darkTransition-leave-from {\n  opacity: 1;\n  transform: translateX(0.5rem);\n}\n\n.darkTransition-enter-to {\n  opacity: 1;\n  transform: translateX(-0.5rem);\n}\n</style>\n"
  },
  {
    "path": "resources/js/Layouts/AppLayout.vue",
    "content": "<template>\n    <!--Browser Title-->\n    <Head :title=\"title\" />\n    <!--TODO: Convert to Announcement Bar Component(TA-23)-->\n    <jet-banner />\n    <!--Main Container-->\n    <div class=\"main-container\">\n        <!--Main Menu -->\n        <main-menu/>\n        <!--Content Container-->\n        <div class=\"content-wrapper\">\n            <!--Top Menu-->\n            <top-menu/>\n            <!--TODO: Sync with Popup Menu-->\n            <!--Content-->\n            <div class=\"content-container\">\n                <!--Content Header-->\n                <div class=\"container-header\">\n                    <!--Page Header-->\n                    <header class=\"page-header\">\n                        <!--Page Title-->\n                        <h1 v-if=\"hasSlot('header') || header\" class=\"page-title\">\n                            <slot v-if=\"hasSlot('header')\" name=\"header\" />\n                            <span v-else v-text=\"header\" />\n                        </h1>\n                        <!--Page SubTitle-->\n                        <h2 v-if=\"hasSlot('subHeader') || subHeader\" class=\"page-subtitle\">\n                            <slot v-if=\"hasSlot('subHeader')\" name=\"subHeader\"></slot>\n                            <span v-else v-text=\"subHeader\" />\n                        </h2>\n                    </header>\n                    <!--Page Action Buttons-->\n                    <div v-if=\"hasSlot('action-buttons')\" class=\"page-action-buttons\">\n                        <slot name=\"action-buttons\"></slot>\n                    </div>\n                </div>\n                <!--Breadcrumb-->\n                <slot name=\"breadcrumb\"></slot>\n                <!--Content-->\n                <main class=\"flex flex-col flex-grow\">\n                    <!--Flash Messages-->\n                    <div v-if=\"$page.props.flash.message\" class=\"alert\">\n                        <t-alert :color=\"$page.props.flash.message.type\" :timer=\"5000\" class=\"my-2\">\n                            <span v-html=\"$page.props.flash.message.content\"></span>\n                        </t-alert>\n                    </div>\n                    <slot></slot>\n                </main>\n                <!--Toastr Notifications-->\n                <div v-if=\"$page.props.flash.toastr\">\n                    <t-toastr\n                        :key=\"$page.props.flash.toastr.content\"\n                        :closeable=\"true\"\n                        :color=\"$page.props.flash.toastr.type\"\n                        :position=\"$page.props.flash.toastr.position\"\n                        :timer=\"3000\"\n                    >\n                        <span v-html=\"$page.props.flash.toastr.content\"></span>\n                    </t-toastr>\n                </div>\n            </div>\n            <footer v-if=\"footerConf.visible\" class=\"footer\">\n                <span class=\"mt-1 space-x-1 select-none\" v-html=\"footerConf.content\" />\n            </footer>\n        </div>\n    </div>\n    <!--Modals-->\n    <teleport to=\"body\"></teleport>\n</template>\n\n<script>\n/*Main Functions*/\nimport { defineComponent, provide, ref, useSlots } from \"vue\";\nimport {Head} from \"@inertiajs/vue3\";\nimport {breakpointsTailwind, useBreakpoints} from '@vueuse/core'\n\n/*Components*/\nimport JetBanner from \"@/Jetstream/Banner.vue\";\nimport MainMenu from \"@/Layouts/MainMenu.vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\nimport TToastr from \"@/Components/Toastr/TToastr.vue\";\nimport TopMenu from \"@/Layouts/TopMenu/TopMenu.vue\";\n\n/*Sources*/\nimport {appConf, footerConf} from \"@/config\";\nimport windowSizeCalculator from \"@/Functions/windowSizeCalculator\";\n\n/*Multi Language*/\nimport { useI18n } from \"vue-i18n\";\nimport { useDarkModeStore } from \"@/Stores/darkMode\";\nimport { storeToRefs } from \"pinia\";\n\nexport default defineComponent({\n    components: {\n        TopMenu,\n        Head,\n        TToastr,\n        MainMenu,\n        JetBanner,\n        TAlert\n    },\n    props: {\n        title: {\n            type: String,\n            default: null\n        },\n        header: {\n            type: String,\n            default: null\n        },\n        subHeader: {\n            type: String,\n            default: null\n        }\n    },\n    setup(props, { slots }) {\n        /*Definitions*/\n        const { deviceType } = windowSizeCalculator();\n\n        /*Dark Mode*/\n        const darkModeStore= useDarkModeStore();\n        const { changeThemeUser} = storeToRefs(darkModeStore);\n\n        /*Multi Language*/\n        const { t } = useI18n();\n\n        /*Providers*/\n        provide(\"breakpoints\", ref(useBreakpoints(breakpointsTailwind)));\n        provide(\"appearingMode\", ref(darkModeStore.appearingMode));\n        provide(\"appConf\", ref(appConf));\n\n\n        /*Slot Check*/\n        const hasSlot = name => !!useSlots()[name];\n\n        return {\n            footerConf,\n            deviceType,\n            t,\n            hasSlot\n        };\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Layouts/FullScreenLayout.vue",
    "content": "<template>\n    <div class=\"full-screen-card\">\n        <div :class=\"[\n            'full-screen-card-container',\n            bgColor\n        ]\" :style=\"[bgImageUrl && { backgroundImage: 'url(' + bgImageUrl + ')' }]\">\n        </div>\n        <div class=\"full-screen-card-content\">\n            <slot></slot>\n        </div>\n    </div>\n</template>\n\n<script setup>\ndefineProps({\n    bgImageUrl: {\n        type: String,\n        default: null\n    },\n    bgColor: {\n        type: Array,\n        default: null\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Layouts/GridSection.vue",
    "content": "<template>\n  <div class=\"col-span-full w-full\">\n    <div\n        :class=\"[\n            'grid w-full grid-flow-row',\n            gapStyle[gap],\n            calculatedGridStyle\n            ]\">\n      <slot></slot>\n    </div>\n  </div>\n</template>\n\n<script>\nimport {defineComponent} from \"vue\";\nimport {gridStyleMixin} from \"@/Mixins/Styles/gridStyleMixin\";\n\nexport default defineComponent({\n  name: \"GridSection\",\n  mixins: [gridStyleMixin],\n})\n</script>\n"
  },
  {
    "path": "resources/js/Layouts/InitialVerticalMenu.vue",
    "content": "<template>\n    <div>\n        <div\n            :class=\"[\n                'ivm',\n                menuStyle,\n                radiusStyle,\n                $slots.hasOwnProperty('subContent') ? 'justify-between':'justify-start'\n                ]\"\n        >\n            <div class=\"ivm-container\">\n                <template v-for=\"(item,index) in menu\">\n\n                    <Link\n                        v-if=\"item.link\"\n                        :href=\"\n            item.link != null ?\n            item.linkType === 'route' ? route(item.link) :\n            item.linkType === 'internal' ? URL(item.link) :\n            item.linkType === 'external' ? item.link : '' : ''\"\n\n                        :key=\"index\"\n                        :active=\"\n                          item.link !== null ?\n                          item.linkType === 'route' ? route().current(item.link) :\n                          item.linkType === 'internal' ? URL().current(item.link) : '' : ''\n                          \"\n                        :class=\"[\n                        'ivm-item',\n                        itemStyle,\n                        radiusStyle,\n                        menu.length !== index+1 ? '' : item.activeColor ?\n                '' :\n                  'font-bold'\n                        ]\"\n                    >\n\n                        <icon v-if=\"item.icon\" :icon=\"item.icon\" size=\"lg\"/>\n                        {{ item.label }}\n                    </Link>\n\n                </template>\n            </div>\n            <div v-if=\"$slots.hasOwnProperty('subContent')\" class=\"px-3 text-2xl text-gray-700\">\n                <slot name=\"subContent\"></slot>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport {defineComponent} from \"vue\";\nimport {Link} from '@inertiajs/vue3';\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\n\nexport default defineComponent({\n    name: 'InitialVerticalMenu',\n    components: {\n        Link\n    },\n    props: {\n        color: {\n            type: String,\n            default: 'gray'\n        },\n        position: {\n            type: String,\n            require: true,\n            default: 'left'\n        },\n        menu: {\n            type: Array,\n            require: true\n        }\n    },\n    mixins: [radiusSizeMixin],\n    computed: {\n        menuStyle() {\n            if (this.color !== 'black' && this.color !== 'white') {\n                return 'bg-' + this.color + '-300';\n            } else if (this.color === 'black') {\n                return 'bg-black text-white transition duration-300'\n            } else if (this.color === 'white') {\n                return 'bg-white border border-gray-300 text-gray-700'\n            }\n        },\n        itemStyle() {\n            if (this.color !== 'black' && this.color !== 'white') {\n                return 'bg-' + this.color + '-400 text-' + this.color + '-600 hover:text-white border-' + this.color + '-400 transition duration-300 ease-in-out';\n            } else if (this.color === 'black') {\n                return 'bg-black text-white transition duration-300'\n            } else if (this.color === 'white') {\n                return 'bg-white border border-gray-300 text-gray-700'\n            }\n        }\n    }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Layouts/LockScreen.vue",
    "content": "<template>\n    <t-lock\n        color=\"gradient-purple-to-pink\"\n        :radius=\"5\"\n        bg-image=\"/img/samples/bgFakurianDesign-nY14Fs8pxT8-unsplash.jpg\"\n        button-color=\"pink\"\n    >\n    </t-lock>\n</template>\n\n<script>\nimport {defineComponent} from \"vue\";\nimport TLock from \"@/Components/Auth/TLock\";\n\nexport default defineComponent({\n    name: \"LockScreen\",\n    components: {TLock}\n})\n</script>\n"
  },
  {
    "path": "resources/js/Layouts/MainMenu/Abay/MainMenu.vue",
    "content": "<script setup>\n/*Functions*/\nimport {ref, onBeforeMount, inject, watch} from \"vue\";\nimport {Link, usePage} from \"@inertiajs/vue3\";\nimport {onClickOutside} from '@vueuse/core'\n\ndefineEmits(['updateMainMenuStatus'])\n\n/*Sources*/\nimport MainMenuLinks from \"@/Sources/mainMenuLinks\";\nimport UserMenu from \"@/Layouts/MainMenu/Abay/UserMenu.vue\";\nimport {appConf, mainMenuConf} from \"@/config\";\nimport {menuStatus} from \"@/Functions/menuTrigger\";\n\nconst {mainMenuLinks, mainMenuFooterLinks} = MainMenuLinks({\n    roles: usePage().props.user_extra.roles,\n    permissions: usePage().props.user_extra.permissions\n});\n\nconst activeMainLink = ref([null, null, null]);\n\n/*Main-menu - Variables*/\nconst appearingMode = inject(\"appearingMode\");\nonBeforeMount(() => {\n    mainMenuLinks.value.forEach(ml => {\n        if (ml.hasOwnProperty('links')) {\n            ml.links.find(sl => {\n                /*Active Main-link*/\n                if(ml.link === route().current()){\n                    activeMainLink.value[0] = ml.id\n                }\n\n                /*Active Sub-link*/\n                if (sl.link === route().current()) {\n                    activeMainLink.value[0] = ml.id\n                    activeMainLink.value[1] = sl.id\n                }\n\n                /*Active Third-link*/\n                if (sl.hasOwnProperty('links')) {\n                    sl.links.find(tl => {\n                        if (tl.link === route().current()) {\n                            activeMainLink.value[0] = ml.id\n                            activeMainLink.value[1] = sl.id\n                            activeMainLink.value[2] = tl.id\n                        }\n                    })\n                }\n            })\n        }\n    })\n})\n\n/*Sub-menu - Variables*/\nconst subMenu = ref(null)\nconst showSubMenu = ref();\n\n/*Submenu - Visibility*/\nonClickOutside(subMenu, (event) => showSubMenu.value = false)\n\n/*Third-menu */\nconst thirdMenu = ref(null)\nonClickOutside(thirdMenu, (event) => activeMainLink.value[2] = null)\n\n/*Watch Window Size*/\nconst breakpoints = inject('breakpoints');\n\nwatch(breakpoints.value, (newValue) => {\n\n    if (newValue.smaller('md').value) {\n        menuStatus.value = 'hidden'\n        showSubMenu.value = false;\n    }\n\n    if (newValue.greater('md').value) {\n        menuStatus.value = 'opened'\n    }\n})\n\n</script>\n\n<template>\n    <div\n        class=\"abay-main-menu\"\n        :class=\"{\n        'border-r': showSubMenu,\n        'abay-main-menu-show' : menuStatus === 'opened',\n        'abay-main-menu-hide' : menuStatus === 'hidden',\n        }\"\n    >\n        <!-- Logo -->\n        <Link :href=\"route('/')\" class=\"h-16 w-16 text-rose-600 my-4 mx-auto\">\n            <img :src=\"[\n                        appearingMode === 'dark' ? mainMenuConf.abay.logo.dark ? mainMenuConf.abay.logo.dark : appConf.logo.dark :\n                        mainMenuConf.abay.logo.light ? mainMenuConf.abay.logo.light : appConf.logo.light\n                    ]\"/>\n        </Link>\n\n        <!-- Main Links -->\n        <div\n            class=\"flex flex-col flex-grow space-y-[.25rem] overflow-y-auto overflow-x-hidden scrollbar-thin scrollbar-thumb-rose-500 scrollbar-track-slate-200 overscroll-x-none pr-4 -mr-4 scroll-smooth\">\n\n            <!-- Link -->\n            <template v-for=\"link in mainMenuLinks\" :key=\"link.id\">\n                <div\n                    @click=\"activeMainLink[0] = link.id; showSubMenu=true\"\n                    class=\"abay-main-menu-root-wrapper\"\n                    :class=\"{ 'bg-rose-500 text-gray-50': activeMainLink[0] === link.id }\"\n                >\n                    <!--Dropdown-->\n\n                    <div\n                        v-if=\"link.type === 'dropdown'\"\n                        class=\"abay-main-menu-root-link\"\n                    >\n                            <!-- Icon -->\n                            <icon v-if=\"link.icon\" :icon=\"link.icon\" class=\"w-6 h-6\"/>\n\n                            <!-- Label -->\n                            <span class=\"text-[.65rem]\" v-text=\"link.label\"/>\n                    </div>\n\n                    <!--Internal Route Link-->\n                    <Link\n                        v-if=\"link.type === 'route'\"\n                        :href=\"route(link.link)\"\n                        class=\"abay-main-menu-root-link\"\n                    >\n\n                        <!-- Icon -->\n                        <icon v-if=\"link.icon\" :icon=\"link.icon\" class=\"w-6 h-6\"/>\n\n                        <!-- Label -->\n                        <span class=\"text-[.65rem]\" v-text=\"link.label\"/>\n                    </Link>\n\n                    <!--External Link-->\n                    <a\n                        v-if=\"link.type === 'simple-link'\"\n                        class=\"abay-main-menu-root-link\"\n                        :href=\"link.link\"\n                        :target=\"!!link.target\"\n                        :key=\"link.id\"\n                    >\n                        <!-- Icon -->\n                        <icon v-if=\"link.icon\" :icon=\"link.icon\" class=\"w-6 h-6\"/>\n\n                        <!-- Label -->\n                        <span class=\"text-[.65rem]\" v-text=\"link.label\"/>\n                    </a>\n\n                </div>\n            </template>\n        </div>\n\n        <!--Footer Links-->\n        <template v-for=\"link in mainMenuFooterLinks\" :key=\"link.id\">\n            <div\n                class=\"flex flex-shrink-0 justify-center items-center h-12 w-12 mx-auto bg-slate-100/10 mb-4 rounded-full\">\n\n                <!--Internal Route Link-->\n                <Link\n                    v-if=\"link.linkType === 'route'\"\n                    id=\"footer-link\"\n                    :href=\"route(link.link)\"\n                    :key=\"link.id\"\n                >\n                    <icon v-if=\"link.icon\" :icon=\"link.icon\" class=\"mt-1 w-6 h-6\"/>\n                </Link>\n                <!--External Link-->\n                <a\n                    v-else\n                    id=\"footer-link\"\n                    :href=\"link.link\"\n                    :target=\"!!link.target\"\n                    :key=\"link.id\"\n                >\n                    <icon v-if=\"link.icon\" :icon=\"link.icon\" class=\"mt-1 w-6 h-6\"/>\n                </a>\n            </div>\n        </template>\n\n        <!-- User Menu -->\n        <div class=\"flex items-center justify-center\">\n            <user-menu/>\n        </div>\n    </div>\n    <!-- Sub Links -->\n\n    <div\n        v-if=\"activeMainLink[0]\"\n        class=\"absolute z-10 flex h-full flex-col px-4 -mb-4 w-56 bg-gradient-to-tl from-slate-700/90 to-slate-800  text-gray-50\"\n        :class=\"[\n            showSubMenu ? 'left-28' : '-left-56',\n            'transition-all duration-700'\n        ]\"\n        ref=\"subMenu\"\n    >\n        <!-- Firm Info -->\n        <div class=\"flex flex-col h-20 justify-center items-center\">\n            <!-- Firm Name -->\n            <span class=\"text-2xl font-bold\"\n                  v-html=\"mainMenuConf.appName ? mainMenuConf.appName : appConf.appName\"\n            />\n            <!-- Firm Slogan -->\n            <span class=\"text-xs font-semibold text-center\" v-html=\"mainMenuConf.catchPhrase ? mainMenuConf.catchPhrase : appConf.catchPhrase\"/>\n        </div>\n\n        <!-- Sub Links -->\n        <div v-if=\"activeMainLink[0]\" class=\"mt-6 space-y-[.25rem]\" ref=\"thirdMenu\"\n        >\n            <!-- Sub Link -->\n            <template v-for=\"subLink in mainMenuLinks.find(l=>l.id === activeMainLink[0]).links\" :key=\"subLink\">\n                <div\n                    class=\"relative p-2 rounded-md hover:bg-slate-400/50 cursor-pointer text-sm\"\n                    :class=\"[\n                        {'bg-rose-500' : activeMainLink[1] === subLink.id},\n                        ]\"\n                >\n                    <!--Dropdown-->\n\n                    <div\n                        v-if=\"subLink.type === 'dropdown'\"\n                        class=\"relative flex justify-between items-center cursor-default\"\n                    >\n\n                        <div class=\"flex space-x-2 items-center\">\n\n                            <!-- Icon -->\n                            <icon v-if=\"subLink.icon\" :icon=\"subLink.icon\"/>\n\n                            <!-- Label -->\n                            <span v-text=\"subLink.label\"/>\n                        </div>\n\n                        <!--Dropdown Icon-->\n                        <div\n                            class=\"px-2 cursor-pointer\"\n                            @click=\"activeMainLink[2] = activeMainLink[2] === subLink.id ? null : subLink.id\"\n                        >\n                            <icon\n                                v-if=\"subLink.hasOwnProperty('links')\"\n                                icon=\"ellipsis-vertical\" size=\"sm\"\n                            />\n                        </div>\n                    </div>\n\n                    <!--Internal Route Link-->\n                    <Link\n                        v-if=\"subLink.type === 'route'\"\n                        :href=\"route(subLink.link)\"\n                        class=\"flex space-x-2 items-center\"\n                    >\n\n                        <!-- Icon -->\n                        <icon v-if=\"subLink.icon\" :icon=\"subLink.icon\"/>\n\n                        <!-- Label -->\n                        <span v-text=\"subLink.label\"/>\n                    </Link>\n\n                    <!--External Link-->\n                    <a\n                        v-if=\"subLink.type === 'simple-link'\"\n                        class=\"flex space-x-2 items-center\"\n                        :href=\"subLink.link\"\n                        :target=\"!!subLink.target\"\n                        :key=\"subLink.id\"\n                    >\n                        <!-- Icon -->\n                        <icon v-if=\"subLink.icon\" :icon=\"subLink.icon\"/>\n\n                        <!-- Label -->\n                        <span v-text=\"subLink.label\"/>\n                    </a>\n\n                    <!--Third Menu-->\n                    <div\n                        v-if=\"activeMainLink[2] === subLink.id\"\n                        class=\"absolute z-50 top-10 -left-0 flex flex-col p-2 space-y-2 w-full rounded-md bg-white bg-slate-700 bg-opacity-[.97]\">\n                        <template\n                            v-for=\"thirdLink in subLink.links\"\n                            :key=\"thirdLink\"\n                        >\n\n                            <div class=\"p-1 rounded-md\" :class=\"[\n                        {'bg-rose-500' : route().current(thirdLink.link)}\n                        ]\">\n                                <!--Internal Route Link-->\n                                <Link\n                                    v-if=\"thirdLink.type === 'route'\"\n                                    :href=\"route(thirdLink.link)\"\n                                    class=\"flex space-x-2 items-center\"\n                                >\n\n                                    <!-- Icon -->\n                                    <icon v-if=\"thirdLink.icon\" :icon=\"thirdLink.icon\"/>\n\n                                    <!-- Label -->\n                                    <span v-text=\"thirdLink.label\"/>\n                                </Link>\n\n                                <!--External Link-->\n                                <a\n                                    v-if=\"thirdLink.type === 'simple-link'\"\n                                    class=\"flex space-x-2 items-center\"\n                                    :href=\"thirdLink.link\"\n                                    :target=\"!!thirdLink.target\"\n                                    :key=\"thirdLink.id\"\n                                >\n                                    <!-- Icon -->\n                                    <icon v-if=\"thirdLink.icon\" :icon=\"thirdLink.icon\"/>\n\n                                    <!-- Label -->\n                                    <span v-text=\"thirdLink.label\"/>\n                                </a>\n                            </div>\n\n                        </template>\n                    </div>\n\n                </div>\n            </template>\n        </div>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Layouts/MainMenu/Abay/UserMenu.vue",
    "content": "<template>\n\n</template>\n\n<script>\nexport default {\n    name: \"UserMenu\"\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Layouts/MainMenu/Umay/MainMenu.vue",
    "content": "<script setup>\n/*Functions*/\nimport {inject, provide, ref, watch} from \"vue\";\nimport {Link, usePage} from \"@inertiajs/vue3\";\nimport {menuStatus, updateMenuStatus} from \"@/Functions/menuTrigger\";\n\n/*Sources*/\nimport MainMenuLinks from \"@/Sources/mainMenuLinks\";\nimport {appConf, mainMenuConf} from \"@/config\";\nimport MainMenuItem from \"@/Layouts/MainMenu/Umay/MainMenuItem.vue\";\n\nconst {mainMenuLinks, mainMenuFooterLinks} = MainMenuLinks({\n    roles: usePage().props.user_extra.roles,\n    permissions: usePage().props.user_extra.permissions\n});\n\n/*Menu - Variables*/\nconst selectedLink = ref([]);\nprovide('selectedLink', selectedLink);\nconst appearingMode = inject(\"appearingMode\");\n\n/*Watch Window Size*/\nconst breakpoints =  inject('breakpoints');\n\nwatch(breakpoints.value, (newValue) => {\n\n    if (newValue.smaller('md').value) {\n        menuStatus.value = 'hidden'\n    }\n\n    if (newValue.greater('md').value) {\n        menuStatus.value = 'opened'\n    }\n})\n\n</script>\n\n<template>\n    <aside\n        class=\"umay-main-menu\"\n        :class=\"{\n        'umay-main-menu-show' : menuStatus === 'opened',\n        'umay-main-menu-hide' : menuStatus === 'hidden',\n        'umay-main-menu-fold' : menuStatus === 'closed',\n        }\"\n    >\n        <!--Logo-->\n        <div\n            class=\"header\"\n            :class=\"[\n        mainMenuConf.umay.logoAreaClasses ? mainMenuConf.umay.logoAreaClasses : appConf.logoAreaClasses,\n        `radius-${mainMenuConf.umay.logoAreaRadius ? mainMenuConf.umay.logoAreaRadius : appConf.radius}`\n        ]\"\n        >\n            <Link\n                :href=\"route('/')\"\n                class=\"logo-out-container\"\n            >\n                <div\n                    class=\"logo-inside-container\"\n                    :class=\"menuStatus === 'closed' && 'ml-1'\"\n                >\n                    <!--TODO: Title and Logo will come from DB-->\n                    <!--Logo-->\n                    <img\n                        :src=\"[\n                        appearingMode === 'dark' ? mainMenuConf.umay.logo.dark ? mainMenuConf.umay.logo.dark : appConf.logo.dark :\n                        mainMenuConf.umay.logo.light ? mainMenuConf.umay.logo.light : appConf.logo.light\n                    ]\"\n                        :class=\"mainMenuConf.umay.logoClasses\"\n                    />\n                    <!--Title-->\n                    <div\n                        id=\"logo-title\"\n                        v-html=\"mainMenuConf.appName ? mainMenuConf.appName : appConf.appName\"\n                        :class=\"[\n                            menuStatus !== 'closed' ? 'umay-main-menu-title-show' : 'umay-main-menu-title-hide',\n                            mainMenuConf.umay.appNameClasses\n                            ]\"\n                    />\n                </div>\n            </Link>\n        </div>\n\n        <!--Menu Items-->\n        <nav id=\"links-wrapper\">\n            <template v-for=\"link in mainMenuLinks\" :key=\"link.id\">\n                <main-menu-item\n                    :link=\"link\"\n                    @selected=\"selectedLink = $event\"\n                />\n            </template>\n        </nav>\n        <!--Menu Footer-->\n        <div id=\"footer\">\n            <transition name=\"fade\" mode=\"out-in\">\n                <!--Settings-->\n                <div\n                    key=\"mainMenuFooterLinks\"\n                    id=\"footer-links-wrapper\"\n                    v-if=\"mainMenuFooterLinks.length>0 && menuStatus !== 'closed'\"\n                    :class=\"[\n            mainMenuFooterLinks.length>1 ? 'grid-cols-2' : '',\n            `radius-${mainMenuConf.umay.radius ? mainMenuConf.umay.radius : appConf.radius}`\n            ]\"\n                >\n                    <!--Footer Links-->\n                    <template v-for=\"link in mainMenuFooterLinks\">\n                        <!--Internal Route Link-->\n                        <Link\n                            v-if=\"link.linkType === 'route'\"\n                            id=\"footer-link\"\n                            :class=\"mainMenuFooterLinks.length>2 ? 'justify-start' : 'justify-center'\"\n                            :href=\"route(link.link)\"\n                            :key=\"link.id\"\n                        >\n                            <icon v-if=\"link.icon\" :icon=\"link.icon\"/>\n                            <span v-text=\"link.label ? link.label : link.label\"/>\n                        </Link>\n                        <!--External Link-->\n                        <a\n                            v-else\n                            id=\"footer-link\"\n                            :class=\"mainMenuFooterLinks.length>2 ? 'justify-start' : 'justify-center'\"\n                            :href=\"link.link\"\n                            target=\"_blank\"\n                            :key=\"link.id\"\n                        >\n                            <icon v-if=\"link.icon\" :icon=\"link.icon\"/>\n                            <span v-text=\"link.label ? link.label : link.label\"/>\n                        </a>\n                    </template>\n                </div>\n                <!--Open Menu Arrow-->\n                <div\n                    key=\"mainMenuOpenArrow\"\n                    v-else\n                    id=\"footer-trigger\"\n                    @click=\"updateMenuStatus\"\n                >\n                    <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"umay-main-menu-trigger-icon\" fill=\"none\"\n                         viewBox=\"0 0 24 24\"\n                         stroke=\"currentColor\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                              d=\"M13 5l7 7-7 7M5 5l7 7-7 7\"/>\n                    </svg>\n                </div>\n            </transition>\n        </div>\n    </aside>\n</template>\n<style scoped>\n.fade-enter-active, .fade-leave-active {\n    transition: all 300ms;\n}\n\n.fade-enter-from, .fade-leave-to {\n    opacity: 0;\n    transform: scale(0);\n}\n\n.fade-enter-to, .fade-leave-from {\n    opacity: 1;\n    transform: scale(1);\n}\n</style>\n\n"
  },
  {
    "path": "resources/js/Layouts/MainMenu/Umay/MainMenuItem.vue",
    "content": "<script setup>\n/*Functions*/\nimport {inject, onBeforeMount, defineEmits, defineProps, computed, reactive} from \"vue\";\nimport {Link} from '@inertiajs/vue3';\nimport {menuStatus, updateMenuStatus} from \"@/Functions/menuTrigger\";\n\n\n/*Sources*/\nimport {appConf, mainMenuConf} from \"@/config\";\n\n/*Variables*/\nconst emit = defineEmits(['selected'])\nconst props = defineProps({\n    link: {\n        type: Object,\n        default: null\n    }\n})\n\nconst selectedLink = inject('selectedLink');\nconst activeMenus = reactive({\n    root: null,\n    second: null,\n    third: null\n});\n\n/*Select Active Link*/\nconst select = (selection) => {\n\n    if (selectedLink.value[0] === selection[0] && selection.length === 1 && menuStatus !== 'opened') {\n        emit('selected', [])\n    } else if (selectedLink.value[0] === selection[0] && selectedLink.value[1] === selection[1] && selection.length === 2) {\n        emit('selected', selection.splice(0, 1))\n    } else {\n        emit('selected', selection)\n    }\n\n}\n\n/*Search Active Link*/\nonBeforeMount(() => {\n    if (props.link[\"links\"]) {\n        for (let child of props.link[\"links\"]) {\n\n            /*Check Second Level*/\n            if (route().current(child.link) && child.link !== null && !child[\"links\"]) {\n                activeMenus.root = props.link.id\n                activeMenus.second = child.id\n                select([props.link.id, child.id])\n            }\n\n            /*Check Third Level*/\n            if (child[\"links\"]) {\n                for (let third of child[\"links\"]) {\n                    if (route().current(third.link) && third.link !== null) {\n                        activeMenus.root = props.link.id\n                        activeMenus.second = child.id\n                        activeMenus.third = third.id\n                        select([props.link.id, child.id, third.id])\n                    }\n                }\n            }\n\n        }\n    } else {\n\n        /*Check First Level*/\n        if (route().current(props.link.link) && props.link.link !== null) {\n            activeMenus.root = props.link.id\n            select([props.link.id])\n        }\n\n    }\n});\n\n/*Radius Check*/\nconst generatedRadius = computed(() => {\n\n    let style = {\n        rootLinkClasses: {\n            activeBg: null,\n            normal: null,\n            active: null,\n        },\n        secondLinkClasses: {\n            activeBg: null,\n            normal: null,\n            active: null,\n        },\n        thirdLinkClasses: {\n            activeBg: null,\n            normal: null,\n            active: null,\n        },\n    };\n    let comparedStyle = `radius-${mainMenuConf.umay.menuRadius ? mainMenuConf.umay.menuRadius : appConf.radius}`\n\n\n    let mainKeys = ['rootLinkClasses', 'secondLinkClasses', 'thirdLinkClasses']\n    let subKeys = ['activeBg', 'normal', 'active']\n\n\n    mainKeys.forEach((link) => {\n\n        subKeys.forEach((subLink) => {\n\n            mainMenuConf.umay[link][subLink].forEach(i => {\n\n                if (!i.match(/(rounded|radius)/g)) {\n                    style[link][subLink] = comparedStyle\n                } else {\n                    style[link][subLink] = null\n                }\n\n            })\n\n        })\n    })\n\n    return style\n\n})\n\n</script>\n<template>\n    <!--Root Wrapper-->\n    <div\n        class=\"relative w-full font-sans text-slate-100 p-2\"\n        :class=\"[\n            generatedRadius.rootLinkClasses.activeBg,\n            (selectedLink.includes(link.id) && link['links'] &&menuStatus !== 'closed') && mainMenuConf.umay.rootLinkClasses.activeBg,\n             ]\"\n    >\n        <!--Root Item: Dropdown-->\n        <div\n            v-if=\"link.type === 'dropdown' && link.visibleFor !== false\"\n            @click=\"select([link.id]); menuStatus === 'closed' && updateMenuStatus()\"\n            class=\"flex justify-between items-center px-2 rounded cursor-pointer overflow-hidden transition-color duration-300 w-full\"\n            :class=\"[\n                (selectedLink.includes(link.id) && menuStatus !== 'closed') || activeMenus.root === link.id ?\n                [mainMenuConf.umay.rootLinkClasses.active, generatedRadius.rootLinkClasses.active] :\n                [mainMenuConf.umay.rootLinkClasses.normal, generatedRadius.rootLinkClasses.normal],\n                menuStatus !== 'closed' ? 'h-12 space-x-2' : 'h-14 '\n            ]\"\n        >\n\n            <div\n                class=\"flex items-center w-full\"\n                :class=\"{\n                'space-x-2' : menuStatus !== 'closed',\n                'justify-between' : menuStatus !== 'closed',\n                'justify-center' : menuStatus === 'closed',\n            }\"\n            >\n                <!--Icon-->\n                <div class=\"flex justify-center items-center w-8 h-8\">\n                    <icon v-if=\"link['icon']\" :icon=\"link.icon\"/>\n                </div>\n                <!--Label-->\n                <span v-text=\"link.label\"\n                      class=\"flex whitespace-nowrap transition-size-medium\"\n                      :class=\"[\n                              menuStatus !== 'closed' ? 'w-show' : 'w-hide',\n                              'transition-size-medium'\n                              ]\"\n                ></span>\n            </div>\n            <div>\n                <icon\n                    v-if=\"menuStatus !== 'closed'\"\n                    icon=\"chevron-down\" size=\"sm\"\n                    :class=\"[selectedLink.includes(link.id) ? 'rotate-90' : 'rotate-0']\"\n                    class=\"mr-1 transition-size-medium\"\n                />\n            </div>\n        </div>\n        <!--Root Item: Route-->\n        <Link\n            v-else-if=\"link.type === 'route' && link.visibleFor !== false\"\n            :href=\"route(link.link)\"\n            @click=\"select([link.id]); menuStatus === 'closed' && updateMenuStatus()\"\n            class=\"flex justify-between items-center px-3 rounded cursor-pointer w-full overflow-hidden transition-color duration-300\"\n            :class=\"[\n                selectedLink.includes(link.id) || activeMenus.root === link.id ?\n                [mainMenuConf.umay.rootLinkClasses.active, generatedRadius.rootLinkClasses.active] :\n                [mainMenuConf.umay.rootLinkClasses.normal, generatedRadius.rootLinkClasses.normal],\n                menuStatus !== 'closed' ? 'h-12 space-x-2' : 'h-14 '\n            ]\"\n        >\n            <div\n                class=\"flex items-center\"\n                :class=\"menuStatus !== 'closed' && 'space-x-2'\"\n            >\n                <!--Icon-->\n                <div class=\"flex justify-center items-center w-8 h-8\">\n                    <icon v-if=\"link['icon']\" :icon=\"link.icon\"/>\n                </div>\n                <!--Label-->\n                <span v-text=\"link.label\"\n                      class=\"whitespace-nowrap transition-size-medium\"\n                      :class=\"[\n                              menuStatus !== 'closed' ? 'w-show' : 'w-hide',\n                              'transition-size-medium'\n                              ]\"\n                ></span>\n            </div>\n        </Link>\n        <!--Root Item: Link-->\n        <a\n            v-else-if=\"link.type === 'simple-link' && link.visibleFor !== false\"\n            :href=\"link.link\"\n            :target=\"link.target\"\n            class=\"flex justify-between items-center px-3 rounded cursor-pointer w-full overflow-hidden transition-color duration-300\"\n            :class=\"[\n                [mainMenuConf.umay.rootLinkClasses.normal, generatedRadius.rootLinkClasses.normal],\n                menuStatus !== 'closed' ? 'h-12 space-x-2' : 'h-14 '\n                ]\"\n        >\n            <div\n                class=\"flex items-center\"\n                :class=\"menuStatus !== 'closed' && 'space-x-2'\"\n            >\n                <!--Icon-->\n                <div class=\"flex justify-center items-center w-8 h-8\">\n                    <icon v-if=\"link['icon']\" :icon=\"link.icon\"/>\n                </div>\n                <!--Label-->\n                <span v-text=\"link.label\"\n                      class=\"whitespace-nowrap transition-size-medium\"\n                      :class=\"[\n                              menuStatus !== 'closed' ? 'w-show' : 'w-hide',\n                              'transition-size-medium'\n                              ]\"\n                ></span>\n            </div>\n        </a>\n        <!--Secondly Item-->\n        <transition name=\"subMenuTransition\">\n            <div\n                v-if=\"link.links && (selectedLink.includes(link.id)) && menuStatus !== 'closed'\"\n                class=\"flex flex-col py-2 space-y-2 overflow-hidden\"\n            >\n                <template v-for=\"subItem in link.links\" :key=\"subItem\">\n\n                    <!--Secondly Item: Dropdown-->\n                    <div\n                        :key=\"subItem.id\"\n                        v-if=\"subItem.type === 'dropdown' && subItem.visibleFor !== false\"\n                        @click=\"select([link.id, subItem.id])\"\n                        class=\"flex justify-between items-center space-x-2 px-3 py-2 cursor-pointer rounded transition-color duration-300\"\n                        :class=\"[\n                            selectedLink.includes(subItem.id) || activeMenus.second === subItem.id ?\n                            [mainMenuConf.umay.secondLinkClasses.active, generatedRadius.secondLinkClasses.active] :\n                            [mainMenuConf.umay.secondLinkClasses.normal, generatedRadius.secondLinkClasses.normal]\n                            ]\"\n                    >\n                        <div class=\"flex space-x-2 items-center\">\n                            <icon v-if=\"subItem['icon']\" :icon=\"subItem.icon\"/>\n                            <span v-text=\"subItem.label\"></span>\n                        </div>\n                        <icon\n                            icon=\"chevron-down\"\n                            size=\"sm\"\n                            :class=\"[selectedLink.includes(subItem.id) ? 'rotate-90' : 'rotate-0']\"\n                            class=\"mr-1 transition-size-medium\"\n                        />\n                    </div>\n\n                    <!--Secondly Item: Route-->\n                    <Link\n                        v-else-if=\"subItem.type === 'route' && subItem.visibleFor !== false\"\n                        :href=\"route(subItem.link)\"\n                        class=\"flex justify-between items-center space-x-2 px-3 py-2 cursor-pointer rounded transition-color duration-300\"\n                        :class=\"[\n                            selectedLink.includes(subItem.id) || activeMenus.second === subItem.id ?\n                            [mainMenuConf.umay.secondLinkClasses.active, generatedRadius.secondLinkClasses.active] :\n                            [mainMenuConf.umay.secondLinkClasses.normal, generatedRadius.secondLinkClasses.normal]\n                            ]\"\n                    >\n                        <div class=\"flex justify-between space-x-2 items-center w-full\">\n                            <span v-text=\"subItem.label\"></span>\n                            <icon v-if=\"subItem['icon']\" :icon=\"subItem.icon\"/>\n                        </div>\n                    </Link>\n\n                    <!--Secondly Item: Link-->\n                    <a\n                        v-else-if=\"subItem.type === 'simple-link' && subItem.visibleFor !== false\"\n                        :href=\"subItem.link\"\n                        :target=\"subItem.target\"\n                        class=\"flex justify-between items-center px-3 rounded cursor-pointer w-full overflow-hidden transition-color duration-300\"\n                        :class=\"[\n                            [mainMenuConf.umay.secondLinkClasses.normal, generatedRadius.secondLinkClasses.normal],\n                            menuStatus !== 'closed' ? 'h-12 space-x-2' : 'h-14 '\n                            ]\"\n                    >\n                        <div\n                            class=\"flex items-center\"\n                            :class=\"menuStatus !== 'closed' && 'space-x-2'\"\n                        >\n                            <!--Icon-->\n                            <div class=\"flex justify-center items-center w-8 h-8\">\n                                <icon v-if=\"subItem['icon']\" :icon=\"subItem.icon\"/>\n                            </div>\n                            <!--Label-->\n                            <span v-text=\"subItem.label\"\n                                  class=\"whitespace-nowrap transition-size-medium\"\n                                  :class=\"[\n                              menuStatus !== 'closed' ? 'w-show' : 'w-hide',\n                              'transition-size-medium'\n                              ]\"\n                            ></span>\n                        </div>\n                    </a>\n\n                    <!--Third Item-->\n                    <transition name=\"subMenuTransition\">\n                        <div\n                            v-if=\"subItem.links && selectedLink.includes(subItem.id) || subItem.links && activeMenus.second === subItem.id\"\n                            class=\"flex p-2\"\n                            :class=\"[\n                                generatedRadius.thirdLinkClasses.activeBg,\n                                mainMenuConf.umay.thirdLinkClasses.activeBg\n                                ]\"\n                        >\n                            <div class=\"flex flex-col space-y-4 w-full\">\n                                <template v-for=\"thirdItem in subItem.links\" :key=\"thirdItem\">\n                                    <!--Third: Route-->\n                                    <Link :href=\"route(thirdItem.link)\"\n                                          v-if=\"thirdItem.type === 'route' && thirdItem.visibleFor !== false\"\n                                          class=\"flex items-center space-x-2 px-3 cursor-pointer w-full\"\n                                          :class=\"[\n                                              selectedLink.includes(thirdItem.id) || activeMenus.third === thirdItem.id ?\n                                              [mainMenuConf.umay.thirdLinkClasses.active, generatedRadius.thirdLinkClasses.active] :\n                                              [mainMenuConf.umay.thirdLinkClasses.normal, generatedRadius.thirdLinkClasses.normal],\n                                              ]\"\n                                    >\n                                        <div class=\"flex justify-between space-x-2 py-2 items-center w-full\">\n                                            <span v-text=\"thirdItem.label\"></span>\n                                            <icon v-if=\"thirdItem['icon']\" :icon=\"thirdItem.icon\"/>\n                                        </div>\n                                    </Link>\n\n                                    <!--Third: Link-->\n                                    <a\n                                        v-if=\"thirdItem.type === 'simple-link' && thirdItem.visibleFor !== false\"\n                                        :href=\"thirdItem.link\"\n                                        :target=\"thirdItem.target\"\n                                        class=\"flex items-center space-x-2 px-3 cursor-pointer w-full\" :class=\"[\n                                            [mainMenuConf.umay.thirdLinkClasses.normal, generatedRadius.thirdLinkClasses.normal],\n                                            menuStatus !== 'closed' ? 'h-12 space-x-2' : 'h-14 '\n                                            ]\"\n                                    >\n                                        <div\n                                            class=\"flex items-center\"\n                                            :class=\"menuStatus !== 'closed' && 'space-x-2'\"\n                                        >\n                                            <!--Icon-->\n                                            <div class=\"flex justify-center items-center w-8 h-8\">\n                                                <icon v-if=\"thirdItem['icon']\" :icon=\"thirdItem.icon\"/>\n                                            </div>\n                                            <!--Label-->\n                                            <span v-text=\"thirdItem.label\"\n                                                  class=\"whitespace-nowrap transition-size-medium\"\n                                                  :class=\"[\n                                                      menuStatus !== 'closed' ? 'w-show' : 'w-hide',\n                                                      'transition-size-medium'\n                                                      ]\"\n                                            ></span>\n                                        </div>\n                                    </a>\n                                </template>\n                            </div>\n                        </div>\n                    </transition>\n                </template>\n            </div>\n        </transition>\n    </div>\n</template>\n\n\n<style scoped>\n.subMenuTransition-enter-active, .subMenuTransition-leave-active {\n    transition: max-height 300ms cubic-bezier(.17, .67, .83, .67),\n    opacity 300ms cubic-bezier(.17, .67, .83, .67),\n    transform 300ms cubic-bezier(.17, .67, .83, .67);\n}\n\n.subMenuTransition-enter-from, .subMenuTransition-leave-to {\n    transform: translateY(-1rem);\n    max-height: 0;\n    opacity: 0;\n}\n\n.subMenuTransition-leave-from, .subMenuTransition-enter-to {\n    max-height: 75vh;\n    opacity: 1;\n}\n\n</style>\n"
  },
  {
    "path": "resources/js/Layouts/MainMenu.vue",
    "content": "<script setup>\n/*Functions*/\nimport {computed, onMounted, shallowRef} from \"vue\";\n\n/*Sources*/\nimport {appConf, mainMenuConf} from \"@/config\";\nconst props = defineProps({\n    design: {\n        type: String,\n        default: \"\"\n    },\n    menuStatus: {\n        type: String,\n        default: 'opened'\n    }\n})\n\n/*Menu Designs*/\nconst menuDesigns = {\n    umay: \"Umay\",\n    abay: \"Abay\"\n}\n\n/*Validation*/\nconst menuDesign = computed(()=>{\n    if(menuDesigns.hasOwnProperty(props.design) && props.design !== \"\"){\n        return menuDesigns[props.design];\n    }\n    return menuDesigns[appConf.mainMenuDesign];\n})\n\nconst mainMenu = shallowRef();\n\nonMounted(async ()=>{\n    /* @vite-ignore */\n    await import(`./MainMenu/${menuDesign.value}/MainMenu.vue`)\n        .then((module)=>{\n            mainMenu.value = module.default;\n        })\n        .catch((e)=>{\n            console.error(e);\n        })\n})\n</script>\n<template>\n    <component :is=\"mainMenu\" />\n</template>\n"
  },
  {
    "path": "resources/js/Layouts/TopMenu/TopMenu.vue",
    "content": "<script setup>\n/*Functions*/\nimport {defineComponent, inject, provide, ref} from \"vue\";\nimport TopMenuNotification from \"@/Layouts/TopMenu/TopMenuNotification.vue\";\nimport TopMenuUserMenu from \"@/Layouts/TopMenu/TopMenuUserMenu.vue\";\nimport TLoading from \"@/Components/Loading/TLoading.vue\";\nimport TopMenuThemeSelector from \"@/Layouts/TopMenu/TopMenuThemeSelector.vue\";\nimport TopMenuLanguageSelector from \"@/Layouts/TopMenu/TopMenuLanguageSelector.vue\";\nimport {menuStatus, updateMenuStatus} from \"@/Functions/menuTrigger\"\n\n/*Sources*/\nimport {appConf, topBarConf} from \"@/config\";\n\n\n/*Definitions*/\nconst searchBar = ref(false);\n/*Injections*/\nconst breakpoints = inject(\"breakpoints\");\nconst updateMainMenuStatus = updateMenuStatus;\n\n/*Provider*/\nprovide('appConf', appConf);\nprovide('topBarConf', topBarConf);\n</script>\n\n<template>\n    <div\n        class=\"top-menu\"\n        :class=\"`radius-${topBarConf.radius ? topBarConf.radius : appConf.radius}`\"\n    >\n        <!--Left Menu Trigger-->\n        <div\n            v-if=\"appConf.mainMenuDesign === 'umay' || (breakpoints.smaller('md') && appConf.mainMenuDesign === 'abay')\"\n            @click=\"updateMainMenuStatus\"\n            class=\"trigger\"\n            :class=\"`radius-${topBarConf.radius ? topBarConf.radius : appConf.radius}`\"\n        >\n            <!--Fold & Close Icon-->\n            <svg\n                class=\"trigger-icon\"\n                :class=\"[\n                    (breakpoints.smaller('md') && (menuStatus === 'hidden')) || menuStatus === 'closed' ? 'trigger-icon-show' : 'trigger-icon-hide'\n                ]\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n                fill=\"none\"\n                viewBox=\"0 0 24 24\"\n                stroke=\"currentColor\"\n            >\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\"/>\n            </svg>\n            <!--Open Icon-->\n            <svg\n                class=\"trigger-icon\"\n                :class=\"[\n                    (menuStatus === 'opened'  || menuStatus === undefined) ? 'trigger-icon-show' : 'trigger-icon-hide'\n                ]\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n                fill=\"none\"\n                viewBox=\"0 0 24 24\"\n                stroke=\"currentColor\"\n            >\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\"/>\n            </svg>\n        </div>\n        <!--Search Box-->\n        <div class=\"search-box\">\n            <div\n                @click=\"searchBar=true\"\n                class=\"search-box-wrapper\"\n                :class=\"`radius-${topBarConf.radius ? topBarConf.radius : appConf.radius}`\"\n            >\n                <svg\n                    class=\"search-icon\"\n                    xmlns=\"http://www.w3.org/2000/svg\"\n                    fill=\"none\"\n                    viewBox=\"0 0 24 24\"\n                    stroke=\"currentColor\"\n                >\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                          d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"/>\n                </svg>\n            </div>\n        </div>\n        <!--Active Team-->\n        <div class=\"active-team\">\n            <div\n                v-if=\"$page.props.jetstream.hasTeamFeatures\"\n                :title=\"$page.props.auth.user.current_team.name\"\n                class=\"active-team-wrapper\">\n                <svg\n                    class=\"umay-main-menu-icon\"\n                    xmlns=\"http://www.w3.org/2000/svg\"\n                    fill=\"none\"\n                    viewBox=\"0 0 24 24\"\n                    stroke=\"currentColor\"\n                >\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                          d=\"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z\"/>\n                </svg>\n                <span\n                    class=\"active-team-label\"\n                    v-text=\"$page.props.auth.user.current_team.name\"\n                />\n            </div>\n        </div>\n        <!--Notifications-->\n        <top-menu-notification/>\n        <!--Theme Selector-->\n        <top-menu-theme-selector/>\n        <!--Language Selector-->\n        <top-menu-language-selector/>\n        <!--User Menu-->\n        <top-menu-user-menu/>\n    </div>\n    <teleport to=\"body\">\n        <!--Search Bar-->\n        <t-loading v-model=\"searchBar\" color=\"gray\" title=\"Search\" closeable>\n            <div\n                class=\"search-modal\"\n                :class=\"`radius-${topBarConf.radius ? topBarConf.radius : appConf.radius}`\"\n            >\n                <input type=\"text\" id=\"search\" :placeholder=\"topBarConf.searchPlaceHolderText\"/>\n            </div>\n        </t-loading>\n    </teleport>\n</template>\n"
  },
  {
    "path": "resources/js/Layouts/TopMenu/TopMenuLanguageSelector.vue",
    "content": "<script setup>\n/*Main functions*/\nimport { inject } from \"vue\";\nimport { usePage } from \"@inertiajs/vue3\";\n\n/*Components*/\nimport TDropdown from \"@/Components/Dropdown/TDropdown.vue\";\n\n/*Multi language*/\nimport { useDisplayLanguageStore } from \"@/Stores/displayLanguage.js\";\nimport { languages } from \"@/Lang/languages\";\nimport { useForm } from \"@inertiajs/vue3\";\nimport { storeToRefs } from \"pinia\";\n\n/*Injections*/\nconst appConf = inject(\"appConf\");\nconst topBarConf = inject(\"topBarConf\");\n\n/*Multi language*/\nconst displayLanguageStore = useDisplayLanguageStore();\nconst { changeLang } = displayLanguageStore;\nconst { locale } = storeToRefs(displayLanguageStore);\n\nconst form = useForm({\n    language: usePage().props?.auth?.user?.language\n});\n\nconst updatePreferredLanguage = (langId) => {\n    form.language = langId;\n    form.put(route(\"user.preferred-language.update\"), {\n        errorBag: \"updatePreferredLanguage\",\n        preserveScroll: true\n    });\n};\n</script>\n\n<template>\n    <t-dropdown align=\"right\" trigger-type=\"rich\">\n        <template #trigger>\n            <!--Selected Language-->\n            <div\n                class=\"top-menu-dropdown-trigger-transparent\"\n                :class=\"`radius-${topBarConf.radius ? topBarConf.radius : appConf.radius}`\"\n            >\n                <component\n                    :is=\"languages.find(i=>i.id === locale).flag\"\n                    class=\"w-6 aspect-auto drop-shadow transform hover:scale-110 active:scale-90 transition-all duration-300\"\n                    :alt=\"languages.find(i=>i.id === locale).name\"\n                />\n            </div>\n        </template>\n        <template #default>\n            <!--Language Lists-->\n            <div class=\"top-menu-dropdown-content-wrapper-transparent\">\n                <template v-for=\"lang in languages\" :key=\"lang.id\">\n                    <div @click=\"changeLang(lang.id); updatePreferredLanguage(lang.id)\"\n                         class=\"top-menu-dropdown-item-transparent\">\n                        <component\n                            :is=\"lang.flag\"\n                            class=\"w-6 aspect-auto drop-shadow\"\n                        />\n                        <span v-text=\"lang.name\"></span>\n                    </div>\n                </template>\n            </div>\n        </template>\n    </t-dropdown>\n</template>\n"
  },
  {
    "path": "resources/js/Layouts/TopMenu/TopMenuNotification.vue",
    "content": "<template>\n    <t-dropdown align=\"right\" trigger-type=\"rich\">\n        <template #trigger>\n            <div\n                class=\"notification-box\"\n                :class=\"`radius-${topBarConf.radius ? topBarConf.radius : appConf.radius}`\"\n            >\n                <!--Notification Ping-->\n                <div>\n                    <span class=\"notification-ping animate-ping\" />\n                    <span class=\"notification-ping\" />\n                </div>\n                <!--Notification Icon-->\n                <svg\n                    class=\"notification-icon\"\n                    aria-hidden=\"true\"\n                    fill=\"none\"\n                    stroke=\"currentColor\"\n                    viewBox=\"0 0 24 24\"\n                >\n                    <path\n                        d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\"\n                        stroke-linecap=\"round\"\n                        stroke-linejoin=\"round\"\n                        stroke-width=\"2\"\n                    />\n                </svg>\n            </div>\n        </template>\n        <template #default>\n            <div class=\"top-menu-dropdown-content-wrapper-transparent\">\n                <!--Pending Works-->\n                <div class=\"top-menu-dropdown-header-transparent\" v-text=\"tm('pendingWorks')\" />\n                <!--To-Do-->\n                <button class=\"top-menu-dropdown-item-transparent\">\n                    <span v-text=\"tm('unfinishedTodos')\"></span>\n                    <t-badge color=\"light\" design=\"elegant\">5</t-badge>\n                </button>\n                <!--Messages-->\n                <div class=\"dropdown-item-separator\" />\n                <button class=\"top-menu-dropdown-item-transparent\">\n                    <span v-text=\"tm('unreadMessages')\"></span>\n                    <t-badge>2</t-badge>\n                </button>\n            </div>\n        </template>\n    </t-dropdown>\n</template>\n\n<script>\n/*Main functions*/\nimport { defineComponent, inject } from \"vue\";\n\n/*Components*/\nimport TDropdown from \"@/Components/Dropdown/TDropdown.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\nimport { notificationTranslates } from \"@/Lang/languages\";\n\nexport default defineComponent({\n    name: \"TopMenuNotification\",\n    components: { TDropdown, TBadge },\n    setup() {\n        /* Multi-language */\n        const { tm } = useI18n({\n            inheritLocale: true,\n            messages: notificationTranslates\n        })\n        /*Injections*/\n        const appConf = inject(\"appConf\");\n        const topBarConf = inject(\"topBarConf\");\n\n        return {\n            appConf,\n            topBarConf,\n            tm\n        }\n    }\n});\n</script>\n\n<style scoped>\n</style>\n"
  },
  {
    "path": "resources/js/Layouts/TopMenu/TopMenuThemeSelector.vue",
    "content": "<template>\n    <div\n        class=\"flex p-2 w-10 h-10 justify-center items-center cursor-pointer hover:bg-slate-500/10 dark:hover:bg-slate-500/50 overflow-hidden text-white  transform transition-all duration-300\"\n        :class=\"`radius-${topBarConf.radius ? topBarConf.radius : appConf.radius}`\"\n        @click=\"updateDarkModePreference()\"\n    >\n        <transition-group name=\"darkTransition\">\n            <!-- Light -->\n            <icon\n                v-if=\"darkMode === 'light'\"\n                icon=\"sun\"\n                size=\"lg\"\n                key=\"light\"\n                :alt=\"t('lightMode')\"\n                class=\"text-yellow-500 transform hover:scale-110 active:scale-90 transition-all duration-300\"\n            />\n            <!-- Auto -->\n            <icon\n                v-if=\"darkMode === 'auto'\"\n                icon=\"palette\"\n                size=\"lg\"\n                key=\"auto\"\n                :alt=\"t('auto')\"\n                class=\"transform hover:scale-110 active:scale-90 transition-all duration-300\"\n                :class=\"{\n                    'text-gray-500' : appearingMode === 'light',\n                    'text-slate-50' : appearingMode === 'dark',\n                }\"\n            />\n            <!-- Dark -->\n            <icon\n                v-if=\"darkMode === 'dark'\"\n                icon=\"moon\"\n                size=\"lg\"\n                key=\"dark\"\n                :alt=\"t('darkMode')\"\n                class=\"transform hover:scale-110 active:scale-90 transition-all duration-300\"\n            />\n        </transition-group>\n    </div>\n</template>\n\n<script setup>\n/* Main Functions */\nimport { inject } from \"vue\";\nimport { usePage } from \"@inertiajs/vue3\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { useDarkModeStore } from \"@/Stores/darkMode\";\n\n/*Components*/\nimport { faSun, faMoon, faPalette } from \"@fortawesome/free-solid-svg-icons\";\n\nlibrary.add(faSun, faMoon, faPalette);\n\n/*Multi Language*/\nimport { useI18n } from \"vue-i18n\";\nimport { useForm } from \"@inertiajs/vue3\";\nimport { storeToRefs } from \"pinia\";\n\n/*Injections*/\nconst appConf = inject(\"appConf\");\nconst topBarConf = inject(\"topBarConf\");\n\n/* Dark Mode */\nconst darkModeStore = useDarkModeStore();\nconst { changeTheme } = darkModeStore;\nconst { darkMode, appearingMode } = storeToRefs(darkModeStore);\n\n/*Multi Language*/\nconst { t } = useI18n();\n\nconst form = useForm({\n    dark_mode: usePage().props?.auth?.user?.dark_mode ?? \"auto\"\n});\n\nconst updateDarkModePreference = () => {\n    form.dark_mode = darkMode;\n    form.put(route(\"user.dark-mode-preference.update\"), {\n        errorBag: \"updateDarkModePreference\",\n        preserveScroll: true,\n        onSuccess: () => {\n            changeTheme();\n        }\n    });\n};\n</script>\n\n<style scoped>\n.darkTransition-enter-active,\n.darkTransition-leave-active {\n    transition: all 500ms ease-in-out;\n}\n\n.darkTransition-enter-from {\n    opacity: 0;\n    transform: translateX(5rem) translateZ(5rem) scale(0) rotateZ(-360deg);\n}\n\n.darkTransition-leave-to {\n    opacity: 0;\n    transform: translateX(-5rem) translateZ(-5rem) scale(0) rotateZ(360deg);\n}\n\n.darkTransition-leave-from {\n    opacity: 1;\n    transform: translateX(0);\n}\n\n.darkTransition-enter-to {\n    opacity: 1;\n    transform: translateX(0);\n}\n</style>\n"
  },
  {
    "path": "resources/js/Layouts/TopMenu/TopMenuUserMenu.vue",
    "content": "<template>\n    <t-dropdown\n        align=\"right\"\n        trigger-type=\"rich\"\n    >\n        <template #trigger>\n            <!--If The user has a avatar-->\n            <div class=\"user-menu-trigger\">\n                <!--User Info-->\n                <span class=\"staff-info\">\n                <span class=\"staff-name\">\n                  {{ $page.props.auth.user.name }}\n                </span>\n                <span class=\"staff-title\">\n                  {{ $page.props.auth.user.title }}\n                </span>\n              </span>\n                <!--User Photo-->\n                <t-avatar\n                    v-if=\"$page.props.jetstream.managesProfilePhotos\"\n                    :alt=\"$page.props.auth.user.name\"\n                    :indicator=\"{\n                          color:'green',\n                          label : '',\n                          position: 'rb'\n                        }\"\n                    :radius=\"8\"\n                    :size=\"3\"\n                    :src=\"$page.props.auth.user.profile_photo_url\"\n                />\n            </div>\n        </template>\n        <template #default>\n            <div class=\"top-menu-dropdown-content-wrapper-transparent min-w-[13rem]\">\n                <!-- Account Management -->\n                <div class=\"top-menu-dropdown-header border-t rounded-t\" v-text=\"tm('manageAccount')\" />\n\n                <!--Profile-->\n                <Link :href=\"route('profile.show')\">\n                    <div class=\"top-menu-dropdown-item\" v-text=\"tm('profile')\" />\n                </Link>\n\n                <!--API Tokens-->\n                <Link v-if=\"$page.props.jetstream.hasApiFeatures\"\n                      :href=\"route('api-tokens.index')\">\n                    <div class=\"top-menu-dropdown-item\" v-text=\"tm('api')\" />\n                </Link>\n\n                <!-- Team Management -->\n                <template v-if=\"$page.props.jetstream.hasTeamFeatures\">\n                    <div class=\"dropdown-item-separator\" />\n                    <div class=\"top-menu-dropdown-header\" v-text=\"tm('manageTeam')\" />\n\n                    <!-- Team Settings -->\n                    <Link :href=\"route('teams.show', $page.props.auth.user.current_team)\">\n                        <div class=\"top-menu-dropdown-item\" v-text=\"tm('teamSettings')\" />\n                    </Link>\n\n                    <!--Create New Team-->\n                    <Link v-if=\"$page.props.jetstream.canCreateTeams\"\n                          :href=\"route('teams.create')\">\n                        <div class=\"top-menu-dropdown-item\" v-text=\"tm('createNewTeam')\" />\n                    </Link>\n\n                    <!-- Team Switcher -->\n                    <div class=\"dropdown-item-separator\" />\n                    <div class=\"top-menu-dropdown-header\" v-text=\"tm('switchTeams')\" />\n\n                    <template v-for=\"team in $page.props.auth.user.all_teams\" :key=\"team.id\">\n                        <div class=\"top-menu-dropdown-item\">\n                            <form @submit.prevent=\"switchToTeam(team)\">\n                                <button>\n                          <span class=\"flex items-center\">\n                            <svg\n                                v-if=\"team.id === $page.props.auth.user.current_team_id\"\n                                class=\"mr-2 h-5 w-5 text-green-500\"\n                                xmlns=\"http://www.w3.org/2000/svg\"\n                                viewBox=\"0 0 20 20\"\n                                fill=\"currentColor\"\n                            >\n                              <path\n                                  fill-rule=\"evenodd\"\n                                  d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\"\n                                  clip-rule=\"evenodd\"\n                              />\n                            </svg>\n                            {{ team.name }}\n                          </span>\n\n                                </button>\n                            </form>\n                        </div>\n                    </template>\n\n\n                </template>\n\n                <!-- Authentication -->\n                <div class=\"dropdown-item-separator\" />\n                <span class=\"logout-button border-b rounded-b\" @click=\"logout\">\n                        <!--Logout Text-->\n                        <span v-text=\"tm('logout')\" />\n                    <!--Logout Icon-->\n                        <svg\n                            xmlns=\"http://www.w3.org/2000/svg\"\n                            class=\"h-5 w-5\"\n                            fill=\"none\"\n                            viewBox=\"0 0 24 24\"\n                            stroke=\"currentColor\"\n                        >\n                          <path\n                              stroke-linecap=\"round\"\n                              stroke-linejoin=\"round\"\n                              stroke-width=\"2\"\n                              d=\"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1\"\n                          />\n                        </svg>\n                      </span>\n            </div>\n        </template>\n    </t-dropdown>\n</template>\n\n<script>\n/*Main Functions*/\nimport { defineComponent, inject, ref } from \"vue\";\nimport { Link } from \"@inertiajs/vue3\";\nimport { router } from \"@inertiajs/vue3\";\n\n/*Components*/\nimport TDropdown from \"@/Components/Dropdown/TDropdown.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\n\n/*Multi Language*/\nimport { useI18n } from \"vue-i18n\";\nimport { userMenuTranslates } from \"@/Lang/languages\";\n\nexport default defineComponent({\n    name: \"TopMenuUserMenu\",\n    components: { TAvatar, TDropdown, Link },\n    setup() {\n        /*Multi Language*/\n        const { tm } = useI18n({\n            inheritLocale: true,\n            messages: userMenuTranslates\n        });\n\n        /*Switch Team Action*/\n        const showTeamSelector = ref(false);\n        const switchToTeam = (team) => {\n            router.put(\n                route(\"current-team.update\"),\n                {\n                    \"team_id\": team.id\n                }, {\n                    preserveState: false\n                });\n        };\n\n        /*Logout Function*/\n        const logout = () => {\n            router.post(\n                route(\"logout\")\n            );\n        };\n\n        return {\n            logout,\n            switchToTeam,\n            showTeamSelector,\n            tm\n        };\n    }\n});\n</script>\n\n<style scoped>\n.darkModeTitle-enter-active, .darkModeTitle-leave-active {\n    transition: 500ms ease-in-out;\n}\n\n.darkModeTitle-enter-from, .darkModeTitle-leave-to {\n    opacity: 0;\n    max-width: 0;\n}\n\n.darkModeTitle-enter-to, .darkModeTitle-leave-from {\n    opacity: 1;\n    max-width: 5rem;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Mixins/Styles/bgColorStyles.js",
    "content": "export const bgColorStyles = {\n    props:{\n        color: {\n            type: String,\n            default: 'solid-white'\n        },\n        gradientDirection: {\n            type: String,\n            default: 'r'\n        }\n    },\n    data(){\n        return {\n            solidColors: {\n                'solid-red': 'bg-red-500 border-red-500',\n                'solid-blue': 'bg-blue-500 border-blue-500',\n                'solid-green': 'bg-green-500 border-green-500',\n                'solid-yellow': 'bg-yellow-500 border-yellow-500',\n                'solid-indigo': 'bg-indigo-500 border-indigo-500',\n                'solid-pink': 'bg-pink-500 border-pink-500',\n                'solid-purple': 'bg-purple-500 border-purple-500',\n                'solid-gray': 'bg-gray-500 border-gray-500',\n                'solid-black': 'bg-black border-black',\n                'solid-white': 'bg-white dark:bg-slate-800 border border-gray-300 dark:border-slate-600',\n            },\n            lightColors: {\n                'light-red': 'bg-red-200 border border-red-500',\n                'light-blue': 'bg-blue-200 border border-blue-500',\n                'light-green': 'bg-green-200 border border-green-500',\n                'light-yellow': 'bg-yellow-200 border border-yellow-500',\n                'light-indigo': 'bg-indigo-200 border border-indigo-500',\n                'light-pink': 'bg-pink-200 border border-pink-500',\n                'light-purple': 'bg-purple-200 border border-purple-500',\n                'light-gray': 'bg-gray-200 border border-gray-500',\n            },\n            gradientDirections : {\n                t : 'bg-gradient-to-t',\n                b : 'bg-gradient-to-b',\n                l : 'bg-gradient-to-l',\n                r : 'bg-gradient-to-r',\n                tl : 'bg-gradient-to-tl',\n                bl : 'bg-gradient-to-bl',\n                tr : 'bg-gradient-to-tr',\n                br : 'bg-gradient-to-br',\n            },\n            gradientFirstColors: {\n                red: 'from-red-500',\n                blue: 'from-blue-500',\n                green: 'from-green-500',\n                yellow: 'from-yellow-500',\n                indigo: 'from-indigo-500',\n                pink: 'from-pink-500',\n                purple: 'from-purple-500 to-pink-700 text-gray-100',\n                gray: 'from-gray-500',\n                black: 'from-black',\n                white: 'from-white'\n            },\n            gradientSecondColors: {\n                red: 'to-red-700 text-gray-100',\n                blue: 'to-blue-700 text-gray-100',\n                green: 'to-green-700 text-gray-100',\n                yellow: 'to-yellow-700 text-gray-100',\n                indigo: 'to-indigo-700 text-gray-100',\n                pink: 'to-pink-700 text-gray-100',\n                purple: 'to-purple-700 text-gray-100',\n                gray: 'to-gray-700 text-gray-100',\n                black: 'to-black text-gray-100',\n                white: 'to-white text-gray-700'\n            },\n            solidTextColors: {\n                'solid-red': 'text-gray-100',\n                'solid-blue': 'text-gray-100',\n                'solid-green': 'text-gray-100',\n                'solid-yellow': 'text-gray-100',\n                'solid-indigo': 'text-gray-100',\n                'solid-pink': 'text-gray-100',\n                'solid-purple': 'text-gray-100',\n                'solid-gray': 'text-gray-100',\n                'solid-black': 'text-gray-300',\n                'solid-white': 'text-gray-700 dark:text-gray-300'\n            },\n            lightTextColors: {\n                'light-red': 'text-red-700',\n                'light-blue': 'text-blue-700',\n                'light-green': 'text-green-700',\n                'light-yellow': 'text-yellow-700',\n                'light-indigo': 'text-indigo-700',\n                'light-pink': 'text-pink-700',\n                'light-purple': 'text-purple-700',\n                'light-gray': 'text-gray-700',\n                'light-black': 'text-gray-700',\n                'light-white': 'text-gray-700'\n            },\n            solidHoverColors: {\n                'solid-red': 'hover:bg-red-100 hover:text-red-700',\n                'solid-blue': 'hover:bg-blue-100 hover:text-blue-700',\n                'solid-green': 'hover:bg-green-100 hover:text-green-700',\n                'solid-yellow': 'hover:bg-yellow-100 hover:text-yellow-700',\n                'solid-indigo': 'hover:bg-indigo-100 hover:text-indigo-700',\n                'solid-pink': 'hover:bg-pink-100 hover:text-pink-700',\n                'solid-purple': 'hover:bg-purple-100 hover:text-purple-700',\n                'solid-gray': 'hover:bg-gray-100 hover:text-gray-700',\n                'solid-black': 'hover:bg-gray-500',\n                'solid-white': 'hover:bg-gray-100 border border-gray-300'\n            },\n            lightHoverColors: {\n                'light-red': 'hover:bg-red-50 hover:text-red-700',\n                'light-blue': 'hover:bg-blue-50 hover:text-blue-700',\n                'light-green': 'hover:bg-green-50 hover:text-green-700',\n                'light-yellow': 'hover:bg-yellow-50 hover:text-yellow-700',\n                'light-indigo': 'hover:bg-indigo-50 hover:text-indigo-700',\n                'light-pink': 'hover:bg-pink-50 hover:text-pink-700',\n                'light-purple': 'hover:bg-purple-50 hover:text-purple-700',\n                'light-gray': 'hover:bg-gray-50 hover:text-gray-700',\n                'light-black': 'hover:bg-gray-500',\n                'light-white': 'hover:bg-gray-100 border border-gray-300'\n            },\n        }\n    },\n    computed: {\n        bgColorStyle(){\n            if(this.color.includes('solid')){\n                /*Solid Colors*/\n                return this.solidColors[this.color]\n            }else if(this.color.includes('light')){\n                /*Light Colors*/\n                return this.lightColors[this.color]\n            }else if(this.color.includes('gradient')){\n                /*Gradient Colors*/\n                return this.gradientDirections[this.gradientDirection]+' '+\n                    this.gradientFirstColors[this.color.split('-')[1]]+' '+\n                    this.gradientSecondColors[this.color.split('-')[3]]\n            }\n        },\n        bgHoverColorStyle(){\n            if(this.color.includes('solid')){\n                /*Solid Colors*/\n                return this.solidHoverColors[this.color]\n            }else if(this.color.includes('light')){\n                /*Light Colors*/\n                return this.lightHoverColors[this.color]\n            }else if(this.color.includes('gradient')){\n                /*Gradient Colors*/\n                return 'filter hover:brightness-125'\n            }\n        },\n        textColorStyle(){\n            if(this.color.includes('solid')){\n                /*Solid Colors*/\n                return this.solidTextColors[this.color]\n            }else if(this.color.includes('light')){\n                /*Light Colors*/\n                return this.lightTextColors[this.color]\n            }else if(this.color.includes('gradient')){\n                return this.solidTextColors['solid-'+this.color.split('-')[1]]\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "resources/js/Mixins/Styles/contentCardStyleMixin.js",
    "content": "import {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\nimport {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\nexport const contentCardStyleMixin = {\n    props: {\n        width: {\n            type: Number,\n            default: 1\n        },\n        adaptiveHeight: {\n            type: Boolean,\n            default: false\n        }\n    },\n    mixins: [radiusSizeMixin,bgColorStyles],\n    data(){\n        return {\n            widthStyle: {\n                '1': 'md:col-span-1',\n                '2': 'md:col-span-2',\n                '3': 'md:col-span-3',\n                '4': 'md:col-span-4',\n                '5': 'md:col-span-5',\n                '6': 'md:col-span-6',\n                '7': 'md:col-span-7',\n                '8': 'md:col-span-8',\n                '9': 'md:col-span-9',\n                '10': 'md:col-span-10',\n                '11': 'md:col-span-11',\n                '12': 'md:col-span-12'\n            },\n            defaultStyle: {\n                '0': 'col-span-full'\n            }\n        }\n    },\n    computed: {\n        calculatedCardStyle() {\n            let style = '';\n            /*Style Migrating*/\n            if(this.adaptiveHeight){\n                style = 'place-self-start '\n            }\n            style += this.bgColorStyle + ' ' + this.radiusStyle +' ' + this.textColorStyle + ' ' + this.widthStyle[this.width] + ' ' + this.defaultStyle[0]\n            return style\n        }\n    }\n}\n"
  },
  {
    "path": "resources/js/Mixins/Styles/forgotPasswordStyleMixin.js",
    "content": "import {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\n\nexport const forgotPasswordStyleMixin = {\n    mixins: [bgColorStyles,radiusSizeMixin],\n    computed: {\n        calculatedForgotPasswordStyle() {\n            let style;\n            style = this.bgColorStyle + ' '\n            style += this.textColorStyle\n\n            return style\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/fullScreenCardStyleMixin.js",
    "content": "import {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\n\nexport const fullScreenCardStyleMixin = {\n    mixins: [bgColorStyles],\n    computed: {\n        calculatedFullscreenCardStyle() {\n            let style = this.bgColorStyle + ' border-none';\n\n            return style\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/gridStyleMixin.js",
    "content": "export const gridStyleMixin = {\n    props: {\n        gap: {\n            type: Number,\n            default: 4\n        },\n        col: {\n            type: Number,\n        },\n        colPhone: Number,\n        colTablet: Number,\n        colLaptop: Number,\n        colDesktop: Number,\n    },\n    data() {\n        return {\n            gapStyle: {\n                '0': 'gap-0',\n                '1': 'gap-1 mb-1',\n                '2': 'gap-2 mb-2',\n                '3': 'gap-3 mb-3',\n                '4': 'gap-4 mb-4',\n                '5': 'gap-5 mb-5',\n                '6': 'gap-6 mb-6',\n                '7': 'gap-7 mb-7',\n                '8': 'gap-8 mb-8',\n                '9': 'gap-9 mb-9',\n                '10': 'gap-10 mb-10'\n            },\n            gridStyle: {\n                '0': 'grid-cols-none',\n                '1': 'grid-cols-1',\n                '2': 'grid-cols-2',\n                '3': 'grid-cols-3',\n                '4': 'grid-cols-4',\n                '5': 'grid-cols-5',\n                '6': 'grid-cols-6',\n                '7': 'grid-cols-7',\n                '8': 'grid-cols-8',\n                '9': 'grid-cols-9',\n                '10': 'grid-cols-10',\n                '11': 'grid-cols-11',\n                '12': 'grid-cols-12',\n            },\n            gridPhoneStyle: {\n                '0': 'sm:grid-cols-none',\n                '1': 'sm:grid-cols-1',\n                '2': 'sm:grid-cols-2',\n                '3': 'sm:grid-cols-3',\n                '4': 'sm:grid-cols-4',\n                '5': 'sm:grid-cols-5',\n                '6': 'sm:grid-cols-6',\n                '7': 'sm:grid-cols-7',\n                '8': 'sm:grid-cols-8',\n                '9': 'sm:grid-cols-9',\n                '10': 'sm:grid-cols-10',\n                '11': 'sm:grid-cols-11',\n                '12': 'sm:grid-cols-12',\n            },\n            gridTabletStyle: {\n                '0': 'md:grid-cols-none',\n                '1': 'md:grid-cols-1',\n                '2': 'md:grid-cols-2',\n                '3': 'md:grid-cols-3',\n                '4': 'md:grid-cols-4',\n                '5': 'md:grid-cols-5',\n                '6': 'md:grid-cols-6',\n                '7': 'md:grid-cols-7',\n                '8': 'md:grid-cols-8',\n                '9': 'md:grid-cols-9',\n                '10': 'md:grid-cols-10',\n                '11': 'md:grid-cols-11',\n                '12': 'md:grid-cols-12',\n            },\n            gridLaptopStyle: {\n                '0': 'lg:grid-cols-none',\n                '1': 'lg:grid-cols-1',\n                '2': 'lg:grid-cols-2',\n                '3': 'lg:grid-cols-3',\n                '4': 'lg:grid-cols-4',\n                '5': 'lg:grid-cols-5',\n                '6': 'lg:grid-cols-6',\n                '7': 'lg:grid-cols-7',\n                '8': 'lg:grid-cols-8',\n                '9': 'lg:grid-cols-9',\n                '10': 'lg:grid-cols-10',\n                '11': 'lg:grid-cols-11',\n                '12': 'lg:grid-cols-12',\n            },\n            gridDesktopStyle: {\n                '0': 'xl:grid-cols-none',\n                '1': 'xl:grid-cols-1',\n                '2': 'xl:grid-cols-2',\n                '3': 'xl:grid-cols-3',\n                '4': 'xl:grid-cols-4',\n                '5': 'xl:grid-cols-5',\n                '6': 'xl:grid-cols-6',\n                '7': 'xl:grid-cols-7',\n                '8': 'xl:grid-cols-8',\n                '9': 'xl:grid-cols-9',\n                '10': 'xl:grid-cols-10',\n                '11': 'xl:grid-cols-11',\n                '12': 'xl:grid-cols-12',\n            },\n            defaultStyle: {\n                '0': 'justify-items-stretch'\n            }\n        }\n    },\n    computed: {\n        calculatedGridStyle() {\n            let style;\n            if (this.col) {\n                style = this.gridStyle[this.col]\n            } else {\n                style = this.gridStyle[1] + ' '\n            }\n            if (this.colPhone) {\n                style = this.gridPhoneStyle[this.colPhone] + ' '\n            }\n            if (this.colTablet) {\n                style = style + this.gridTabletStyle[this.colTablet] + ' '\n            }\n            if (this.colLaptop) {\n                style = style + this.gridLaptopStyle[this.colLaptop] + ' '\n            }\n            if (this.colDesktop) {\n                style = style + this.gridDesktopStyle[this.colDesktop]\n            }\n\n            return style + ' ' + this.defaultStyle[0]\n        }\n    }\n}\n"
  },
  {
    "path": "resources/js/Mixins/Styles/inputGroupStyleMixin.js",
    "content": "export const inputGroupStyleMixin = {\n    data(){\n        return{\n            subLabelColors:{\n                'solid-red': 'text-red-500',\n                'solid-blue': 'text-blue-500',\n                'solid-green': 'text-green-500',\n                'solid-yellow': 'text-yellow-500',\n                'solid-indigo': 'text-indigo-500',\n                'solid-pink': 'text-pink-500',\n                'solid-purple': 'text-purple-500',\n                'solid-gray': 'text-gray-500',\n                'solid-black': 'text-black',\n                'solid-white': 'text-white'\n            }\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/listStyleMixin.js",
    "content": "export const listStyleMixin = {\n    data() {\n        return {\n            listColors: {\n                'solid-red': \"bg-red-400 text-white border-red-100 hover:bg-red-100 hover:text-red-700 focus:bg-red-100 focus:text-red-700\",\n                'solid-blue': \"bg-blue-400 text-white border-blue-100 hover:bg-blue-100 hover:text-blue-700 focus:bg-blue-100 focus:text-blue-700\",\n                'solid-green': \"bg-green-400 text-white border-green-100 hover:bg-green-100 hover:text-green-700 focus:bg-green-100 focus:text-green-700\",\n                'solid-yellow': \"bg-yellow-400 text-white border-yellow-100 hover:bg-yellow-100 hover:text-yellow-700 focus:bg-yellow-100 focus:text-yellow-700\",\n                'solid-indigo': \"bg-indigo-400 text-white border-indigo-100 hover:bg-indigo-100 hover:text-indigo-700 focus:bg-indigo-100 focus:text-indigo-700\",\n                'solid-purple': \"bg-purple-400 text-white border-purple-100 hover:bg-purple-100 hover:text-purple-700 focus:bg-purple-100 focus:text-purple-700\",\n                'solid-pink': \"bg-pink-400 text-white border-pink-100 hover:bg-pink-100 hover:text-pink-700 focus:bg-pink-100 focus:text-pink-700\",\n                'solid-gray': \"bg-gray-400 text-gray-100 border-gray-100 hover:bg-gray-100 hover:text-gray-700 focus:bg-gray-100 focus:text-gray-700\",\n                'solid-white': \"bg-white border-gray-300 text-gray-700 hover:bg-gray-100 hover:text-white-700 focus:bg-gray-100 focus:text-white-700\",\n                'solid-black': \"bg-black text-white hover:bg-gray-500 hover:text-gray-100 focus:bg-black-100 focus:text-black-700\",\n                'light-red': \"bg-red-50 border-red-500 text-red-600 hover:bg-red-300 hover:text-red-700 focus:bg-red-300 focus:text-red-700\",\n                'light-blue': \"bg-blue-50 border-blue-500 text-blue-600 hover:bg-blue-300 hover:text-blue-700 focus:bg-blue-300 focus:text-blue-700\",\n                'light-green': \"bg-green-50 border-green-500 text-green-600 hover:bg-green-300 hover:text-green-700 focus:bg-green-300 focus:text-green-700\",\n                'light-yellow': \"bg-yellow-50 border-yellow-500 text-yellow-600 hover:bg-yellow-300 hover:text-yellow-700 focus:bg-yellow-300 focus:text-yellow-700\",\n                'light-indigo': \"bg-indigo-50 border-indigo-500 text-indigo-600 hover:bg-indigo-300 hover:text-indigo-700 focus:bg-indigo-300 focus:text-indigo-700\",\n                'light-purple': \"bg-purple-50 border-purple-500 text-purple-600 hover:bg-purple-300 hover:text-purple-700 focus:bg-purple-300 focus:text-purple-700\",\n                'light-pink': \"bg-pink-50 border-pink-500 text-pink-600 hover:bg-pink-300 hover:text-pink-700 focus:bg-pink-300 focus:text-pink-700\",\n                'light-gray': \"bg-gray-50 border-gray-500 text-gray-600 hover:bg-gray-300 hover:text-gray-700 focus:bg-gray-300 focus:text-gray-700\",\n            },\n            listActiveColors: {\n                'solid-red': \"bg-red-100 text-red-700 hover:bg-red-200\",\n                'solid-blue': \"bg-blue-100 text-blue-700 hover:bg-blue-200\",\n                'solid-green': \"bg-green-100 text-green-700 hover:bg-green-200\",\n                'solid-yellow': \"bg-yellow-100 text-yellow-700 hover:bg-yellow-200\",\n                'solid-indigo': \"bg-indigo-100 text-indigo-700 hover:bg-indigo-200\",\n                'solid-purple': \"bg-purple-100 text-purple-700 hover:bg-purple-200\",\n                'solid-pink': \"bg-pink-100 text-pink-700 hover:bg-pink-200\",\n                'solid-gray': \"bg-gray-100 text-gray-700 hover:bg-gray-200\",\n                'solid-white': \"border-gray-300 bg-gray-200 text-gray-700 hover:bg-gray-300\",\n                'solid-black': \"bg-gray-400 text-gray-700 hover:bg-gray-300\",\n                'light-red': \"border-red-500 bg-red-300 text-red-700\",\n                'light-blue': \"border-blue-500 bg-blue-300 text-blue-700\",\n                'light-green': \"border-green-500 bg-green-300 text-green-700\",\n                'light-yellow': \"border-yellow-500 bg-yellow-300 text-yellow-700\",\n                'light-indigo': \"border-indigo-500 bg-indigo-300 text-indigo-700\",\n                'light-purple': \"border-purple-500 bg-purple-300 text-purple-700\",\n                'light-pink': \"border-pink-500 bg-pink-300 text-pink-700\",\n                'light-gray': \"border-gray-500 bg-gray-300 text-gray-700\"\n            },\n            radiusStyles:{\n                '0': null,\n                '1': 'first:rounded-t-sm last:rounded-b-sm',\n                '2': 'first:rounded-t last:rounded-b',\n                '3': 'first:rounded-t-md last:rounded-b-md',\n                '4': 'first:rounded-t-lg last:rounded-b-lg',\n                '5': 'first:rounded-t-xl last:rounded-b-xl',\n                '6': 'first:rounded-t-2xl last:rounded-b-2xl',\n                '7': 'first:rounded-t-3xl last:rounded-b-3xl',\n                '8': 'first:rounded-t-full last:rounded-b-full'\n            }\n        }\n    },\n    computed: {\n        calculatedListStyle() {\n            let style = this.radiusStyles[this.$parent.radius]+ ' ';\n\n            if(this.active){\n                style += this.listActiveColors[this.$parent.color]\n            }else{\n                style += this.listColors[this.$parent.color]\n            }\n\n            return style\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/lockStyleMixin.js",
    "content": "import {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\n\nexport const lockStyleMixin = {\n    mixins: [bgColorStyles,radiusSizeMixin],\n    computed: {\n        calculatedLockStyle() {\n            let style;\n            style = this.bgColorStyle + ' '\n            style += this.textColorStyle\n\n            return style\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/loginStyleMixin.js",
    "content": "import {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\n\nexport const loginStyleMixin = {\n    mixins: [bgColorStyles,radiusSizeMixin],\n    computed: {\n        calculatedLoginStyle() {\n            let style;\n            style = this.bgColorStyle + ' '\n            style += this.textColorStyle\n\n            return style\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/modalStyleMixin.js",
    "content": "import {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\nexport const modalStyleMixin = {\n    mixins: [bgColorStyles,radiusSizeMixin],\n    computed: {\n        calculatedModalStyle() {\n            let style;\n            style = this.radiusStyle + ' ' + this.bgColorStyle;\n\n            return style\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/paginateStyleMixin.js",
    "content": "import {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\n\nexport const paginateStyleMixin = {\n    props: {\n        color: {\n            type: String,\n            default: 'solid-blue'\n        }\n    },\n    mixins: [radiusSizeMixin],\n    data() {\n        return {\n            paginateColors: {\n                'solid-red': 'bg-red-300 text-gray-100',\n                'solid-blue': 'bg-blue-300 text-gray-100',\n                'solid-green': 'bg-green-300 text-gray-100',\n                'solid-yellow': 'bg-yellow-300 text-gray-100',\n                'solid-indigo': 'bg-indigo-300 text-gray-100',\n                'solid-pink': 'bg-pink-300 text-gray-100',\n                'solid-purple': 'bg-purple-300 text-gray-100',\n                'solid-gray': 'bg-gray-300 text-gray-100',\n                'solid-black': 'bg-black text-gray-100',\n                'solid-white': 'bg-white border border-gray-300 text-gray-700',\n                'light-red': 'bg-red-50 border border-red-500 text-red-600',\n                'light-blue': 'bg-blue-50 border border-blue-500 text-blue-600',\n                'light-green': 'bg-green-50 border border-green-500 text-green-600',\n                'light-yellow': 'bg-yellow-50 border border-yellow-500 text-yellow-600',\n                'light-indigo': 'bg-indigo-50 border border-indigo-500 text-indigo-600',\n                'light-pink': 'bg-pink-50 border border-pink-500 text-pink-600',\n                'light-purple': 'bg-purple-50 border border-purple-500 text-purple-600',\n                'light-gray': 'bg-gray-50 border border-gray-500 text-gray-600',\n            },\n            paginateActiveColors: {\n                'solid-red': 'bg-red-500 text-gray-100',\n                'solid-blue': 'bg-blue-500 text-gray-100',\n                'solid-green': 'bg-green-500 text-gray-100',\n                'solid-yellow': 'bg-yellow-500 text-gray-100',\n                'solid-indigo': 'bg-indigo-500 text-gray-100',\n                'solid-pink': 'bg-pink-500 text-gray-100',\n                'solid-purple': 'bg-purple-500 text-gray-100',\n                'solid-gray': 'bg-gray-500 text-gray-100',\n                'solid-black': 'bg-gray-300 text-gray-100 border border-gray-700',\n                'solid-white': 'bg-gray-500 text-gray-100 border border-gray-500',\n                'light-red': 'bg-red-500 border border-red-500 text-gray-100',\n                'light-blue': 'bg-blue-500 border border-blue-500 text-gray-100',\n                'light-green': 'bg-green-500 border border-green-500 text-gray-100',\n                'light-yellow': 'bg-yellow-500 border border-yellow-500 text-gray-100',\n                'light-indigo': 'bg-indigo-500 border border-indigo-500 text-gray-100',\n                'light-pink': 'bg-pink-500 border border-pink-500 text-gray-100',\n                'light-purple': 'bg-purple-500 border border-purple-500 text-gray-100',\n                'light-gray': 'bg-gray-500 border border-gray-500 text-gray-100',\n            },\n            arrowColors: {\n                'solid-red': 'bg-red-500 text-red-300 hover:text-red-500',\n                'solid-blue': 'bg-blue-500 text-blue-300 hover:text-blue-500',\n                'solid-green': 'bg-green-500 text-green-300 hover:text-green-500',\n                'solid-yellow': 'bg-yellow-500 text-yellow-300 hover:text-yellow-500',\n                'solid-indigo': 'bg-indigo-500 text-indigo-300 hover:text-indigo-500',\n                'solid-pink': 'bg-pink-500 text-pink-300 hover:text-pink-500',\n                'solid-purple': 'bg-purple-500 text-purple-300 hover:text-purple-500',\n                'solid-gray': 'bg-gray-500 text-gray-300 hover:text-gray-500',\n                'solid-black': 'bg-gray-500 text-gray-300 hover:text-gray-500',\n                'solid-white': 'bg-gray-500 text-gray-300 hover:text-gray-500',\n                'light-red': 'bg-red-500 text-red-300 hover:text-red-500',\n                'light-blue': 'bg-blue-500 text-blue-300 hover:text-blue-500',\n                'light-green': 'bg-green-500 text-green-300 hover:text-green-500',\n                'light-yellow': 'bg-yellow-500 text-yellow-300 hover:text-yellow-500',\n                'light-indigo': 'bg-indigo-500 text-indigo-300 hover:text-indigo-500',\n                'light-pink': 'bg-pink-500 text-pink-300 hover:text-pink-500',\n                'light-purple': 'bg-purple-500 text-purple-300 hover:text-purple-500',\n                'light-gray': 'bg-gray-500 text-gray-300 hover:text-gray-500',\n            }\n        }\n    },\n    computed: {\n        calculatedPaginateStyle(){\n            let style;\n            style = this.radiusStyle + ' ' + this.paginateColors[this.color];\n\n            return style\n        },\n        calculatedActivePaginateStyle(){\n            let style;\n            style = this.radiusStyle + ' ' + this.paginateActiveColors[this.color];\n\n            return style\n        },\n        calculatedArrowStyle() {\n            let style;\n            style = this.radiusStyle + ' ' + this.arrowColors[this.color];\n\n            return style\n        }\n    }\n\n\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/registerStyleMixin.js",
    "content": "import {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\n\nexport const registerStyleMixin = {\n    mixins: [bgColorStyles,radiusSizeMixin],\n    computed: {\n        calculatedRegisterStyle() {\n            let style;\n            style = this.bgColorStyle + ' '\n            style += this.textColorStyle\n\n            return style\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/statisticWidgetStyleMixin.js",
    "content": "export const statisticWidgetStyleMixin = {\n    props: {\n        color: {\n            required: false\n        },\n        gradientDirection: {\n            type: String,\n            default: 'r'\n        },\n        diffDirection: {\n            required: false\n        }\n    },\n    data() {\n        return {\n            iconColors: {\n                'solid-red': 'bg-red-500 text-red-500 border-red-500',\n                'solid-blue': 'bg-blue-500 text-blue-500 border-blue-500',\n                'solid-green': 'bg-green-500 text-green-500 border-green-500',\n                'solid-yellow': 'bg-yellow-500 text-yellow-500 border-yellow-500',\n                'solid-indigo': 'bg-indigo-500 text-indigo-500 border-indigo-500',\n                'solid-pink': 'bg-pink-500 text-pink-500 border-pink-500',\n                'solid-purple': 'bg-purple-500 text-purple-500 border-purple-500',\n                'solid-gray': 'bg-gray-500 text-gray-500 border-gray-500',\n                'solid-black': 'bg-black-500 text-black-500 border-black-500',\n                'solid-white': 'bg-white-500 text-white-500 border-white-500',\n                'light-red': 'bg-red-500 text-red-500 border-red-500',\n                'light-blue': 'bg-blue-500 text-blue-500 border-blue-500',\n                'light-green': 'bg-green-500 text-green-500 border-green-500',\n                'light-yellow': 'bg-yellow-500 text-yellow-500 border-yellow-500',\n                'light-indigo': 'bg-indigo-500 text-indigo-500 border-indigo-500',\n                'light-pink': 'bg-pink-500 text-pink-500 border-pink-500',\n                'light-purple': 'bg-purple-500 text-purple-500 border-purple-500',\n                'light-gray': 'bg-gray-500 text-gray-500 border-gray-500'\n            },\n            diffStyles: {\n                'up': 'text-white bg-green-500 px-3 py-1 rounded-md bg-opacity-70',\n                'up-green': 'text-green-700 border bg-green-100 px-3 py-1 rounded-md bg-opacity-70',\n                'down': 'text-white bg-red-500 px-3 py-1 rounded-md bg-opacity-70',\n                'down-red': 'text-red-700 border bg-red-100 px-3 py-1 rounded-md bg-opacity-70',\n                'default': 'text-gray-600 bg-white px-3 py-1 rounded-md bg-opacity-70 font-semibold'\n            }\n        }\n    },\n    computed: {\n        calculatedIconStyle() {\n            let style;\n            if (this.color.includes('gradient')) {\n                style = 'border-white '+ this.textColorStyle\n            } else {\n                style = this.iconColors[this.color]\n            }\n\n            return style;\n        },\n        calculatedDiffStyle() {\n            let style;\n            if (this.diffDirection === ('up') || this.diffDirection === ('positive-down')) {\n                if (this.color === 'solid-green') {\n                    style = this.diffStyles['up-green']\n                } else {\n                    style = this.diffStyles['up']\n                }\n            } else if (this.diffDirection === ('down') || this.diffDirection === ('negative-up')) {\n                if (this.color === 'solid-red') {\n                    style = this.diffStyles['down-red']\n                } else {\n                    style = this.diffStyles['down']\n                }\n            }\n\n            return style;\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/tabStyleMixin.js",
    "content": "import {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\n\nexport const tabStyleMixin = {\n    props: {\n        radius: {\n            required: false,\n            default: 0\n        },\n        color: {\n            required: false,\n            default: 'solid-white'\n        },\n        tabStyle: {\n            required: false,\n            default: 1\n        },\n    },\n    mixins: [bgColorStyles],\n    data() {\n        return {\n            tab1Colors: {\n                'solid-red': 'bg-red-200 border-red-300 text-red-600 mt-1 -mb-1',\n                'solid-blue': 'bg-blue-200 border-blue-300 text-blue-600 mt-1 -mb-1',\n                'solid-green': 'bg-green-200 border-green-300 text-green-600 mt-1 -mb-1',\n                'solid-yellow': 'bg-yellow-200 border-yellow-300 text-yellow-600 mt-1 -mb-1',\n                'solid-indigo': 'bg-indigo-200 border-indigo-300 text-indigo-600 mt-1 -mb-1',\n                'solid-pink': 'bg-pink-200 border-pink-300 text-pink-600 mt-1 -mb-1',\n                'solid-purple': 'bg-purple-200 border-purple-300 text-purple-600 mt-1 -mb-1',\n                'solid-gray': 'bg-gray-200 border-gray-300 text-gray-600 mt-1 -mb-1',\n                'solid-black': 'bg-gray-400 mt-1 -mb-1',\n                'solid-white': 'bg-white text-gray-600 mt-1 -mb-1',\n                'light-red': 'bg-red-100 border-red-300 text-red-600 mt-1 -mb-1',\n                'light-blue': 'bg-blue-100 border-blue-300 text-blue-600 mt-1 -mb-1',\n                'light-green': 'bg-green-100 border-green-300 text-green-600 mt-1 -mb-1',\n                'light-yellow': 'bg-yellow-100 border-yellow-300 text-yellow-600 mt-1 -mb-1',\n                'light-indigo': 'bg-indigo-100 border-indigo-300 text-indigo-600 mt-1 -mb-1',\n                'light-pink': 'bg-pink-100 border-pink-300 text-pink-600 mt-1 -mb-1',\n                'light-purple': 'bg-purple-100 border-purple-300 text-purple-600 mt-1 -mb-1',\n                'light-gray': 'bg-gray-50 border-gray-300 text-gray-600 mt-1 -mb-1',\n            },\n            tab2Colors: {\n                'solid-red': 'bg-red-500 text-gray-100',\n                'solid-blue': 'bg-blue-500 text-gray-100',\n                'solid-green': 'bg-green-500 text-gray-100',\n                'solid-yellow': 'bg-yellow-500 text-gray-100',\n                'solid-indigo': 'bg-indigo-500 text-gray-100',\n                'solid-pink': 'bg-pink-500 text-gray-100',\n                'solid-purple': 'bg-purple-500 text-gray-100',\n                'solid-gray': 'bg-gray-500 text-gray-100',\n                'solid-black': 'bg-black ',\n                'solid-white': 'bg-gray-200 text-gray-800',\n                'light-red': 'bg-red-200 border border-red-500',\n                'light-blue': 'bg-blue-200 border border-blue-500',\n                'light-green': 'bg-green-200 border border-green-500',\n                'light-yellow': 'bg-yellow-200 border border-yellow-500',\n                'light-indigo': 'bg-indigo-200 border border-indigo-500',\n                'light-pink': 'bg-pink-200 border border-pink-500',\n                'light-purple': 'bg-purple-200 border border-purple-500',\n                'light-gray': 'bg-gray-200 border border-gray-500',\n            },\n            tab1ActiveColors: {\n                'solid-red': 'bg-red-500 text-gray-100',\n                'solid-blue': 'bg-blue-500 text-gray-100',\n                'solid-green': 'bg-green-500 text-gray-100',\n                'solid-yellow': 'bg-yellow-500 text-gray-100',\n                'solid-indigo': 'bg-indigo-500 text-gray-100',\n                'solid-pink': 'bg-pink-500 text-gray-100',\n                'solid-purple': 'bg-purple-500 text-gray-100',\n                'solid-gray': 'bg-gray-500 text-gray-100',\n                'solid-black': 'bg-black text-gray-100',\n                'solid-white': 'bg-gray-300 text-gray-600',\n                'light-red': 'bg-red-200 border border-b-0 border-red-500 text-red-600',\n                'light-blue': 'bg-blue-200 border border-b-0 border-blue-500 text-blue-600',\n                'light-green': 'bg-green-200 border border-b-0 border-green-500 text-green-600',\n                'light-yellow': 'bg-yellow-200 border border-b-0 border-yellow-500 text-yellow-600',\n                'light-indigo': 'bg-indigo-200 border border-b-0 border-indigo-500 text-indigo-600',\n                'light-pink': 'bg-pink-200 border border-b-0 border-pink-500 text-pink-600',\n                'light-purple': 'bg-purple-200 border border-b-0 border-purple-500 text-purple-600',\n                'light-gray': 'bg-gray-200 border border-b-0 border-gray-500 text-gray-600',\n            },\n            tabContentColors: {\n                'solid-red': 'bg-gray-100 border-red-500 text-gray-600',\n                'solid-blue': 'bg-gray-100 border-blue-500 text-gray-600',\n                'solid-green': 'bg-gray-100 border-green-500 text-gray-600',\n                'solid-yellow': 'bg-gray-100 border-yellow-500 text-gray-600',\n                'solid-indigo': 'bg-gray-100 border-indigo-500 text-gray-600',\n                'solid-pink': 'bg-gray-100 border-pink-500 text-gray-600',\n                'solid-purple': 'bg-gray-100 border-purple-500 text-gray-600',\n                'solid-gray': 'bg-gray-100 border-gray-500 text-gray-600',\n                'solid-black': 'bg-gray-100 border-black',\n                'solid-white': 'bg-white border-gray-300 text-gray-600',\n                'light-red': 'bg-gray-100 border border-red-500',\n                'light-blue': 'bg-gray-100 border border-blue-500',\n                'light-green': 'bg-gray-100 border border-green-500',\n                'light-yellow': 'bg-gray-100 border border-yellow-500',\n                'light-indigo': 'bg-gray-100 border border-indigo-500',\n                'light-pink': 'bg-gray-100 border border-pink-500',\n                'light-purple': 'bg-gray-100 border border-purple-500',\n                'light-gray': 'bg-gray-100 border border-gray-500',\n            },\n            tab2ActiveColors: {\n                'solid-red': 'bg-red-100 text-red-600',\n                'solid-blue': 'bg-blue-100 text-blue-600',\n                'solid-green': 'bg-green-100 text-green-600',\n                'solid-yellow': 'bg-yellow-100 text-yellow-600',\n                'solid-indigo': 'bg-indigo-100 text-indigo-600',\n                'solid-pink': 'bg-pink-100 text-pink-600',\n                'solid-purple': 'bg-purple-100 text-purple-600',\n                'solid-gray': 'bg-gray-100 text-gray-600',\n                'solid-black': 'bg-gray-500 text-gray-100',\n                'solid-white': 'bg-gray-500 text-gray-100',\n                'light-red': 'bg-red-500 text-gray-100 border border-red-500',\n                'light-blue': 'bg-blue-500 text-gray-100 border border-blue-500',\n                'light-green': 'bg-green-500 text-gray-100 border border-green-500',\n                'light-yellow': 'bg-yellow-500 text-gray-100 border border-yellow-500',\n                'light-indigo': 'bg-indigo-500 text-gray-100 border border-indigo-500',\n                'light-pink': 'bg-pink-500 text-gray-100 border border-pink-500',\n                'light-purple': 'bg-purple-500 text-gray-100 border border-purple-500',\n                'light-gray': 'bg-gray-500 text-gray-100 border border-gray-500',\n            },\n            radiusStyles: {\n                '0': {\n                    content: null,\n                    title2container: null,\n                    title2: null,\n                    title1left: null,\n                    title1right: null\n                },\n                '1': {\n                    content: 'rounded-r-sm rounded-bl-sm',\n                    title2container: 'rounded-b-0 rounded-t-sm',\n                    title2: 'rounded-sm',\n                    title1left: 'rounded-tl-sm',\n                    title1right: 'rounded-tr-sm'\n                },\n                '2': {\n                    content: 'rounded-r rounded-bl',\n                    title2container: 'rounded-b-0 rounded-t',\n                    title2: 'rounded',\n                    title1left: 'rounded-tl',\n                    title1right: 'rounded-tr'\n                },\n                '3': {\n                    content: 'rounded-r-md rounded-bl-md',\n                    title2container: 'rounded-b-0 rounded-t-md',\n                    title2: 'rounded-md',\n                    title1left: 'rounded-tl-md',\n                    title1right: 'rounded-tr-md'\n                },\n                '4': {\n                    content: 'rounded-r-lg rounded-bl-lg',\n                    title2container: 'rounded-b-0 rounded-t-lg',\n                    title2: 'rounded-lg',\n                    title1left: 'rounded-tl-lg',\n                    title1right: 'rounded-tr-lg'\n                },\n                '5': {\n                    content: 'rounded-r-xl rounded-bl-xl',\n                    title2container: 'rounded-b-0 rounded-t-xl',\n                    title2: 'rounded-xl',\n                    title1left: 'rounded-tl-xl',\n                    title1right: 'rounded-tr-xl'\n                },\n                '6': {\n                    content: 'rounded-r-2xl rounded-bl-2xl',\n                    title2container: 'rounded-b-0 rounded-t-2xl',\n                    title2: 'rounded-2xl',\n                    title1left: 'rounded-tl-2xl',\n                    title1right: 'rounded-tr-2xl'\n                },\n                '7': {\n                    content: 'rounded-r-3xl rounded-bl-3xl',\n                    title2container: 'rounded-b-0 rounded-t-3xl',\n                    title2: 'rounded-3xl',\n                    title1left: 'rounded-tl-3xl',\n                    title1right: 'rounded-tr-3xl'\n                },\n                '8': {\n                    content: 'rounded-r-full rounded-bl-full',\n                    title2container: 'rounded-b-0 rounded-t-full',\n                    title2: 'rounded-full',\n                    title1left: 'rounded-tl-full',\n                    title1right: 'rounded-tr-full'\n                }\n            }\n        }\n    },\n    computed: {\n        calculatedTitleStyle() {\n            let style;\n\n            if(this.tabStyle === 1){\n                style = this.tab1Colors[this.color]+ ' first:border-l last:border-r border-t';\n            }else{\n                style = this.tab2Colors[this.color] ;\n            }\n\n            return style\n        },\n        calculatedActiveTitleStyle() {\n            let style;\n\n            if(this.tabStyle === 1){\n                style = this.tab1ActiveColors[this.color];\n            }else{\n                style = this.tab2ActiveColors[this.color];\n            }\n\n            return style\n        },\n        calculatedTitle2ContainerStyle() {\n            let style = 'p-2 gap-2 border-b-0 ';\n            style += this.radiusStyles[this.radius].title2container + ' '\n            style += this.bgColorStyle + ' '\n            style += this.textColorStyle\n\n            return style\n        },\n        calculatedContentStyle() {\n            let style = this.radiusStyles[this.radius].content + ' ';\n            style += this.tabContentColors[this.color]\n\n            return style\n        },\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/toastrStyleMixin.js",
    "content": "import {bgColorStyles} from \"@/Mixins/Styles/bgColorStyles\";\nimport {radiusSizeMixin} from \"@/Mixins/radiusSizeMixin\";\n\nexport const toastrStyleMixin = {\n    props: {\n        position: {\n            type: String,\n            default: 'rb'\n        },\n        border: {\n            type: Boolean,\n            default: false\n        }\n    },\n    mixins: [bgColorStyles, radiusSizeMixin],\n    data() {\n        return {\n            positionStyles: {\n                'lb': \"fixed left-4 bottom-4\",\n                'rb': \"fixed right-6 bottom-4\",\n                'lt': \"fixed left-4 top-4\",\n                'rt': \"fixed right-6 top-4\",\n                '': 'relative w-full'\n            },\n            closeIconColors: {\n                'solid-red': 'text-red-500 border-red-500',\n                'solid-blue': 'text-blue-500 border-blue-500',\n                'solid-green': 'text-green-500 border-green-500',\n                'solid-yellow': 'text-yellow-500 border-yellow-500',\n                'solid-indigo': 'text-indigo-500 border-indigo-500',\n                'solid-pink': 'text-pink-500 border-pink-500',\n                'solid-purple': 'text-purple-500 border-purple-500',\n                'solid-gray': 'text-gray-500 border-gray-500',\n                'solid-black': 'text-black-500 border-black-500',\n                'solid-white': 'text-white-500 border-white-500',\n                'light-red': 'text-red-500 border-red-500',\n                'light-blue': 'text-blue-500 border-blue-500',\n                'light-green': 'text-green-500 border-green-500',\n                'light-yellow': 'text-yellow-500 border-yellow-500',\n                'light-indigo': 'text-indigo-500 border-indigo-500',\n                'light-pink': 'text-pink-500 border-pink-500',\n                'light-purple': 'text-purple-500 border-purple-500',\n                'light-gray': 'text-gray-500 border-gray-500'\n            }\n        }\n    },\n    computed: {\n        calculatedToastrStyle() {\n            let style;\n            /*Style Migrating*/\n            style = this.bgColorStyle +\n                ' ' + this.radiusStyle +\n                ' ' + this.textColorStyle +\n                ' ' + this.positionStyles[this.position]\n            if(this.border){\n                style += ' border'\n            }\n            return style\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/Styles/tooltipStyleMixin.js",
    "content": "export const tooltipStyleMixin = {\n    props:{\n        position: {\n            type: String,\n            default: 'bottom'\n        }\n    },\n    data(){\n        return{\n            positionStyle: {\n                'left': {\n                    arrow: 'absolute w-2 h-2 border-r border-t transform -right-1 top-4 rotate-45 z-10',\n                    box: 'right-full -top-4'\n                },\n                'top': {\n                    arrow: 'absolute w-2 h-2 bg-white border-b border-r transform left-4 -bottom-1 rotate-45 z-10',\n                    box: 'left-0 bottom-6'\n                },\n                'bottom': {\n                    arrow: 'absolute w-2 h-2 border-l border-t transform left-4 -top-1 rotate-45 z-10',\n                    box: 'top-6'\n                },\n                'right': {\n                    arrow: 'absolute w-2 h-2 border-l border-b transform -left-1 top-4 rotate-45 z-10',\n                    box: 'left-full -top-4'\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "resources/js/Mixins/radiusSizeMixin.js",
    "content": "export const radiusSizeMixin = {\n    props: {\n        radius: {\n            type: Number,\n            require: false,\n            default: 3\n        }\n    },\n    data() {\n        return {\n            radiusSizes: [\n                'rounded-sm',\n                'rounded',\n                'rounded-md',\n                'rounded-lg',\n                'rounded-xl',\n                'rounded-2xl',\n                'rounded-3xl',\n                'rounded-full'\n            ]\n        }\n    },\n    computed: {\n        radiusStyle() {\n            let i, radiusStyle;\n            for (i = 0; i < this.radiusSizes.length; i++) {\n                if (i === this.radius - 1) {\n                    radiusStyle = this.radiusSizes[i];\n                }\n            }\n            return radiusStyle\n        }\n    }\n}\n"
  },
  {
    "path": "resources/js/Mixins/settingsMenuMixin.js",
    "content": "export const settingsMenuMixin = {\n    data(){\n        return {\n            menuList: [\n                {\n                    label: \"Settings\",\n                    icon: \"cog\",\n                    link: \"settings\",\n                    linkType: \"route\",\n                    type: \"standard\",\n                    activeKey: [\"settings-user\"],\n                },\n                {\n                    label: \"Users\",\n                    icon: \"\",\n                    link: \"settings-user.index\",\n                    linkType: \"route\",\n                    type: \"standard\",\n                    activeKey: [\"settings-user\"],\n                },\n                {\n                    label: \"Roles\",\n                    icon: \"\",\n                    link: \"settings-role.index\",\n                    linkType: \"route\",\n                    type: \"standard\",\n                    activeKey: [\"settings-role\"],\n                },\n                {\n                    label: \"Permissions\",\n                    icon: \"\",\n                    link: \"settings-permission.index\",\n                    linkType: \"route\",\n                    type: \"standard\",\n                    activeKey: [\"settings-permission\"],\n                },\n                {\n                    label: \"System\",\n                    icon: \"\",\n                    link: \"settings-system\",\n                    linkType: \"route\",\n                    type: \"standard\",\n                    activeKey: [\"settings-system\"],\n                }\n            ]\n        }\n    }\n}\n"
  },
  {
    "path": "resources/js/Pages/API/Index.vue",
    "content": "<script setup>\nimport ApiTokenManager from '@/Pages/API/Partials/ApiTokenManager.vue';\nimport AppLayout from '@/Layouts/AppLayout.vue';\n\ndefineProps({\n    tokens: Array,\n    availablePermissions: Array,\n    defaultPermissions: Array,\n});\n</script>\n\n<template>\n    <AppLayout title=\"API Tokens\">\n        <template #header>\n            <h2 class=\"font-semibold text-xl text-gray-800 dark:text-gray-200 leading-tight\">\n                API Tokens\n            </h2>\n        </template>\n\n        <div>\n            <div class=\"max-w-7xl mx-auto py-10 sm:px-6 lg:px-8\">\n                <ApiTokenManager\n                    :tokens=\"tokens\"\n                    :available-permissions=\"availablePermissions\"\n                    :default-permissions=\"defaultPermissions\"\n                />\n            </div>\n        </div>\n    </AppLayout>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/API/Partials/ApiTokenManager.vue",
    "content": "<script setup>\nimport { ref } from 'vue';\nimport { useForm } from '@inertiajs/vue3';\nimport ActionMessage from '@/Jetstream/ActionMessage.vue';\nimport ActionSection from '@/Jetstream/ActionSection.vue';\nimport Checkbox from '@/Jetstream/Checkbox.vue';\nimport ConfirmationModal from '@/Jetstream/ConfirmationModal.vue';\nimport DangerButton from '@/Jetstream/DangerButton.vue';\nimport DialogModal from '@/Jetstream/DialogModal.vue';\nimport FormSection from '@/Jetstream/FormSection.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport SecondaryButton from '@/Jetstream/SecondaryButton.vue';\nimport SectionBorder from '@/Jetstream/SectionBorder.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst props = defineProps({\n    tokens: Array,\n    availablePermissions: Array,\n    defaultPermissions: Array,\n});\n\nconst createApiTokenForm = useForm({\n    name: '',\n    permissions: props.defaultPermissions,\n});\n\nconst updateApiTokenForm = useForm({\n    permissions: [],\n});\n\nconst deleteApiTokenForm = useForm({});\n\nconst displayingToken = ref(false);\nconst managingPermissionsFor = ref(null);\nconst apiTokenBeingDeleted = ref(null);\n\nconst createApiToken = () => {\n    createApiTokenForm.post(route('api-tokens.store'), {\n        preserveScroll: true,\n        onSuccess: () => {\n            displayingToken.value = true;\n            createApiTokenForm.reset();\n        },\n    });\n};\n\nconst manageApiTokenPermissions = (token) => {\n    updateApiTokenForm.permissions = token.abilities;\n    managingPermissionsFor.value = token;\n};\n\nconst updateApiToken = () => {\n    updateApiTokenForm.put(route('api-tokens.update', managingPermissionsFor.value), {\n        preserveScroll: true,\n        preserveState: true,\n        onSuccess: () => (managingPermissionsFor.value = null),\n    });\n};\n\nconst confirmApiTokenDeletion = (token) => {\n    apiTokenBeingDeleted.value = token;\n};\n\nconst deleteApiToken = () => {\n    deleteApiTokenForm.delete(route('api-tokens.destroy', apiTokenBeingDeleted.value), {\n        preserveScroll: true,\n        preserveState: true,\n        onSuccess: () => (apiTokenBeingDeleted.value = null),\n    });\n};\n</script>\n\n<template>\n    <div>\n        <!-- Generate API Token -->\n        <FormSection @submitted=\"createApiToken\">\n            <template #title>\n                Create API Token\n            </template>\n\n            <template #description>\n                API tokens allow third-party services to authenticate with our application on your behalf.\n            </template>\n\n            <template #form>\n                <!-- Token Name -->\n                <div class=\"col-span-6 sm:col-span-4\">\n                    <InputLabel for=\"name\" value=\"Name\" />\n                    <TextInput\n                        id=\"name\"\n                        v-model=\"createApiTokenForm.name\"\n                        type=\"text\"\n                        class=\"mt-1 block w-full\"\n                        autofocus\n                    />\n                    <InputError :message=\"createApiTokenForm.errors.name\" class=\"mt-2\" />\n                </div>\n\n                <!-- Token Permissions -->\n                <div v-if=\"availablePermissions.length > 0\" class=\"col-span-6\">\n                    <InputLabel for=\"permissions\" value=\"Permissions\" />\n\n                    <div class=\"mt-2 grid grid-cols-1 md:grid-cols-2 gap-4\">\n                        <div v-for=\"permission in availablePermissions\" :key=\"permission\">\n                            <label class=\"flex items-center\">\n                                <Checkbox v-model:checked=\"createApiTokenForm.permissions\" :value=\"permission\" />\n                                <span class=\"ms-2 text-sm text-gray-600 dark:text-gray-400\">{{ permission }}</span>\n                            </label>\n                        </div>\n                    </div>\n                </div>\n            </template>\n\n            <template #actions>\n                <ActionMessage :on=\"createApiTokenForm.recentlySuccessful\" class=\"me-3\">\n                    Created.\n                </ActionMessage>\n\n                <PrimaryButton :class=\"{ 'opacity-25': createApiTokenForm.processing }\" :disabled=\"createApiTokenForm.processing\">\n                    Create\n                </PrimaryButton>\n            </template>\n        </FormSection>\n\n        <div v-if=\"tokens.length > 0\">\n            <SectionBorder />\n\n            <!-- Manage API Tokens -->\n            <div class=\"mt-10 sm:mt-0\">\n                <ActionSection>\n                    <template #title>\n                        Manage API Tokens\n                    </template>\n\n                    <template #description>\n                        You may delete any of your existing tokens if they are no longer needed.\n                    </template>\n\n                    <!-- API Token List -->\n                    <template #content>\n                        <div class=\"space-y-6\">\n                            <div v-for=\"token in tokens\" :key=\"token.id\" class=\"flex items-center justify-between\">\n                                <div class=\"break-all dark:text-white\">\n                                    {{ token.name }}\n                                </div>\n\n                                <div class=\"flex items-center ms-2\">\n                                    <div v-if=\"token.last_used_ago\" class=\"text-sm text-gray-400\">\n                                        Last used {{ token.last_used_ago }}\n                                    </div>\n\n                                    <button\n                                        v-if=\"availablePermissions.length > 0\"\n                                        class=\"cursor-pointer ms-6 text-sm text-gray-400 underline\"\n                                        @click=\"manageApiTokenPermissions(token)\"\n                                    >\n                                        Permissions\n                                    </button>\n\n                                    <button class=\"cursor-pointer ms-6 text-sm text-red-500\" @click=\"confirmApiTokenDeletion(token)\">\n                                        Delete\n                                    </button>\n                                </div>\n                            </div>\n                        </div>\n                    </template>\n                </ActionSection>\n            </div>\n        </div>\n\n        <!-- Token Value Modal -->\n        <DialogModal :show=\"displayingToken\" @close=\"displayingToken = false\">\n            <template #title>\n                API Token\n            </template>\n\n            <template #content>\n                <div>\n                    Please copy your new API token. For your security, it won't be shown again.\n                </div>\n\n                <div v-if=\"$page.props.jetstream.flash.token\" class=\"mt-4 bg-gray-100 dark:bg-gray-900 px-4 py-2 rounded font-mono text-sm text-gray-500 break-all\">\n                    {{ $page.props.jetstream.flash.token }}\n                </div>\n            </template>\n\n            <template #footer>\n                <SecondaryButton @click=\"displayingToken = false\">\n                    Close\n                </SecondaryButton>\n            </template>\n        </DialogModal>\n\n        <!-- API Token Permissions Modal -->\n        <DialogModal :show=\"managingPermissionsFor != null\" @close=\"managingPermissionsFor = null\">\n            <template #title>\n                API Token Permissions\n            </template>\n\n            <template #content>\n                <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n                    <div v-for=\"permission in availablePermissions\" :key=\"permission\">\n                        <label class=\"flex items-center\">\n                            <Checkbox v-model:checked=\"updateApiTokenForm.permissions\" :value=\"permission\" />\n                            <span class=\"ms-2 text-sm text-gray-600 dark:text-gray-400\">{{ permission }}</span>\n                        </label>\n                    </div>\n                </div>\n            </template>\n\n            <template #footer>\n                <SecondaryButton @click=\"managingPermissionsFor = null\">\n                    Cancel\n                </SecondaryButton>\n\n                <PrimaryButton\n                    class=\"ms-3\"\n                    :class=\"{ 'opacity-25': updateApiTokenForm.processing }\"\n                    :disabled=\"updateApiTokenForm.processing\"\n                    @click=\"updateApiToken\"\n                >\n                    Save\n                </PrimaryButton>\n            </template>\n        </DialogModal>\n\n        <!-- Delete Token Confirmation Modal -->\n        <ConfirmationModal :show=\"apiTokenBeingDeleted != null\" @close=\"apiTokenBeingDeleted = null\">\n            <template #title>\n                Delete API Token\n            </template>\n\n            <template #content>\n                Are you sure you would like to delete this API token?\n            </template>\n\n            <template #footer>\n                <SecondaryButton @click=\"apiTokenBeingDeleted = null\">\n                    Cancel\n                </SecondaryButton>\n\n                <DangerButton\n                    class=\"ms-3\"\n                    :class=\"{ 'opacity-25': deleteApiTokenForm.processing }\"\n                    :disabled=\"deleteApiTokenForm.processing\"\n                    @click=\"deleteApiToken\"\n                >\n                    Delete\n                </DangerButton>\n            </template>\n        </ConfirmationModal>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Auth/ConfirmPassword.vue",
    "content": "<script setup>\nimport { ref } from 'vue';\nimport { Head, useForm } from '@inertiajs/vue3';\nimport AuthenticationCard from '@/Jetstream/AuthenticationCard.vue';\nimport AuthenticationCardLogo from '@/Jetstream/AuthenticationCardLogo.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst form = useForm({\n    password: '',\n});\n\nconst passwordInput = ref(null);\n\nconst submit = () => {\n    form.post(route('password.confirm'), {\n        onFinish: () => {\n            form.reset();\n\n            passwordInput.value.focus();\n        },\n    });\n};\n</script>\n\n<template>\n    <Head title=\"Secure Area\" />\n\n    <AuthenticationCard>\n        <template #logo>\n            <AuthenticationCardLogo />\n        </template>\n\n        <div class=\"mb-4 text-sm text-gray-600 dark:text-gray-400\">\n            This is a secure area of the application. Please confirm your password before continuing.\n        </div>\n\n        <form @submit.prevent=\"submit\">\n            <div>\n                <InputLabel for=\"password\" value=\"Password\" />\n                <TextInput\n                    id=\"password\"\n                    ref=\"passwordInput\"\n                    v-model=\"form.password\"\n                    type=\"password\"\n                    class=\"mt-1 block w-full\"\n                    required\n                    autocomplete=\"current-password\"\n                    autofocus\n                />\n                <InputError class=\"mt-2\" :message=\"form.errors.password\" />\n            </div>\n\n            <div class=\"flex justify-end mt-4\">\n                <PrimaryButton class=\"ms-4\" :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                    Confirm\n                </PrimaryButton>\n            </div>\n        </form>\n    </AuthenticationCard>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Auth/ForgotPassword.vue",
    "content": "<script setup>\n/*Main functions*/\nimport { Head } from '@inertiajs/vue3';\n\n/*Components*/\nimport TForgot from '@/Components/Auth/TForgot.vue';\n\n/* Multi language */\nimport {useI18n} from \"vue-i18n\";\nimport {authTranslates} from \"@/Lang/languages\";\n\nconst {tm} = useI18n({\n    inheritLocale: true,\n    messages: authTranslates\n})\n\ndefineProps({\n    status: String,\n});\n</script>\n\n<template>\n    <Head :title=\"tm('forgotPassword')\" />\n\n    <t-forgot\n        :status=\"status\"\n    >\n        <template #greeting>\n            {{ tm('forgotPassword') }}\n        </template>\n\n        <template #subGreeting>\n            {{ tm('forgotPasswordSubGreeting') }}\n        </template>\n    </t-forgot>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Auth/Lock.vue",
    "content": "<template>\n    <t-lock\n        color=\"gradient-purple-to-pink\"\n        :radius=\"5\"\n        bg-image=\"/img/samples/bgFakurianDesign-nY14Fs8pxT8-unsplash.jpg\"\n        button-color=\"pink\"\n    >\n    </t-lock>\n</template>\n\n<script>\nimport TLock from \"@/Components/Auth/TLock.vue\";\nexport default {\n    name: \"Lock\",\n    components: {TLock}\n}\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Auth/Login.vue",
    "content": "<template>\n    <Head :title=\"tm('login')\"/>\n    <t-login\n        :status=\"status\"\n        :can-reset-password=\"canResetPassword\"\n    >\n    </t-login>\n</template>\n\n<script>\n\n/*Main functions*/\nimport {defineComponent} from \"vue\";\nimport { Head } from \"@inertiajs/vue3\";\n\n/*Components*/\nimport TLogin from \"@/Components/Auth/TLogin.vue\";\n\n/* Multi language */\nimport {useI18n} from \"vue-i18n\";\nimport {authTranslates} from \"@/Lang/languages\";\n\nexport default defineComponent({\n    props: {\n        canResetPassword: Boolean,\n        status: String,\n    },\n    components: {\n        TLogin,\n        Head\n    },\n    setup(){\n        const {t,tm} = useI18n({\n            inheritLocale: true,\n            messages: authTranslates\n        })\n\n        return {t, tm}\n    }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Auth/Policy.vue",
    "content": "<template>\n    <app-layout title=\"Privacy Policy\">\n        <div class=\"max-w-3xl mx-auto py-12 px-6\">\n            <h1 class=\"text-3xl font-bold mb-6\">Privacy Policy</h1>\n            <div class=\"prose dark:prose-invert\">\n                <p>\n                    Welcome to our Privacy Policy page. Please read carefully.\n                </p>\n                <h2>Section 1: Data Collection</h2>\n                <p>\n                    We collect personal data to provide and improve our services.\n                </p>\n                <h2>Section 2: Data Usage</h2>\n                <p>\n                    Your data is used in accordance with this policy and applicable laws.\n                </p>\n                <!-- Daha fazla bölüm ekleyebilirsiniz -->\n            </div>\n        </div>\n    </app-layout>\n</template>\n\n<script setup>\nimport AppLayout from '@/Layouts/AppLayout.vue'\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Auth/Register.vue",
    "content": "<template>\n    <Head :title=\"tm('register')\" />\n    <t-register\n        :privacyPolicyFeature=\"$page.props.jetstream.hasTermsAndPrivacyPolicyFeature\"\n        :termsLink=\"'/terms'\"\n        :policyLink=\"'/privacy-policy'\"\n    />\n</template>\n\n<script setup>\n\n/*Main functions*/\nimport {defineComponent} from \"vue\";\nimport { Head, Link, useForm } from '@inertiajs/vue3';\n\n\n/*Components*/\nimport TRegister from \"@/Components/Auth/TRegister.vue\";\n\n/* Multi language */\nimport {useI18n} from \"vue-i18n\";\nimport {authTranslates} from \"@/Lang/languages\";\n\nconst {t,tm} = useI18n({\n    inheritLocale: true,\n    messages: authTranslates\n})\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Auth/ResetPassword.vue",
    "content": "<script setup>\nimport { Head, useForm } from '@inertiajs/vue3';\nimport AuthenticationCard from '@/Jetstream/AuthenticationCard.vue';\nimport AuthenticationCardLogo from '@/Jetstream/AuthenticationCardLogo.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst props = defineProps({\n    email: String,\n    token: String,\n});\n\nconst form = useForm({\n    token: props.token,\n    email: props.email,\n    password: '',\n    password_confirmation: '',\n});\n\nconst submit = () => {\n    form.post(route('password.update'), {\n        onFinish: () => form.reset('password', 'password_confirmation'),\n    });\n};\n</script>\n\n<template>\n    <Head title=\"Reset Password\" />\n\n    <AuthenticationCard>\n        <template #logo>\n            <AuthenticationCardLogo />\n        </template>\n\n        <form @submit.prevent=\"submit\">\n            <div>\n                <InputLabel for=\"email\" value=\"Email\" />\n                <TextInput\n                    id=\"email\"\n                    v-model=\"form.email\"\n                    type=\"email\"\n                    class=\"mt-1 block w-full\"\n                    required\n                    autofocus\n                    autocomplete=\"username\"\n                />\n                <InputError class=\"mt-2\" :message=\"form.errors.email\" />\n            </div>\n\n            <div class=\"mt-4\">\n                <InputLabel for=\"password\" value=\"Password\" />\n                <TextInput\n                    id=\"password\"\n                    v-model=\"form.password\"\n                    type=\"password\"\n                    class=\"mt-1 block w-full\"\n                    required\n                    autocomplete=\"new-password\"\n                />\n                <InputError class=\"mt-2\" :message=\"form.errors.password\" />\n            </div>\n\n            <div class=\"mt-4\">\n                <InputLabel for=\"password_confirmation\" value=\"Confirm Password\" />\n                <TextInput\n                    id=\"password_confirmation\"\n                    v-model=\"form.password_confirmation\"\n                    type=\"password\"\n                    class=\"mt-1 block w-full\"\n                    required\n                    autocomplete=\"new-password\"\n                />\n                <InputError class=\"mt-2\" :message=\"form.errors.password_confirmation\" />\n            </div>\n\n            <div class=\"flex items-center justify-end mt-4\">\n                <PrimaryButton :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                    Reset Password\n                </PrimaryButton>\n            </div>\n        </form>\n    </AuthenticationCard>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Auth/Terms.vue",
    "content": "<template>\n    <app-layout title=\"Terms & Conditions\">\n        <div class=\"max-w-3xl mx-auto py-12 px-6\">\n            <h1 class=\"text-3xl font-bold mb-6\">Terms & Conditions</h1>\n            <div class=\"prose dark:prose-invert\">\n                <p>\n                    Welcome to our Terms & Conditions page. Please read carefully.\n                </p>\n                <h2>Section 1: Usage</h2>\n                <p>\n                    You must agree to these terms to use our service.\n                </p>\n                <h2>Section 2: Privacy</h2>\n                <p>\n                    Your privacy is important to us. Please review our policy.\n                </p>\n                <!-- Daha fazla bölüm ekleyebilirsiniz -->\n            </div>\n        </div>\n    </app-layout>\n</template>\n\n<script setup>\nimport AppLayout from '@/Layouts/AppLayout.vue'\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Auth/TwoFactorChallenge.vue",
    "content": "<script setup>\nimport { nextTick, ref } from 'vue';\nimport { Head, useForm } from '@inertiajs/vue3';\nimport AuthenticationCard from '@/Jetstream/AuthenticationCard.vue';\nimport AuthenticationCardLogo from '@/Jetstream/AuthenticationCardLogo.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst recovery = ref(false);\n\nconst form = useForm({\n    code: '',\n    recovery_code: '',\n});\n\nconst recoveryCodeInput = ref(null);\nconst codeInput = ref(null);\n\nconst toggleRecovery = async () => {\n    recovery.value ^= true;\n\n    await nextTick();\n\n    if (recovery.value) {\n        recoveryCodeInput.value.focus();\n        form.code = '';\n    } else {\n        codeInput.value.focus();\n        form.recovery_code = '';\n    }\n};\n\nconst submit = () => {\n    form.post(route('two-factor.login'));\n};\n</script>\n\n<template>\n    <Head title=\"Two-factor Confirmation\" />\n\n    <AuthenticationCard>\n        <template #logo>\n            <AuthenticationCardLogo />\n        </template>\n\n        <div class=\"mb-4 text-sm text-gray-600 dark:text-gray-400\">\n            <template v-if=\"! recovery\">\n                Please confirm access to your account by entering the authentication code provided by your authenticator application.\n            </template>\n\n            <template v-else>\n                Please confirm access to your account by entering one of your emergency recovery codes.\n            </template>\n        </div>\n\n        <form @submit.prevent=\"submit\">\n            <div v-if=\"! recovery\">\n                <InputLabel for=\"code\" value=\"Code\" />\n                <TextInput\n                    id=\"code\"\n                    ref=\"codeInput\"\n                    v-model=\"form.code\"\n                    type=\"text\"\n                    inputmode=\"numeric\"\n                    class=\"mt-1 block w-full\"\n                    autofocus\n                    autocomplete=\"one-time-code\"\n                />\n                <InputError class=\"mt-2\" :message=\"form.errors.code\" />\n            </div>\n\n            <div v-else>\n                <InputLabel for=\"recovery_code\" value=\"Recovery Code\" />\n                <TextInput\n                    id=\"recovery_code\"\n                    ref=\"recoveryCodeInput\"\n                    v-model=\"form.recovery_code\"\n                    type=\"text\"\n                    class=\"mt-1 block w-full\"\n                    autocomplete=\"one-time-code\"\n                />\n                <InputError class=\"mt-2\" :message=\"form.errors.recovery_code\" />\n            </div>\n\n            <div class=\"flex items-center justify-end mt-4\">\n                <button type=\"button\" class=\"text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 underline cursor-pointer\" @click.prevent=\"toggleRecovery\">\n                    <template v-if=\"! recovery\">\n                        Use a recovery code\n                    </template>\n\n                    <template v-else>\n                        Use an authentication code\n                    </template>\n                </button>\n\n                <PrimaryButton class=\"ms-4\" :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                    Log in\n                </PrimaryButton>\n            </div>\n        </form>\n    </AuthenticationCard>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Auth/VerifyEmail.vue",
    "content": "<script setup>\nimport { computed } from 'vue';\nimport { Head, Link, useForm } from '@inertiajs/vue3';\nimport AuthenticationCard from '@/Jetstream/AuthenticationCard.vue';\nimport AuthenticationCardLogo from '@/Jetstream/AuthenticationCardLogo.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\n\nconst props = defineProps({\n    status: String,\n});\n\nconst form = useForm({});\n\nconst submit = () => {\n    form.post(route('verification.send'));\n};\n\nconst verificationLinkSent = computed(() => props.status === 'verification-link-sent');\n</script>\n\n<template>\n    <Head title=\"Email Verification\" />\n\n    <AuthenticationCard>\n        <template #logo>\n            <AuthenticationCardLogo />\n        </template>\n\n        <div class=\"mb-4 text-sm text-gray-600 dark:text-gray-400\">\n            Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\n        </div>\n\n        <div v-if=\"verificationLinkSent\" class=\"mb-4 font-medium text-sm text-green-600 dark:text-green-400\">\n            A new verification link has been sent to the email address you provided in your profile settings.\n        </div>\n\n        <form @submit.prevent=\"submit\">\n            <div class=\"mt-4 flex items-center justify-between\">\n                <PrimaryButton :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                    Resend Verification Email\n                </PrimaryButton>\n\n                <div>\n                    <Link\n                        :href=\"route('profile.show')\"\n                        class=\"underline text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:focus:ring-offset-gray-800\"\n                    >\n                        Edit Profile</Link>\n\n                    <Link\n                        :href=\"route('logout')\"\n                        method=\"post\"\n                        as=\"button\"\n                        class=\"underline text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:focus:ring-offset-gray-800 ms-2\"\n                    >\n                        Log Out\n                    </Link>\n                </div>\n            </div>\n        </form>\n    </AuthenticationCard>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Dashboard.vue",
    "content": "<template>\n    <app-layout title=\"Dashboard\" :header=\"tm('title')\">\n        <template #breadcrumb>\n            <t-breadcrumb :breadcrumb-style=\"1\" :breadcrumbs=\"breadcrumbs\" color=\"white\"/>\n        </template>\n        <template #default>\n            <!--Statistical Widgets-->\n            <grid-section :col=\"2\">\n                <!--With Icon, Down Direction-->\n                <t-statistic-widget\n                    color=\"solid-black\"\n                    diff-direction=\"down\"\n                    diff-value=\"15%\"\n                    widget-value=\"254\">\n                    <template #title>\n                        <span v-text=\"tm('incomes')\"/>\n                    </template>\n                    <template #icon>\n                        <t-cash-icon class=\"w-16 h-16\"/>\n                    </template>\n                </t-statistic-widget>\n                <!--With Icon, Up Direction-->\n                <t-statistic-widget\n                    :radius=\"5\"\n                    color=\"solid-green\"\n                    diff-direction=\"up\"\n                    diff-value=\"8\"\n                    widget-value=\"30\">\n                    <template #title>\n                        <span v-text=\"tm('dailyDoneCharts')\"/>\n                    </template>\n                    <template #icon>\n                        <t-shopping-bag-icon class=\"w-16 h-16\"/>\n                    </template>\n                </t-statistic-widget>\n                <!--Simple-->\n                <t-statistic-widget\n                    :radius=\"5\"\n                    color=\"solid-red\"\n                    diff-direction=\"down\"\n                    diff-value=\"8%\"\n                    widget-value=\"12.254,05 TL\">\n                    <template #title>\n                        <span v-text=\"tm('refunds')\"/>\n                    </template>\n                </t-statistic-widget>\n                <!--With Picture, Down Direction-->\n                <t-statistic-widget\n                    :radius=\"5\"\n                    color=\"solid-white\"\n                    diff-direction=\"down\"\n                    diff-value=\"15%\"\n                    widget-value=\"254 USD\">\n                    <template #title>\n                        <span v-text=\"tm('stationeryCost')\"/>\n                    </template>\n                    <template #picture>\n                        <img :src=\"'/img/samples/imgMelBaylon-6WLcOFn4HKE-unsplash.jpg'\">\n                    </template>\n                </t-statistic-widget>\n            </grid-section>\n            <!--Content Box-->\n            <grid-section :col=\"3\">\n                <!--List-->\n                <t-content-card :width=\"1\">\n                    <template #title>\n                        <span v-text=\"tm('userList')\"/>\n                    </template>\n                    <template #content>\n                        <t-list :radius=\"3\" class=\"w-full\" design=\"light\" color=\"white\" border>\n                            <t-list-item>\n                                <template #icon>\n                                    <t-avatar :radius=\"8\" :size=\"2\" src=\"https://i.pravatar.cc/150?u=1\"></t-avatar>\n                                </template>\n                                <template #default>{{tm('name1')}}</template>\n                            </t-list-item>\n                            <t-list-item>\n                                <template #icon>\n                                    <t-avatar :radius=\"8\" :size=\"2\" src=\"https://i.pravatar.cc/150?u=2\"></t-avatar>\n                                </template>\n                                <template #default>{{tm('name2')}}</template>\n                            </t-list-item>\n                            <t-list-item>\n                                <template #icon>\n                                    <t-avatar :radius=\"8\" :size=\"2\" src=\"https://i.pravatar.cc/150?u=3\"></t-avatar>\n                                </template>\n                                <template #default>{{tm('name3')}}</template>\n                            </t-list-item>\n                            <t-list-item>\n                                <template #icon>\n                                    <t-avatar :radius=\"8\" :size=\"2\" src=\"https://i.pravatar.cc/150?u=4\"></t-avatar>\n                                </template>\n                                <template #default>{{tm('name4')}}</template>\n                            </t-list-item>\n                        </t-list>\n                    </template>\n                </t-content-card>\n                <t-content-card :width=\"2\">\n                    <template #title>\n                        <span v-text=\"tm('activeProjects')\"/>\n                    </template>\n                    <template #content>\n                        <!--Table-->\n                        <t-table\n                            :content=\"tableContent\"\n                            :header=\"tableHeader\"\n                            :features=\"tableFeatures\"\n                        >\n                            <template #status=\"{props}\">\n                                <div class=\"flex justify-center\">\n                                    <t-progress :model-value=\"props.status\" color=\"green\"/>\n                                </div>\n                            </template>\n                        </t-table>\n                    </template>\n                </t-content-card>\n            </grid-section>\n            <!--Alerts-->\n            <grid-section :col-tablet=\"3\">\n                <!--Red-Deleted-->\n                <t-alert design=\"filled\" :closeable=\"true\" color=\"danger\">\n                    <template #icon>\n                        <t-trash-icon slot=\"icon\" class=\"w-6 h-6\"/>\n                    </template>\n                    <span v-text=\"tm('alertDeleted')\"/>\n                </t-alert>\n                <!--Blue-Info-->\n                <t-alert design=\"inline\" color=\"info\">\n                    <template #icon>\n                        <t-information-circle-icon class=\"w-6 h-6\"/>\n                    </template>\n                    <span v-text=\"tm('alertOverwrite')\"/>\n                </t-alert>\n                <!--Green Success-->\n                <t-alert design=\"outline\" color=\"success\">\n                    <template #icon>\n                        <t-check-circle-icon class=\"w-6 h-6\"/>\n                    </template>\n                    <span v-text=\"tm('alertSaved')\"/>\n                </t-alert>\n            </grid-section>\n            <!--Rich Alerts-->\n            <grid-section :col-tablet=\"2\">\n                <t-alert :radius=\"3\" design=\"gradient\" color=\"fuchsia\" :closeable=\"true\">\n                    <template #icon>\n                        <t-avatar :radius=\"8\" :size=\"3\" src=\"https://i.pravatar.cc/300\"/>\n                    </template>\n                    <span v-html=\"tm('alertNewUser')\"/>\n                </t-alert>\n                <t-alert\n                    :radius=\"3\"\n                    design=\"elegant\"\n                    :title=\"tm('alertDeletedUserTitle')\"\n                    color=\"warning\"\n                    :closeable=\"true\"\n                >\n                    <span v-html=\"tm('alertDeletedUser')\"/>\n                </t-alert>\n            </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Main functions*/\nimport {defineComponent, reactive} from \"vue\";\n\n/*Components*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TStatisticWidget from \"@/Components/Card/TStatisticWidget.vue\";\nimport TCashIcon from \"@/Components/Icon/TCashIcon.vue\";\nimport TShoppingBagIcon from \"@/Components/Icon/TShoppingBagIcon.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TList from \"@/Components/List/TList.vue\";\nimport TListItem from \"@/Components/List/TListItem.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\nimport TTable from \"@/Components/Table/TTable.vue\";\nimport TBreadcrumb from \"@/Components/Breadcrumb/TBreadcrumb.vue\";\nimport TProgress from \"@/Components/Progress/TProgress.vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\nimport TInformationCircleIcon from \"@/Components/Icon/TInformationCircleIcon.vue\";\nimport TTrashIcon from \"@/Components/Icon/TTrashIcon.vue\";\nimport TCheckCircleIcon from \"@/Components/Icon/TCheckCircleIcon.vue\";\n\n/*Multi language*/\nimport {useI18n} from \"vue-i18n\";\n\nexport default defineComponent({\n    components: {\n        AppLayout,\n        TCheckCircleIcon,\n        TTrashIcon,\n        TInformationCircleIcon,\n        TAlert,\n        TProgress,\n        TBreadcrumb,\n        TTable,\n        TAvatar,\n        TListItem,\n        TList,\n        TContentCard,\n        TShoppingBagIcon,\n        TCashIcon,\n        TStatisticWidget,\n        GridSection\n    },\n    setup() {\n        const {tm} = useI18n({\n            messages: {\n                bg: {\n                    title: \"Добре дошли в Anemon\",\n                    home: \"Дом\",\n                    dashboard: \"Табло за управление\",\n                    incomes: \"Доходи\",\n                    dailyDoneCharts: \"Дневни графики\",\n                    refunds: \"Възстановявания\",\n                    stationeryCost: \"Възстановяване на средства\",\n                    userList: \"Списък с потребители\",\n                    activeProjects: \"Активни проекти\",\n                    name: \"Име\",\n                    startDate: \"Начална дата\",\n                    endDate: \"Крайна дата\",\n                    status: \"Състояние\",\n                    simpleSearch: \"Просто търсене\",\n                    name1: \"Siyan Alekov Hristov\",\n                    name2: \"Brayko Vasilov Atanasov\",\n                    name3: \"Mihaela Demitrova Tsankova\",\n                    name4: \"Tanya Iskrenova Adamova\",\n                    alertDeleted: \"Потребителят е изтрит успешно, щракнете върху мен\",\n                    alertOverwrite: \"Всички промени се презаписват върху себе си\",\n                    alertSaved: \"Нов елемент е запазен успешно\",\n                    alertNewUser: \"Новият потребител е добавен успешно\\n\" +\n                        \"<b>Потребител:</b> Sinan AYDOĞAN\",\n                    alertDeletedUserTitle: \"предупреждение\",\n                    alertDeletedUser: \"Потребителят е изтрит успешно\\n\" +\n                        \"<b>Потребител:</b> Zuhal TAŞÇI\"\n                },\n                de: {\n                    title: \"Willkommen bei Anemon\",\n                    home: \"zu Hause\",\n                    dashboard: \"Dashboard\",\n                    incomes: \"Einkommen\",\n                    dailyDoneCharts: \"Daily Done Charts\",\n                    refunds: \"Rückerstattungen\",\n                    stationeryCost: \"Erstattungen\",\n                    userList: \"Benutzerliste\",\n                    activeProjects: \"Aktive Projekte\",\n                    name: \"Name\",\n                    startDate: \"Startdatum\",\n                    endDate: \"Enddatum\",\n                    status: \"Zustand\",\n                    simpleSearch: \"Einfache Suche\",\n                    name1: \"Siyan Alekov Hristov\",\n                    name2: \"Victor Bergius\",\n                    name3: \"Jessi Nachtigal\",\n                    name4: \"Silvia Krauss\",\n                    alertDeleted: \"Der Benutzer wurde erfolgreich gelöscht, klick mich an\",\n                    alertOverwrite: \"Alle Änderungen überschreiben sich selbst\",\n                    alertSaved: \"Neues Element erfolgreich gespeichert\",\n                    alertNewUser: \"Der neue Benutzer wurde erfolgreich hinzugefügt.\" +\n                        \"<br/><b>Benutzer:</b> Sinan AYDOĞAN\",\n                    alertDeletedUserTitle: \"Warnung\",\n                    alertDeletedUser: \"Der Benutzer wurde erfolgreich gelöscht\" +\n                        \"<br/><b>Benutzer:</b> Zuhal TAŞÇI\"\n                },\n                en: {\n                    title: \"Welcome to Anemon\",\n                    home: \"Home\",\n                    dashboard: \"Dashboard\",\n                    incomes: \"Incomes\",\n                    dailyDoneCharts: \"Daily Done Charts\",\n                    refunds: \"Refunds\",\n                    stationeryCost: \"Refunds\",\n                    userList: \"Users List\",\n                    activeProjects: \"Active Projects\",\n                    name: \"Name\",\n                    startDate: \"Start Date\",\n                    endDate: \"End Date\",\n                    status: \"Status\",\n                    simpleSearch: \"Simple Search\",\n                    name1: \"Sinem Aydoğan\",\n                    name2: \"Reema Oconnor\",\n                    name3: \"Mia-Rose Justice\",\n                    name4: \"Louise Watts\",\n                    alertDeleted: \"The user deleted successfully,click me\",\n                    alertOverwrite: \"The all of changes overwrite to themself\",\n                    alertSaved: \"New item saved successfully\",\n                    alertNewUser: \"The new user is successfully added.\" +\n                        \"<br/><b>User:</b> Sinan AYDOĞAN\",\n                    alertDeletedUserTitle: \"warning\",\n                    alertDeletedUser: \"The user deleted successfully\" +\n                        \"<br/><b>User:</b> Zuhal TAŞÇI\"\n                },\n                tr: {\n                    title: \"Anemon'a Hoşgeldiniz\",\n                    home: \"Ana Sayfa\",\n                    dashboard: \"Panel\",\n                    incomes: \"Gelirler\",\n                    dailyDoneCharts: \"Günlük Tamamlanan\",\n                    refunds: \"Geri İadeler\",\n                    stationeryCost: \"Kırtasiye Gideri\",\n                    userList: \"Kullanıcılar\",\n                    activeProjects: \"Aktif Projeler\",\n                    name: \"İsim\",\n                    startDate: \"Başlangıç\",\n                    endDate: \"Bitiş\",\n                    status: \"Durum\",\n                    simpleSearch: \"Arama\",\n                    name1: \"Sinem Aydoğan\",\n                    name2: \"Zuhal Taşçı\",\n                    name3: \"Ayşe Gürel\",\n                    name4: \"Günel Deren\",\n                    alertDeleted: \"Kullanıcı başarıyla silindi\",\n                    alertOverwrite: \"Tüm değişikler var olan kayıdın üzerine yazılacak\",\n                    alertSaved: \"Yeni içerik başarıyla eklendi\",\n                    alertNewUser: \"Yeni kullanıcı başarıyla eklendi\\n\" +\n                        \"<b>Kullanıcı:</b> Sinan AYDOĞAN\",\n                    alertDeletedUserTitle: \"uyarı\",\n                    alertDeletedUser: \"Kullanıcı başarıyla silindi\\n\" +\n                        \"<b>Kullanıcı:</b> Zuhal TAŞÇI\"\n                },\n                ru: {\n                    title: \"Добро пожаловать в Анемон\",\n                    home: \"Дом\",\n                    dashboard: \"Панель приборов\",\n                    incomes: \"Доходы\",\n                    dailyDoneCharts: \"Ежедневные диаграммы\",\n                    refunds: \"Возвраты\",\n                    stationeryCost: \"Возврат\",\n                    userList: \"Список пользователей\",\n                    activeProjects: \"Активные проекты\",\n                    name: \"Имя\",\n                    startDate: \"Дата начала\",\n                    endDate: \"Дата окончания\",\n                    status: \"Статус\",\n                    simpleSearch: \"Простой поиск\",\n                    name1: \"Siyan Alekov Hristov\",\n                    name2: \"Shepkin Onufri Victorovich\",\n                    name3: \"Eybozhenko Lada Nikolayevna\",\n                    name4: \"Mager Vlada Makarovna\",\n                    alertDeleted: \"Пользователь успешно удален, нажмите на меня\",\n                    alertOverwrite: \"Все изменения перезаписываются на себя\",\n                    alertSaved: \"Новый элемент успешно сохранен\",\n                    alertNewUser: \"Новый пользователь успешно добавлен.\" +\n                        \"<br/><b>Пользователь:</b> Синан АЙДОГАН\",\n                    alertDeletedUserTitle: \"предупреждение\",\n                    alertDeletedUser: \"Пользователь успешно удален\" +\n                        \"<br/><b>Пользователь:</b> Зухал ТАШИ\"\n                },\n                zh: {\n                    title: \"欢迎来到海葵\",\n                    home: \"家\",\n                    dashboard: \"仪表板\",\n                    incomes: \"收入\",\n                    dailyDoneCharts: \"每日完成图表\",\n                    refunds: \"退款\",\n                    stationeryCost: \"退款\",\n                    userList: \"用户列表\",\n                    activeProjects: \"活动项目\",\n                    name: \"名称\",\n                    startDate: \"开始日期\",\n                    endDate: \"结束日期\",\n                    status: \"状态\",\n                    simpleSearch: \"简单搜索\",\n                    name1: \"Siyan Alekov Hristov\",\n                    name2: \"Yuan Lei\",\n                    name3: \"Liao Rong\",\n                    name4: \"Zhu Chang\",\n                    alertDeleted: \"用户删除成功，点我\",\n                    alertOverwrite: \"所有更改都覆盖到自己\",\n                    alertSaved: \"新项目保存成功\",\n                    alertNewUser: \"新用户添加成功。.\" +\n                        \"<br/><b>用户:</b> Sinan AYDOĞAN\",\n                    alertDeletedUserTitle: \"警告\",\n                    alertDeletedUser: \"用户删除成功\" +\n                        \"<br/><b>用户:</b> Zuhal TAŞÇI\"\n                },\n            }\n        });\n        const breadcrumbs = reactive([\n            {label: tm(\"home\"), link: \"/\", active: false},\n            {label: tm(\"dashboard\"), link: \"\", active: true, activeColor: \"blue\"}\n        ]);\n        const tableHeader = reactive([\n            {key: \"id\", label: \"ID\", align: \"center\"},\n            {key: \"name\", label: \"Name\", align: \"left\", searchable: true, status: true},\n            {key: \"start\", label: \"Start Date\", align: \"left\", status: true},\n            {key: \"end\", label: \"End Date\", align: \"left\", status: true},\n            {key: \"status\", label: \"Status\", align: \"center\", status: true}\n        ])\n        const tableContent = reactive([\n            {id: 1, name: \"VueJS Components\", start: \"01.03.2021\", end: \"14.09.2021\", status: 10},\n            {id: 2, name: \"Custom Style Optimize\", start: \"02.05.2021\", end: \"25.08.2021\", status: 20},\n            {id: 3, name: \"Error Management\", start: \"25.04.2021\", end: \"30.12.2021\", status: 70}\n        ])\n        const tableFeatures = reactive({\n            table: {\n                design: 'elegant',\n                rowBorder: true,\n                zebraRow: true,\n                radius: 3,\n                perPage: 5\n            },\n            pagination: {\n                status: true,\n                radius: 3,\n                range: 5,\n                jump: true,\n                nextText: \"Sonraki\",\n                previousText: \"Önceki\",\n                detailText: \"Sayfa: $a - $b\"\n            },\n            actions: {\n                status: true,\n                headerText: \"Aksiyonlar\"\n            },\n            deleteModal: {\n                headerText: \"Item's deleting\",\n                contentText: \"You are going to delete <br><b></b><br>Are you sure ?\",\n                icon: \"warning\"\n            }\n        });\n        return {tm, breadcrumbs, tableHeader, tableContent, tableFeatures};\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/PrivacyPolicy.vue",
    "content": "<template>\n    <Head title=\"Privacy Policy\" />\n\n    <div class=\"font-sans text-gray-900 antialiased\">\n        <div class=\"pt-4 bg-gray-100\">\n            <div class=\"min-h-screen flex flex-col items-center pt-6 sm:pt-0\">\n                <div>\n                    <jet-authentication-card-logo />\n                </div>\n\n                <div v-html=\"policy\" class=\"w-full sm:max-w-2xl mt-6 p-6 bg-white shadow-md overflow-hidden sm:rounded-lg prose\">\n                </div>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script setup>\nimport { Head } from '@inertiajs/vue3';\nimport JetAuthenticationCardLogo from '@/Jetstream/AuthenticationCardLogo.vue'\n\nconst policy = `\n    <h1>Privacy Policy</h1>\n    <p>Your privacy is important to us. This Privacy Policy explains how we collect, use, and protect your information when you use our services.</p>\n    <h2>Information We Collect</h2>\n    <ul>\n        <li>Personal information you provide when registering or using our site.</li>\n        <li>Usage data and cookies to improve your experience.</li>\n    </ul>\n    <h2>How We Use Information</h2>\n    <ul>\n        <li>To provide and maintain our services.</li>\n        <li>To communicate with you and improve our offerings.</li>\n    </ul>\n    <h2>Data Protection</h2>\n    <p>We implement security measures to safeguard your data. Your information is not shared with third parties except as required by law.</p>\n    <h2>Contact</h2>\n    <p>If you have any questions about this policy, please contact us.</p>\n`;\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Profile/Partials/DarkModePreferenceForm.vue",
    "content": "<script setup>\nimport { useForm } from \"@inertiajs/vue3\";\nimport ActionMessage from \"@/Jetstream/ActionMessage.vue\";\nimport FormSection from \"@/Jetstream/FormSection.vue\";\nimport InputError from \"@/Jetstream/InputError.vue\";\nimport PrimaryButton from \"@/Jetstream/PrimaryButton.vue\";\nimport { faSun, faMoon, faPalette } from \"@fortawesome/free-solid-svg-icons\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { watch } from \"vue\";\nimport { useDarkModeStore } from \"@/Stores/darkMode\";\n\nlibrary.add(faSun, faMoon, faPalette);\n\nconst props = defineProps({\n    user: Object\n});\n\nconst form = useForm({\n    dark_mode: props.user.dark_mode\n});\n\n/*Dark Mode*/\nconst darkModeStore= useDarkModeStore();\nconst { changeThemeUser} = darkModeStore;\n\nconst updateDarkModePreference = () => {\n    form.put(route(\"user.dark-mode-preference.update\"), {\n        errorBag: \"updateDarkModePreference\",\n        preserveScroll: true,\n        onSuccess: () => {\n            changeThemeUser(form.dark_mode);\n        }\n    });\n};\n\nwatch(() => props.user, (value) => {\n    form.dark_mode = value.dark_mode;\n});\n</script>\n\n<template>\n    <FormSection @submitted=\"updateDarkModePreference\">\n        <template #title>\n            Update Dark Mode Preference\n        </template>\n\n        <template #description>\n            Update your preferred dark mode.\n        </template>\n\n        <template #form>\n            <div class=\"flex justify-start items-center space-x-4 dark:text-slate-100\">\n                <!-- Light -->\n                <div\n                    @click=\"form.dark_mode = 'light'\"\n                    class=\"flex cursor-pointer px-2 py-1 rounded\"\n                    :class=\"{\n                    'bg-yellow-500 text-slate-50' : form.dark_mode  === 'light',\n                    'text-yellow-500' : form.dark_mode  !== 'light',\n                    }\"\n                >\n                    <span>\n                        <icon\n                            icon=\"sun\"\n                            size=\"lg\"\n                            key=\"light\"\n                            class=\"transform hover:scale-110 active:scale-90 transition-all duration-300\"\n                        />\n                    </span>\n                    <span v-if=\"form.dark_mode === 'light'\" class=\"ml-3 whitespace-nowrap\"\n                          v-text=\"$t('lightMode')\"></span>\n                </div>\n                <!-- Auto -->\n                <div\n                    @click=\"form.dark_mode = 'auto'\"\n                    class=\"flex cursor-pointer px-2 py-1 rounded\"\n                    :class=\"{\n                    'bg-sky-700 text-slate-50' : form.dark_mode  === 'auto',\n                    'text-sky-700' : form.dark_mode  !== 'auto',\n                    }\"\n                >\n                    <span>\n                        <icon\n                            icon=\"palette\"\n                            size=\"lg\"\n                            key=\"auto\"\n                            class=\"transform hover:scale-110 active:scale-90 transition-all duration-300\"\n                        />\n                    </span>\n                    <span v-if=\"form.dark_mode === 'auto'\" class=\"ml-3 whitespace-nowrap\" v-text=\"$t('auto')\"></span>\n                </div>\n\n\n                <!-- Dark -->\n                <div\n                    @click=\"form.dark_mode = 'dark'\"\n                    class=\"flex cursor-pointer px-2 py-1 rounded\"\n                    :class=\"{\n                    'bg-slate-700 text-slate-50' : form.dark_mode  === 'dark',\n                    'text-slate-700' : form.dark_mode  !== 'dark',\n\n                    }\"\n                >\n                    <span>\n                        <icon\n                            icon=\"moon\"\n                            size=\"lg\"\n                            key=\"dark\"\n                            class=\"transform hover:scale-110 active:scale-90 transition-all duration-300\"\n                        />\n                    </span>\n                    <span v-if=\"form.dark_mode === 'dark'\" class=\"ml-3 whitespace-nowrap\"\n                          v-text=\"$t('darkMode')\"></span>\n                </div>\n\n            </div>\n            <InputError :message=\"form.errors.dark_mode\" class=\"mt-2\" />\n        </template>\n\n        <template #actions>\n            <ActionMessage :on=\"form.recentlySuccessful\" class=\"me-3\">\n                Saved.\n            </ActionMessage>\n\n            <PrimaryButton :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                Save\n            </PrimaryButton>\n        </template>\n    </FormSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Profile/Partials/DeleteUserForm.vue",
    "content": "<script setup>\nimport { ref } from 'vue';\nimport { useForm } from '@inertiajs/vue3';\nimport ActionSection from '@/Jetstream/ActionSection.vue';\nimport DangerButton from '@/Jetstream/DangerButton.vue';\nimport DialogModal from '@/Jetstream/DialogModal.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport SecondaryButton from '@/Jetstream/SecondaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst confirmingUserDeletion = ref(false);\nconst passwordInput = ref(null);\n\nconst form = useForm({\n    password: '',\n});\n\nconst confirmUserDeletion = () => {\n    confirmingUserDeletion.value = true;\n\n    setTimeout(() => passwordInput.value.focus(), 250);\n};\n\nconst deleteUser = () => {\n    form.delete(route('current-user.destroy'), {\n        preserveScroll: true,\n        onSuccess: () => closeModal(),\n        onError: () => passwordInput.value.focus(),\n        onFinish: () => form.reset(),\n    });\n};\n\nconst closeModal = () => {\n    confirmingUserDeletion.value = false;\n\n    form.reset();\n};\n</script>\n\n<template>\n    <ActionSection>\n        <template #title>\n            Delete Account\n        </template>\n\n        <template #description>\n            Permanently delete your account.\n        </template>\n\n        <template #content>\n            <div class=\"max-w-xl text-sm text-gray-600 dark:text-gray-400\">\n                Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\n            </div>\n\n            <div class=\"mt-5\">\n                <DangerButton @click=\"confirmUserDeletion\">\n                    Delete Account\n                </DangerButton>\n            </div>\n\n            <!-- Delete Account Confirmation Modal -->\n            <DialogModal :show=\"confirmingUserDeletion\" @close=\"closeModal\">\n                <template #title>\n                    Delete Account\n                </template>\n\n                <template #content>\n                    Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\n\n                    <div class=\"mt-4\">\n                        <TextInput\n                            ref=\"passwordInput\"\n                            v-model=\"form.password\"\n                            type=\"password\"\n                            class=\"mt-1 block w-3/4\"\n                            placeholder=\"Password\"\n                            autocomplete=\"current-password\"\n                            @keyup.enter=\"deleteUser\"\n                        />\n\n                        <InputError :message=\"form.errors.password\" class=\"mt-2\" />\n                    </div>\n                </template>\n\n                <template #footer>\n                    <SecondaryButton @click=\"closeModal\">\n                        Cancel\n                    </SecondaryButton>\n\n                    <DangerButton\n                        class=\"ms-3\"\n                        :class=\"{ 'opacity-25': form.processing }\"\n                        :disabled=\"form.processing\"\n                        @click=\"deleteUser\"\n                    >\n                        Delete Account\n                    </DangerButton>\n                </template>\n            </DialogModal>\n        </template>\n    </ActionSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Profile/Partials/LogoutOtherBrowserSessionsForm.vue",
    "content": "<script setup>\nimport { ref } from 'vue';\nimport { useForm } from '@inertiajs/vue3';\nimport ActionMessage from '@/Jetstream/ActionMessage.vue';\nimport ActionSection from '@/Jetstream/ActionSection.vue';\nimport DialogModal from '@/Jetstream/DialogModal.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport SecondaryButton from '@/Jetstream/SecondaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\ndefineProps({\n    sessions: Array,\n});\n\nconst confirmingLogout = ref(false);\nconst passwordInput = ref(null);\n\nconst form = useForm({\n    password: '',\n});\n\nconst confirmLogout = () => {\n    confirmingLogout.value = true;\n\n    setTimeout(() => passwordInput.value.focus(), 250);\n};\n\nconst logoutOtherBrowserSessions = () => {\n    form.delete(route('other-browser-sessions.destroy'), {\n        preserveScroll: true,\n        onSuccess: () => closeModal(),\n        onError: () => passwordInput.value.focus(),\n        onFinish: () => form.reset(),\n    });\n};\n\nconst closeModal = () => {\n    confirmingLogout.value = false;\n\n    form.reset();\n};\n</script>\n\n<template>\n    <ActionSection>\n        <template #title>\n            Browser Sessions\n        </template>\n\n        <template #description>\n            Manage and log out your active sessions on other browsers and devices.\n        </template>\n\n        <template #content>\n            <div class=\"max-w-xl text-sm text-gray-600 dark:text-gray-400\">\n                If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\n            </div>\n\n            <!-- Other Browser Sessions -->\n            <div v-if=\"sessions.length > 0\" class=\"mt-5 space-y-6\">\n                <div v-for=\"(session, i) in sessions\" :key=\"i\" class=\"flex items-center\">\n                    <div>\n                        <svg v-if=\"session.agent.is_desktop\" class=\"w-8 h-8 text-gray-500\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 17.25v1.007a3 3 0 01-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0115 18.257V17.25m6-12V15a2.25 2.25 0 01-2.25 2.25H5.25A2.25 2.25 0 013 15V5.25m18 0A2.25 2.25 0 0018.75 3H5.25A2.25 2.25 0 003 5.25m18 0V12a2.25 2.25 0 01-2.25 2.25H5.25A2.25 2.25 0 013 12V5.25\" />\n                        </svg>\n\n                        <svg v-else class=\"w-8 h-8 text-gray-500\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\n                        </svg>\n                    </div>\n\n                    <div class=\"ms-3\">\n                        <div class=\"text-sm text-gray-600 dark:text-gray-400\">\n                            {{ session.agent.platform ? session.agent.platform : 'Unknown' }} - {{ session.agent.browser ? session.agent.browser : 'Unknown' }}\n                        </div>\n\n                        <div>\n                            <div class=\"text-xs text-gray-500\">\n                                {{ session.ip_address }},\n\n                                <span v-if=\"session.is_current_device\" class=\"text-green-500 font-semibold\">This device</span>\n                                <span v-else>Last active {{ session.last_active }}</span>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"flex items-center mt-5\">\n                <PrimaryButton @click=\"confirmLogout\">\n                    Log Out Other Browser Sessions\n                </PrimaryButton>\n\n                <ActionMessage :on=\"form.recentlySuccessful\" class=\"ms-3\">\n                    Done.\n                </ActionMessage>\n            </div>\n\n            <!-- Log Out Other Devices Confirmation Modal -->\n            <DialogModal :show=\"confirmingLogout\" @close=\"closeModal\">\n                <template #title>\n                    Log Out Other Browser Sessions\n                </template>\n\n                <template #content>\n                    Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\n\n                    <div class=\"mt-4\">\n                        <TextInput\n                            ref=\"passwordInput\"\n                            v-model=\"form.password\"\n                            type=\"password\"\n                            class=\"mt-1 block w-3/4\"\n                            placeholder=\"Password\"\n                            autocomplete=\"current-password\"\n                            @keyup.enter=\"logoutOtherBrowserSessions\"\n                        />\n\n                        <InputError :message=\"form.errors.password\" class=\"mt-2\" />\n                    </div>\n                </template>\n\n                <template #footer>\n                    <SecondaryButton @click=\"closeModal\">\n                        Cancel\n                    </SecondaryButton>\n\n                    <PrimaryButton\n                        class=\"ms-3\"\n                        :class=\"{ 'opacity-25': form.processing }\"\n                        :disabled=\"form.processing\"\n                        @click=\"logoutOtherBrowserSessions\"\n                    >\n                        Log Out Other Browser Sessions\n                    </PrimaryButton>\n                </template>\n            </DialogModal>\n        </template>\n    </ActionSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Profile/Partials/PreferredLanguageForm.vue",
    "content": "<script setup>\nimport { useForm } from '@inertiajs/vue3';\nimport ActionMessage from '@/Jetstream/ActionMessage.vue';\nimport FormSection from '@/Jetstream/FormSection.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport {languages} from \"@/Lang/languages\";\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\nimport { watch } from \"vue\";\nimport { useDisplayLanguageStore } from \"@/Stores/displayLanguage.js\";\n\nconst props = defineProps({\n    user: Object\n});\n\nconst form = useForm({\n    language: props.user.language,\n});\n\nconst updatePreferredLanguage = () => {\n    form.put(route('user.preferred-language.update'), {\n        errorBag: 'updatePreferredLanguage',\n        preserveScroll: true,\n        onSuccess: () => {\n            changeLang(form.language);\n        },\n    });\n};\n\n/*Multi language*/\nconst displayLanguageStore = useDisplayLanguageStore();\nconst { changeLang } = displayLanguageStore;\n\nwatch(() => props.user, (value) => {\n    form.language = value.language;\n});\n</script>\n\n<template>\n    <FormSection @submitted=\"updatePreferredLanguage\">\n        <template #title>\n            Update Language Preference\n        </template>\n\n        <template #description>\n            Update your preferred language.\n        </template>\n\n        <template #form>\n            <div class=\"col-span-6 sm:col-span-4\">\n                <t-input-select\n                    v-model=\"form.language\"\n                    :options=\"languages\"\n                    options-label-key=\"name\"\n                    options-value-key=\"id\"\n                    place-holder=\"Select Language\"\n                />\n                <InputError :message=\"form.errors.language\" class=\"mt-2\" />\n            </div>\n        </template>\n\n        <template #actions>\n            <ActionMessage :on=\"form.recentlySuccessful\" class=\"me-3\">\n                Saved.\n            </ActionMessage>\n\n            <PrimaryButton :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                Save\n            </PrimaryButton>\n        </template>\n    </FormSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Profile/Partials/TwoFactorAuthenticationForm.vue",
    "content": "<script setup>\nimport { ref, computed, watch } from 'vue';\nimport { router, useForm, usePage } from '@inertiajs/vue3';\nimport ActionSection from '@/Jetstream/ActionSection.vue';\nimport ConfirmsPassword from '@/Jetstream/ConfirmsPassword.vue';\nimport DangerButton from '@/Jetstream/DangerButton.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport SecondaryButton from '@/Jetstream/SecondaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst props = defineProps({\n    requiresConfirmation: Boolean,\n});\n\nconst page = usePage();\nconst enabling = ref(false);\nconst confirming = ref(false);\nconst disabling = ref(false);\nconst qrCode = ref(null);\nconst setupKey = ref(null);\nconst recoveryCodes = ref([]);\n\nconst confirmationForm = useForm({\n    code: '',\n});\n\nconst twoFactorEnabled = computed(\n    () => ! enabling.value && page.props.auth.user?.two_factor_enabled,\n);\n\nwatch(twoFactorEnabled, () => {\n    if (! twoFactorEnabled.value) {\n        confirmationForm.reset();\n        confirmationForm.clearErrors();\n    }\n});\n\nconst enableTwoFactorAuthentication = () => {\n    enabling.value = true;\n\n    router.post(route('two-factor.enable'), {}, {\n        preserveScroll: true,\n        onSuccess: () => Promise.all([\n            showQrCode(),\n            showSetupKey(),\n            showRecoveryCodes(),\n        ]),\n        onFinish: () => {\n            enabling.value = false;\n            confirming.value = props.requiresConfirmation;\n        },\n    });\n};\n\nconst showQrCode = () => {\n    return axios.get(route('two-factor.qr-code')).then(response => {\n        qrCode.value = response.data.svg;\n    });\n};\n\nconst showSetupKey = () => {\n    return axios.get(route('two-factor.secret-key')).then(response => {\n        setupKey.value = response.data.secretKey;\n    });\n}\n\nconst showRecoveryCodes = () => {\n    return axios.get(route('two-factor.recovery-codes')).then(response => {\n        recoveryCodes.value = response.data;\n    });\n};\n\nconst confirmTwoFactorAuthentication = () => {\n    confirmationForm.post(route('two-factor.confirm'), {\n        errorBag: \"confirmTwoFactorAuthentication\",\n        preserveScroll: true,\n        preserveState: true,\n        onSuccess: () => {\n            confirming.value = false;\n            qrCode.value = null;\n            setupKey.value = null;\n        },\n    });\n};\n\nconst regenerateRecoveryCodes = () => {\n    axios\n        .post(route('two-factor.recovery-codes'))\n        .then(() => showRecoveryCodes());\n};\n\nconst disableTwoFactorAuthentication = () => {\n    disabling.value = true;\n\n    router.delete(route('two-factor.disable'), {\n        preserveScroll: true,\n        onSuccess: () => {\n            disabling.value = false;\n            confirming.value = false;\n        },\n    });\n};\n</script>\n\n<template>\n    <ActionSection>\n        <template #title>\n            Two Factor Authentication\n        </template>\n\n        <template #description>\n            Add additional security to your account using two factor authentication.\n        </template>\n\n        <template #content>\n            <h3 v-if=\"twoFactorEnabled && ! confirming\" class=\"text-lg font-medium text-gray-900 dark:text-gray-100\">\n                You have enabled two factor authentication.\n            </h3>\n\n            <h3 v-else-if=\"twoFactorEnabled && confirming\" class=\"text-lg font-medium text-gray-900 dark:text-gray-100\">\n                Finish enabling two factor authentication.\n            </h3>\n\n            <h3 v-else class=\"text-lg font-medium text-gray-900 dark:text-gray-100\">\n                You have not enabled two factor authentication.\n            </h3>\n\n            <div class=\"mt-3 max-w-xl text-sm text-gray-600 dark:text-gray-400\">\n                <p>\n                    When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\n                </p>\n            </div>\n\n            <div v-if=\"twoFactorEnabled\">\n                <div v-if=\"qrCode\">\n                    <div class=\"mt-4 max-w-xl text-sm text-gray-600 dark:text-gray-400\">\n                        <p v-if=\"confirming\" class=\"font-semibold\">\n                            To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\n                        </p>\n\n                        <p v-else>\n                            Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\n                        </p>\n                    </div>\n\n                    <div class=\"mt-4 p-2 inline-block bg-white\" v-html=\"qrCode\" />\n\n                    <div v-if=\"setupKey\" class=\"mt-4 max-w-xl text-sm text-gray-600 dark:text-gray-400\">\n                        <p class=\"font-semibold\">\n                            Setup Key: <span v-html=\"setupKey\"></span>\n                        </p>\n                    </div>\n\n                    <div v-if=\"confirming\" class=\"mt-4\">\n                        <InputLabel for=\"code\" value=\"Code\" />\n\n                        <TextInput\n                            id=\"code\"\n                            v-model=\"confirmationForm.code\"\n                            type=\"text\"\n                            name=\"code\"\n                            class=\"block mt-1 w-1/2\"\n                            inputmode=\"numeric\"\n                            autofocus\n                            autocomplete=\"one-time-code\"\n                            @keyup.enter=\"confirmTwoFactorAuthentication\"\n                        />\n\n                        <InputError :message=\"confirmationForm.errors.code\" class=\"mt-2\" />\n                    </div>\n                </div>\n\n                <div v-if=\"recoveryCodes.length > 0 && ! confirming\">\n                    <div class=\"mt-4 max-w-xl text-sm text-gray-600 dark:text-gray-400\">\n                        <p class=\"font-semibold\">\n                            Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\n                        </p>\n                    </div>\n\n                    <div class=\"grid gap-1 max-w-xl mt-4 px-4 py-4 font-mono text-sm bg-gray-100 dark:bg-gray-900 dark:text-gray-100 rounded-lg\">\n                        <div v-for=\"code in recoveryCodes\" :key=\"code\">\n                            {{ code }}\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"mt-5\">\n                <div v-if=\"! twoFactorEnabled\">\n                    <ConfirmsPassword @confirmed=\"enableTwoFactorAuthentication\">\n                        <PrimaryButton type=\"button\" :class=\"{ 'opacity-25': enabling }\" :disabled=\"enabling\">\n                            Enable\n                        </PrimaryButton>\n                    </ConfirmsPassword>\n                </div>\n\n                <div v-else>\n                    <ConfirmsPassword @confirmed=\"confirmTwoFactorAuthentication\">\n                        <PrimaryButton\n                            v-if=\"confirming\"\n                            type=\"button\"\n                            class=\"me-3\"\n                            :class=\"{ 'opacity-25': enabling }\"\n                            :disabled=\"enabling\"\n                        >\n                            Confirm\n                        </PrimaryButton>\n                    </ConfirmsPassword>\n\n                    <ConfirmsPassword @confirmed=\"regenerateRecoveryCodes\">\n                        <SecondaryButton\n                            v-if=\"recoveryCodes.length > 0 && ! confirming\"\n                            class=\"me-3\"\n                        >\n                            Regenerate Recovery Codes\n                        </SecondaryButton>\n                    </ConfirmsPassword>\n\n                    <ConfirmsPassword @confirmed=\"showRecoveryCodes\">\n                        <SecondaryButton\n                            v-if=\"recoveryCodes.length === 0 && ! confirming\"\n                            class=\"me-3\"\n                        >\n                            Show Recovery Codes\n                        </SecondaryButton>\n                    </ConfirmsPassword>\n\n                    <ConfirmsPassword @confirmed=\"disableTwoFactorAuthentication\">\n                        <SecondaryButton\n                            v-if=\"confirming\"\n                            :class=\"{ 'opacity-25': disabling }\"\n                            :disabled=\"disabling\"\n                        >\n                            Cancel\n                        </SecondaryButton>\n                    </ConfirmsPassword>\n\n                    <ConfirmsPassword @confirmed=\"disableTwoFactorAuthentication\">\n                        <DangerButton\n                            v-if=\"! confirming\"\n                            :class=\"{ 'opacity-25': disabling }\"\n                            :disabled=\"disabling\"\n                        >\n                            Disable\n                        </DangerButton>\n                    </ConfirmsPassword>\n                </div>\n            </div>\n        </template>\n    </ActionSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Profile/Partials/UpdatePasswordForm.vue",
    "content": "<script setup>\nimport { ref } from 'vue';\nimport { useForm } from '@inertiajs/vue3';\nimport ActionMessage from '@/Jetstream/ActionMessage.vue';\nimport FormSection from '@/Jetstream/FormSection.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst passwordInput = ref(null);\nconst currentPasswordInput = ref(null);\n\nconst form = useForm({\n    current_password: '',\n    password: '',\n    password_confirmation: '',\n});\n\nconst updatePassword = () => {\n    form.put(route('user-password.update'), {\n        errorBag: 'updatePassword',\n        preserveScroll: true,\n        onSuccess: () => form.reset(),\n        onError: () => {\n            if (form.errors.password) {\n                form.reset('password', 'password_confirmation');\n                passwordInput.value.focus();\n            }\n\n            if (form.errors.current_password) {\n                form.reset('current_password');\n                currentPasswordInput.value.focus();\n            }\n        },\n    });\n};\n</script>\n\n<template>\n    <FormSection @submitted=\"updatePassword\">\n        <template #title>\n            Update Password\n        </template>\n\n        <template #description>\n            Ensure your account is using a long, random password to stay secure.\n        </template>\n\n        <template #form>\n            <div class=\"col-span-6 sm:col-span-4\">\n                <InputLabel for=\"current_password\" value=\"Current Password\" />\n                <TextInput\n                    id=\"current_password\"\n                    ref=\"currentPasswordInput\"\n                    v-model=\"form.current_password\"\n                    type=\"password\"\n                    class=\"mt-1 block w-full\"\n                    autocomplete=\"current-password\"\n                />\n                <InputError :message=\"form.errors.current_password\" class=\"mt-2\" />\n            </div>\n\n            <div class=\"col-span-6 sm:col-span-4\">\n                <InputLabel for=\"password\" value=\"New Password\" />\n                <TextInput\n                    id=\"password\"\n                    ref=\"passwordInput\"\n                    v-model=\"form.password\"\n                    type=\"password\"\n                    class=\"mt-1 block w-full\"\n                    autocomplete=\"new-password\"\n                />\n                <InputError :message=\"form.errors.password\" class=\"mt-2\" />\n            </div>\n\n            <div class=\"col-span-6 sm:col-span-4\">\n                <InputLabel for=\"password_confirmation\" value=\"Confirm Password\" />\n                <TextInput\n                    id=\"password_confirmation\"\n                    v-model=\"form.password_confirmation\"\n                    type=\"password\"\n                    class=\"mt-1 block w-full\"\n                    autocomplete=\"new-password\"\n                />\n                <InputError :message=\"form.errors.password_confirmation\" class=\"mt-2\" />\n            </div>\n        </template>\n\n        <template #actions>\n            <ActionMessage :on=\"form.recentlySuccessful\" class=\"me-3\">\n                Saved.\n            </ActionMessage>\n\n            <PrimaryButton :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                Save\n            </PrimaryButton>\n        </template>\n    </FormSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Profile/Partials/UpdateProfileInformationForm.vue",
    "content": "<script setup>\nimport { ref } from \"vue\";\nimport { Link, router, useForm } from \"@inertiajs/vue3\";\nimport ActionMessage from \"@/Jetstream/ActionMessage.vue\";\nimport FormSection from \"@/Jetstream/FormSection.vue\";\nimport InputError from \"@/Jetstream/InputError.vue\";\nimport InputLabel from \"@/Jetstream/InputLabel.vue\";\nimport PrimaryButton from \"@/Jetstream/PrimaryButton.vue\";\nimport SecondaryButton from \"@/Jetstream/SecondaryButton.vue\";\nimport TextInput from \"@/Jetstream/TextInput.vue\";\n\nconst props = defineProps({\n    user: Object\n});\n\nconst form = useForm({\n    _method: \"PUT\",\n    name: props.user.name,\n    email: props.user.email,\n    photo: null\n});\n\nconst verificationLinkSent = ref(null);\nconst photoPreview = ref(null);\nconst photoInput = ref(null);\n\nconst updateProfileInformation = () => {\n    if (photoInput.value) {\n        form.photo = photoInput.value.files[0];\n    }\n\n    form.post(route(\"user-profile-information.update\"), {\n        errorBag: \"updateProfileInformation\",\n        preserveScroll: true,\n        onSuccess: () => clearPhotoFileInput()\n    });\n};\n\nconst sendEmailVerification = () => {\n    verificationLinkSent.value = true;\n};\n\nconst selectNewPhoto = () => {\n    photoInput.value.click();\n};\n\nconst updatePhotoPreview = () => {\n    const photo = photoInput.value.files[0];\n\n    if (!photo) return;\n\n    const reader = new FileReader();\n\n    reader.onload = (e) => {\n        photoPreview.value = e.target.result;\n    };\n\n    reader.readAsDataURL(photo);\n};\n\nconst deletePhoto = () => {\n    router.delete(route(\"current-user-photo.destroy\"), {\n        preserveScroll: true,\n        onSuccess: () => {\n            photoPreview.value = null;\n            clearPhotoFileInput();\n        }\n    });\n};\n\nconst clearPhotoFileInput = () => {\n    if (photoInput.value?.value) {\n        photoInput.value.value = null;\n    }\n};\n</script>\n\n<template>\n    <FormSection @submitted=\"updateProfileInformation\">\n        <template #title>\n            Profile Information\n        </template>\n\n        <template #description>\n            Update your account's profile information and email address.\n        </template>\n\n        <template #form>\n            <!-- Profile Photo -->\n            <div v-if=\"$page.props.jetstream.managesProfilePhotos\" class=\"col-span-6 sm:col-span-4\">\n                <!-- Profile Photo File Input -->\n                <input\n                    id=\"photo\"\n                    ref=\"photoInput\"\n                    type=\"file\"\n                    class=\"hidden\"\n                    @change=\"updatePhotoPreview\"\n                >\n\n                <InputLabel for=\"photo\" value=\"Photo\" />\n\n                <!-- Current Profile Photo -->\n                <div v-show=\"! photoPreview\" class=\"mt-2\">\n                    <img :src=\"user.profile_photo_url\" :alt=\"user.name\" class=\"rounded-full h-20 w-20 object-cover\">\n                </div>\n\n                <!-- New Profile Photo Preview -->\n                <div v-show=\"photoPreview\" class=\"mt-2\">\n                    <span\n                        class=\"block rounded-full w-20 h-20 bg-cover bg-no-repeat bg-center\"\n                        :style=\"'background-image: url(\\'' + photoPreview + '\\');'\"\n                    />\n                </div>\n\n                <SecondaryButton class=\"mt-2 me-2\" type=\"button\" @click.prevent=\"selectNewPhoto\">\n                    Select A New Photo\n                </SecondaryButton>\n\n                <SecondaryButton\n                    v-if=\"user.profile_photo_path\"\n                    type=\"button\"\n                    class=\"mt-2\"\n                    @click.prevent=\"deletePhoto\"\n                >\n                    Remove Photo\n                </SecondaryButton>\n\n                <InputError :message=\"form.errors.photo\" class=\"mt-2\" />\n            </div>\n\n            <!-- Name -->\n            <div class=\"col-span-6 sm:col-span-4\">\n                <InputLabel for=\"name\" value=\"Name\" />\n                <TextInput\n                    id=\"name\"\n                    v-model=\"form.name\"\n                    type=\"text\"\n                    class=\"mt-1 block w-full\"\n                    required\n                    autocomplete=\"name\"\n                />\n                <InputError :message=\"form.errors.name\" class=\"mt-2\" />\n            </div>\n\n            <!-- Email -->\n            <div class=\"col-span-6 sm:col-span-4\">\n                <InputLabel for=\"email\" value=\"Email\" />\n                <TextInput\n                    id=\"email\"\n                    v-model=\"form.email\"\n                    type=\"email\"\n                    class=\"mt-1 block w-full\"\n                    required\n                    autocomplete=\"username\"\n                />\n                <InputError :message=\"form.errors.email\" class=\"mt-2\" />\n\n                <div v-if=\"$page.props.jetstream.hasEmailVerification && user.email_verified_at === null\">\n                    <p class=\"text-sm mt-2 dark:text-white\">\n                        Your email address is unverified.\n\n                        <Link\n                            :href=\"route('verification.send')\"\n                            method=\"post\"\n                            as=\"button\"\n                            class=\"underline text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:focus:ring-offset-gray-800\"\n                            @click.prevent=\"sendEmailVerification\"\n                        >\n                            Click here to re-send the verification email.\n                        </Link>\n                    </p>\n\n                    <div v-show=\"verificationLinkSent\"\n                         class=\"mt-2 font-medium text-sm text-green-600 dark:text-green-400\">\n                        A new verification link has been sent to your email address.\n                    </div>\n                </div>\n            </div>\n        </template>\n\n        <template #actions>\n            <ActionMessage :on=\"form.recentlySuccessful\" class=\"me-3\">\n                Saved.\n            </ActionMessage>\n\n            <PrimaryButton :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                Save\n            </PrimaryButton>\n        </template>\n    </FormSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Profile/Show.vue",
    "content": "<script setup>\nimport AppLayout from '@/Layouts/AppLayout.vue';\nimport DeleteUserForm from '@/Pages/Profile/Partials/DeleteUserForm.vue';\nimport LogoutOtherBrowserSessionsForm from '@/Pages/Profile/Partials/LogoutOtherBrowserSessionsForm.vue';\nimport SectionBorder from '@/Jetstream/SectionBorder.vue';\nimport TwoFactorAuthenticationForm from '@/Pages/Profile/Partials/TwoFactorAuthenticationForm.vue';\nimport UpdatePasswordForm from '@/Pages/Profile/Partials/UpdatePasswordForm.vue';\nimport UpdateProfileInformationForm from '@/Pages/Profile/Partials/UpdateProfileInformationForm.vue';\nimport PreferredLanguageForm from \"@/Pages/Profile/Partials/PreferredLanguageForm.vue\";\nimport DarkModePreferenceForm from \"@/Pages/Profile/Partials/DarkModePreferenceForm.vue\";\n\ndefineProps({\n    confirmsTwoFactorAuthentication: Boolean,\n    sessions: Array,\n});\n</script>\n\n<template>\n    <AppLayout title=\"Profile\">\n        <template #header>\n            <h2 class=\"font-semibold text-xl text-gray-800 dark:text-gray-200 leading-tight\">\n                Profile\n            </h2>\n        </template>\n\n        <div>\n            <div class=\"max-w-7xl mx-auto py-10 sm:px-6 lg:px-8\">\n                <div v-if=\"$page.props.jetstream.canUpdateProfileInformation\">\n                    <UpdateProfileInformationForm :user=\"$page.props.auth.user\" />\n\n                    <SectionBorder />\n                </div>\n\n                <div v-if=\"$page.props.jetstream.canUpdatePassword\">\n                    <UpdatePasswordForm class=\"mt-10 sm:mt-0\" />\n\n                    <SectionBorder />\n                </div>\n\n                <div>\n                    <PreferredLanguageForm class=\"mt-10 sm:mt-0\"  :user=\"$page.props.auth.user\"/>\n\n                    <SectionBorder />\n                </div>\n\n                <div>\n                    <DarkModePreferenceForm class=\"mt-10 sm:mt-0\"  :user=\"$page.props.auth.user\"/>\n\n                    <SectionBorder />\n                </div>\n\n                <div v-if=\"$page.props.jetstream.canManageTwoFactorAuthentication\">\n                    <TwoFactorAuthenticationForm\n                        :requires-confirmation=\"confirmsTwoFactorAuthentication\"\n                        class=\"mt-10 sm:mt-0\"\n                    />\n\n                    <SectionBorder />\n                </div>\n\n                <LogoutOtherBrowserSessionsForm :sessions=\"sessions\" class=\"mt-10 sm:mt-0\" />\n\n                <template v-if=\"$page.props.jetstream.hasAccountDeletionFeatures\">\n                    <SectionBorder />\n\n                    <DeleteUserForm class=\"mt-10 sm:mt-0\" />\n                </template>\n            </div>\n        </div>\n    </AppLayout>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Alert.vue",
    "content": "<template>\n    <Head title=\"Alerts\" />\n    <app-layout>\n        <template #header>{{ tm('pageTitle') }}</template>\n        <template #subHeader>{{ tm('pageSubTitle') }}</template>\n        <template #default>\n            <grid-section :col=\"1\" :gap=\"4\">\n                <template v-for=\"content in demoContents\" :key=\"content.id\">\n                    <t-code-showcase\n                        :tabs=\"showcaseTabs\"\n                        @click.capture=\"activeShowcase = content.design\"\n                    >\n                        <t-alert\n                            :id=\"content.id\"\n                            :design=\"content.design\"\n                            :color=\"content.color\"\n                            :radius=\"content.radius\"\n                            :title=\"content.title ? tm(content.title) : null\"\n                            :closeable=\"content.closeable\"\n                            :timer-status=\"content.timerStatus\"\n                            @destroy=\"revive(demoContents[content.design])\"\n                        >\n                            <template #icon v-if=\"content.icon || content.media\">\n                                <icon v-if=\"content.icon\" :icon=\"content.icon\" size=\"lg\" />\n                                <t-avatar\n                                    v-if=\"content.media\"\n                                    :radius=\"8\"\n                                    :size=\"3\"\n                                    src=\"https://i.pravatar.cc/300\"\n                                    class=\"my-2\"\n                                />\n                            </template>\n                            <span v-text=\"tm(content.content)\"></span>\n                        </t-alert>\n                        <!-- Revive Message -->\n                        <div\n                            v-if=\"reviveMessageStatus[content.design]\"\n                            class=\"flex justify-center items-center space-x-4 font-semibold text-yellow-600 dark:text-white bg-yellow-300/10 dark:bg-yellow-700/20 border border-yellow-600 rounded p-4 pulse\"\n                        >\n                            <icon icon=\"info\" size=\"lg\" />\n                            <span v-text=\"tm('reviveMessage')\"></span>\n                        </div>\n                        <template #js>{{ docSamples[content.design].js }}</template>\n                        <template #template>{{ docSamples[content.design].template }}</template>\n                        <template #label=\"slotProps\">\n                            <icon v-if=\"slotProps.tab.id === 'timer'\" icon=\"play\" size=\"sm\" />\n                            <span v-text=\"slotProps.tab.label\" />\n                        </template>\n                    </t-code-showcase>\n                </template>\n            </grid-section>,\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Main Functions*/\nimport { defineComponent, ref, reactive } from \"vue\";\nimport { Head } from \"@inertiajs/vue3\";\n\n/*Component*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\nimport TCodeShowcase from '@/Components/Code/TCodeShowcase.vue'\n\n/*Import FontAwesomeIcon*/\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faCheckCircle, faTrash, faChevronLeft, faRetweet, faBan, faClock, faInfo, faHistory, faPlay } from \"@fortawesome/free-solid-svg-icons\";\nlibrary.add(faCheckCircle, faTrash, faChevronLeft, faRetweet, faBan, faClock, faInfo, faHistory, faPlay)\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\n\nexport default defineComponent({\n    name: \"Alert\",\n    components: {\n        Head,\n        TAvatar,\n        AppLayout,\n        GridSection,\n        TAlert,\n        TCodeShowcase,\n    },\n    setup() {\n        /* Multi-language */\n        const { t, tm } = useI18n({\n            inheritLocale: true,\n            messages: {\n                en: {\n                    pageTitle: 'Alerts',\n                    pageSubTitle: 'Closeable and timeable elite alert boxes',\n                    filledTitle: 'Success',\n                    filledContent: 'The post added successfully (filled)',\n                    lightTitle: 'Danger',\n                    lightContent: 'The user deleted successfully (light)',\n                    inlineContent: 'Your account was blocked, please connect with IT (inline)',\n                    outlineContent: 'You entered a new configuration, the settings will refresh 24hr after (outline)',\n                    gradientContent: 'The new user is successfully added. \\n User: Hamdi KAYA (gradient)',\n                    elegantTitle: 'Attention',\n                    elegantContent: 'The all of changes overwrite to themself (elegant)',\n                    blockContent: 'Please, check your task list (block)',\n                    activateTimer: 'Start timer',\n                    reviveMessage: 'Don\\'t worry, it\\'ll come back in 4 seconds',\n                    docDefault: 'Default Value',\n                    docDescription: 'Description',\n                    docType: 'Value Type',\n                    docIdDesc: 'It is unique id for your alert. You set it to different value for each alert.',\n                    docDesignDesc: 'The theme of the alert component.',\n                    docColorDesc: 'The color of the alert component. Important: If you use the gradient design, you can not default color options. If you use the gradient design, your color options are rose, sky, fuchsia, violet, cloud, turquoise, caterpillar, dream and biscuit',\n                    docRadiusDesc: 'It shapes the corners of the alert.',\n                    docTitleDesc: 'If you would like to display a title using the alert component, pass/set any value through this prop.',\n                    docCloseableDesc: 'If you would like to make your alert component closeable, you can use this prop.',\n                    docTimerStatusDesc: 'If you would like to make your alert component to close automatically, you can set this prop.',\n                    docTimerDesc: 'If you set prop of the timer-status to true, You should set the timer by milliseconds',\n                    docTypeDesc: 'If you don not want to deal with design and color, you can use this prop beacause it sets automatically design and color values to your choose.',\n                },\n                tr: {\n                    pageTitle: 'Uyarı Kutusu',\n                    pageSubTitle: 'Gizlenebilir ve zamanlanabilir şık uyarı kutuları',\n                    filledTitle: 'İşlem Başarılı',\n                    filledContent: 'Gönderiniz başarıyla yayınlandı (filled)',\n                    lightTitle: 'Dikkat',\n                    lightContent: 'Kullanıcı silindi (light)',\n                    inlineContent: 'Hesabınız bloke oldu, lütfen IT ile iletişime geçiniz (inline)',\n                    outlineContent: 'Yeni girdiğiniz ayarlar 24 saat içinde aktif olacaktır (outline)',\n                    gradientContent: 'Yeni kullanıcı eklendi. \\n Kullanıcı: Hamdi KAYA (gradient)',\n                    elegantTitle: 'Uyarı',\n                    elegantContent: 'Yapıtığınız değişiklikler, var olan kayıtların üzerine yazılacak (elegant)',\n                    blockContent: 'Lütfen görev listenizi kontrol ediniz (block)',\n                    activateTimer: 'Zamanlayıcıyı Çalıştır',\n                    reviveMessage: 'Endişelenme 4 saniye sonra geri gelecek',\n                    docDefault: 'Varsayılan Değer',\n                    docDescription: 'Detay',\n                    docType: 'Değer Türü',\n                    docIdDesc: 'Her uyarı kutusu için benzersiz olması gereken değer. Her uyarı için benzersiz olacak şekilde ayarlamalısın.',\n                    docDesignDesc: 'Uyarı kutusunun genel görünümünü belirler.',\n                    docColorDesc: 'Uyarı kutusunun rengini belirlemenize yarar. Eğer gradient tasarımı kullanıyorsanız lütfen default renkler yerine bu renklerden birini kullanınız: rose, sky, fuchsia, violet, cloud, turquoise, caterpillar, dream ve biscuit',\n                    docRadiusDesc: 'Uyarı kutusunun köşelerinin ovalliğini kontrol etmenizi sağlar.',\n                    docTitleDesc: 'Uyarı kutusu içinde istediğiniz başlığı gösterebilmenizi sağlar.',\n                    docCloseableDesc: 'Uyarı kutusuna gizleme düğmesi eklemenizi sağlar.',\n                    docTimerStatusDesc: 'Uyarı kutusunun belirlediğiniz zaman sonunda kapanmasını sağlar.',\n                    docTimerDesc: 'Otomatik kapanma süresini belirlemenizi sağlar, timer-status probunun true olarak tanımlanmış olması gereklidir.',\n                    docTypeDesc: 'Tasarım ve renk ile uğraşmadan direk başarılı(success-yeşil) veya dikkat(danger-kırmızı) hissiyatı yaratacak hazır tasarımları kullanmanızı sağlar. Type değerini verdiğinizde design ve color değeri girmeniz gerekmez. ',\n                },\n            },\n        });\n\n        /* Demo Contents */\n        const demoContents = reactive({\n            \"filled\": {\n                id: 1,\n                design: \"filled\",\n                content: \"filledContent\",\n                color: \"success\",\n                closeable: true,\n                radius: 1,\n                icon: \"check-circle\",\n                title: \"filledTitle\",\n                timerStatus: false\n            },\n            \"light\": {\n                id: 1,\n                design: \"light\",\n                content: \"lightContent\",\n                color: \"danger\",\n                radius: 3,\n                icon: \"trash\",\n                title: \"lightTitle\",\n                closeable: true,\n                timerStatus: false\n            },\n            \"inline\": {\n                id: 1,\n                design: \"inline\",\n                content: \"inlineContent\",\n                color: \"warning\",\n                radius: 3,\n                icon: \"ban\",\n                timerStatus: false\n            },\n            \"outline\": {\n                id: 1,\n                design: \"outline\",\n                content: \"outlineContent\",\n                color: \"info\",\n                radius: 2,\n                icon: \"retweet\",\n                timerStatus: false\n            },\n            \"gradient\": {\n                id: 1,\n                design: \"gradient\",\n                content: \"gradientContent\",\n                color: \"dream\",\n                radius: 3,\n                media: true,\n                closeable: true,\n                timerStatus: false\n            },\n            \"elegant\": {\n                id: 1,\n                design: \"elegant\",\n                content: \"elegantContent\",\n                color: \"violet\",\n                radius: 8,\n                title: \"elegantTitle\",\n                closeable: true,\n                timerStatus: false\n            },\n            \"block\": {\n                id: 1,\n                design: \"block\",\n                content: \"blockContent\",\n                color: \"info\",\n                radius: 1,\n                icon: \"info\",\n                closeable: true,\n                timerStatus: false\n            }\n        });\n        const activeShowcase = ref()\n        const startTimer = () => {\n            demoContents[activeShowcase.value].timerStatus = true\n        }\n        const reviveMessageStatus = ref({});\n        const revive = (alert) => {\n            setTimeout(() => {\n                reviveMessageStatus.value[alert.design] = true\n            }, 1000)\n\n            setTimeout(() => {\n                alert.id++\n                alert.timer = null\n                reviveMessageStatus.value[alert.design] = false\n            }, 4000)\n        }\n\n        /* Documentation */\n        /* Props Definitions */\n        const docProps = {\n            headers: [\n                { id: 'prop', label: 'Prop' },\n                { id: 'type', label: tm('docType') },\n                { id: 'options', label: 'Options', colorfulBg: true },\n                { id: 'default', label: tm('docDefault') },\n                { id: 'description', label: tm('docDescription') },\n\n            ],\n            content: [\n                {\n                    id: 'id',\n                    prop: 'id',\n                    type: 'String, Number, Array, Object and Date',\n                    default: 'unique',\n                    description: tm('docIdDesc'),\n                },\n                {\n                    id: 'design',\n                    prop: 'design',\n                    type: 'String',\n                    options: ['filled', 'light', 'inline', 'outline', 'gradient', 'elegant', 'block'],\n                    default: 'filled',\n                    description: tm('docDesignDesc')\n                },\n                {\n                    id: 'color',\n                    prop: 'color',\n                    type: 'String',\n                    options: ['success', 'danger', 'warning', 'info', 'purple', 'light', 'dark'],\n                    default: 'light',\n                    description: tm('docColorDesc')\n                },\n                {\n                    id: 'radius',\n                    prop: 'radius',\n                    type: 'Number',\n                    options: ['0', '1', '2', '3', '4', '5', '6', '7', '8'],\n                    default: '3',\n                    description: tm('docRadiusDesc')\n                },\n                {\n                    id: 'title',\n                    prop: 'title',\n                    type: 'String',\n                    description: tm('docTitleDesc')\n                },\n                {\n                    id: 'closeable',\n                    prop: 'closeable',\n                    type: 'Boolean',\n                    options: ['true', 'false'],\n                    default: 'false',\n                    description: tm('docCloseableDesc')\n                },\n                {\n                    id: 'timer-status',\n                    prop: 'timer-status',\n                    type: 'Boolean',\n                    description: tm('docTimerStatusDesc')\n                },\n                {\n                    id: 'timer',\n                    prop: 'timer',\n                    type: 'Number',\n                    description: tm('docTimerDesc')\n                },\n                {\n                    id: 'type',\n                    prop: 'type',\n                    type: 'String',\n                    options: ['success', 'danger', 'warning', 'info'],\n                    description: tm('docTypeDesc')\n                },\n            ]\n        };\n\n        /* Sample Codes */\n        const docSamples = {\n            filled: {\n                js: '/* FontAwesomeIcon Import */\\n'+\n                    'import { library } from \"@fortawesome/fontawesome-svg-core\";\\n'+\n                    'import { faCheckCircle } from \"@fortawesome/free-solid-svg-icons\";\\n'+\n                    'library.add( faCheckCircle )\\n\\n/* Alert Component Import */\\n'+\n                    'import TAlert from \\'@/Components/Alert/TAlert.vue\\'\\n'+\n                    '\\n' +\n                    'export default {\\n'+\n                    '    components: { TAlert },\\n'+\n                    '    setup() {\\n'+\n                    '    },\\n' +\n                    '}',\n                template: '<t-alert\\n' +\n                    '    id=\"success\"\\n' +\n                    '    design=\"filled\"\\n' +\n                    '    color=\"success\"\\n' +\n                    '    title=\"Success\"\\n' +\n                    '    :radius=1\\n' +\n                    '    :closeable=\"true\"\\n' +\n                    '    >\\n' +\n                    '    <template #icon>\\n' +\n                    '        <icon icon=\"check-circle\" size=\"lg\" />\\n' +\n                    '    </template>\\n' +\n                    '    The post added successfully (filled)\\n' +\n                    '</t-alert>',\n            },\n            light: {\n                js: '/* FontAwesomeIcon Import */\\n' +\n                    'import { library } from \"@fortawesome/fontawesome-svg-core\";\\n' +\n                    'import { faTrash } from \"@fortawesome/free-solid-svg-icons\";\\n' +\n                    'library.add( faTrash  )\\n' +\n                    '\\n' +\n                    '/* Alert Component Import */\\n' +\n                    'import TAlert from \\'@/Components/Alert/TAlert.vue\\'\\n' +\n                    '\\n' +\n                    'export default {\\n' +\n                    '    components: { TAlert },\\n' +\n                    '    setup() {\\n' +\n                    '    },\\n' +\n                    '}',\n                template: '<t-alert\\n' +\n                    '    id=\"danger\"\\n' +\n                    '    design=\"light\"\\n' +\n                    '    color=\"danger\"\\n' +\n                    '    title=\"Danger\"\\n' +\n                    '    :closeable=\"true\"\\n' +\n                    '    >\\n' +\n                    '    <template #icon>\\n' +\n                    '        <icon icon=\"trash\" size=\"lg\" />\\n' +\n                    '    </template>\\n' +\n                    '    The user deleted successfully (light)\\n' +\n                    '</t-alert>',\n            },\n            inline: {\n                js: '/* FontAwesomeIcon Import */\\n' +\n                    'import { library } from \"@fortawesome/fontawesome-svg-core\";\\n' +\n                    'import { faBan } from \"@fortawesome/free-solid-svg-icons\";\\n' +\n                    'library.add( faBan )\\n' +\n                    '\\n' +\n                    '/* Alert Component Import */\\n' +\n                    'import TAlert from \\'@/Components/Alert/TAlert.vue\\'\\n' +\n                    '\\n' +\n                    'export default {\\n' +\n                    '    components: { TAlert },\\n' +\n                    '    setup() {\\n' +\n                    '    },\\n' +\n                    '}',\n                template: '<t-alert\\n' +\n                    '    id=\"blocked\"\\n' +\n                    '    design=\"inline\"\\n' +\n                    '    color=\"warning\"\\n' +\n                    '    :closeable=\"false\"\\n    >\\n' +\n                    '    <template #icon>\\n' +\n                    '        <icon icon=\"ban\" size=\"lg\" />\\n' +\n                    '    </template>\\n' +\n                    '    The user deleted successfully (light)\\n' +\n                    '</t-alert>',\n            },\n            outline: {\n                js: '/* FontAwesomeIcon Import */\\n' +\n                    'import { library } from \"@fortawesome/fontawesome-svg-core\";\\n' +\n                    'import { faRetweet } from \"@fortawesome/free-solid-svg-icons\";\\n' +\n                    'library.add( faRetweet )\\n' +\n                    '\\n' +\n                    '/* Alert Component Import */\\n' +\n                    'import TAlert from \\'@/Components/Alert/TAlert.vue\\'\\n' +\n                    '\\n' +\n                    'export default {\\n' +\n                    '    components: { TAlert },\\n' +\n                    '    setup() {\\n' +\n                    '    },\\n' +\n                    '}',\n                template: '<t-alert\\n' +\n                    '    id=\"updateSettings\"\\n' +\n                    '    design=\"outline\"\\n' +\n                    '    color=\"info\"\\n' +\n                    '    :closeable=\"false\"\\n' +\n                    '    >\\n' +\n                    '    <template #icon>\\n' +\n                    '        <icon icon=\"retweet\" size=\"lg\" />\\n' +\n                    '    </template>\\n' +\n                    '    You entered a new configuration, the settings will refresh 24hr after (outline)\\n' +\n                    '</t-alert>',\n            },\n            gradient: {\n                js: '/* Alert Component Import */\\n' +\n                    'import TAlert from \\'@/Components/Alert/TAlert.vue\\'\\n' +\n                    '\\n' +\n                    '/* Avatar Component Import */\\n' +\n                    'import TAvatar from \"@/Components/Avatar/TAvatar.vue\";\\n' +\n                    '\\n' +\n                    'export default {\\n' +\n                    '    components: {\\n' +\n                    '        TAlert,\\n' +\n                    '        TAvatar\\n' +\n                    '    },\\n' +\n                    '    setup() {\\n' +\n                    '    },\\n' +\n                    '}',\n                template: '<t-alert\\n' +\n                    '    id=\"createSuccess\"\\n' +\n                    '    design=\"gradient\"\\n' +\n                    '    color=\"dream\"\\n' +\n                    '    :closeable=\"true\"\\n' +\n                    '    >\\n' +\n                    '    <t-avatar\\n' +\n                    '        :radius=\"8\"\\n' +\n                    '        :size=\"3\"\\n' +\n                    '        src=\"https://i.pravatar.cc/300\"\\n' +\n                    '        />\\n' +\n                    '    The new user is successfully added.<br>\\n' +\n                    '    User: Hamdi KAYA (gradient)\\n' +\n                    '</t-alert>',\n            },\n            elegant: {\n                js: '/* Alert Component Import */\\n' +\n                    'import TAlert from \\'@/Components/Alert/TAlert.vue\\'\\n' +\n                    '\\nexport default {\\n' +\n                    '    components: { TAlert },\\n' +\n                    '    setup() {\\n' +\n                    '    },\\n' +\n                    '}',\n                template: '<t-alert\\n' +\n                    '    id=\"overwrite\"\\n' +\n                    '    design=\"elegant\"\\n' +\n                    '    color=\"violet\"\\n' +\n                    '    title=\"Attention\"\\n' +\n                    '    :closeable=\"true\"\\n' +\n                    '    :radius=8\\n' +\n                    '    >\\n' +\n                    '    The all of changes overwrite to themself (elegant)\\n' +\n                    '</t-alert>',\n            },\n            block: {\n                js: '/* FontAwesomeIcon Import */\\n' +\n                    'import { library } from \"@fortawesome/fontawesome-svg-core\";\\n' +\n                    'import { faInfo } from \"@fortawesome/free-solid-svg-icons\";\\nlibrary.add( faInfo )\\n' +\n                    '\\n' +\n                    '/* Alert Component Import */\\n' +\n                    'import TAlert from \\'@/Components/Alert/TAlert.vue\\'\\n' +\n                    '\\n' +\n                    'export default {\\n' +\n                    '    components: { TAlert },\\n' +\n                    '    setup() {\\n' +\n                    '    },\\n' +\n                    '}',\n                template: '<t-alert\\n' +\n                    '    id=\"blocked\"\\n' +\n                    '    design=\"block\"\\n' +\n                    '    color=\"info\"\\n' +\n                    '    :closeable=\"true\"\\n' +\n                    '    >\\n' +\n                    '    <template #icon>\\n' +\n                    '        <icon icon=\"info\" size=\"lg\" />\\n' +\n                    '    </template>\\n' +\n                    '    Please, check your task list (block)\\n' +\n                    '</t-alert>',\n            }\n        };\n        const showcaseTabs = [\n            { id: 'js', label: 'JS', type: 'code', codeLang: 'javascript' },\n            { id: 'template', label: 'Template', type: 'code', codeLang: 'html' },\n            { id: 'props', label: 'Props', type: 'table', table: docProps },\n            {\n                id: 'timer', label: tm('activateTimer'), command: () => startTimer()\n            }\n        ];\n\n        return {\n            activeShowcase,\n            revive,\n            reviveMessageStatus,\n            showcaseTabs,\n            demoContents,\n            docSamples,\n            t, tm,\n        };\n    }\n});\n</script>\n\n<style scoped>\n.pulse {\n    animation: pulse 1000ms ease-in-out infinite;\n}\n@keyframes pulse {\n    0% {\n        opacity: 0.5;\n    }\n    50% {\n        opacity: 1;\n    }\n    100% {\n        opacity: 0.5;\n    }\n}\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Avatar.vue",
    "content": "<template>\n    <app-layout :title=\"tm('pageTitle')\">\n        <template #header>\n            {{tm('pageTitle')}}\n        </template>\n        <template #subHeader>\n            {{tm('pageSubTitle')}}\n        </template>\n        <template #default>\n            <grid-section :col-phone=\"1\" :col-desktop=\"2\">\n\n                <!--Simple Avatar-->\n                <t-code-showcase\n                    :tabs=\"showcaseTabs\"\n                >\n                    <div class=\"flex flex-wrap gap-4 bg-slate-400/50 dark:bg-slate-800 rounded p-4\">\n                        <t-avatar :radius=\"0\" src=\"https://i.pravatar.cc/300?img=0\"/>\n                        <t-avatar\n                            v-for=\"i in 8\"\n                            :key=\"i\"\n                            :radius=\"i\"\n                            :src=\"'https://i.pravatar.cc/300?img='+i\"\n                        />\n                    </div>\n                     <template #js>{{ docSamples.simple.js }}</template>\n                        <template #template>{{ docSamples.simple.template }}</template>\n                </t-code-showcase>\n\n\n                <!--Avatar Group-->\n                <t-code-showcase\n                    :tabs=\"showcaseTabs\"\n                >\n                    <div class=\"flex flex-wrap gap-4 bg-slate-400/50 dark:bg-slate-800 rounded p-4\">\n                        <t-avatar-group>\n                            <t-avatar\n                                v-for=\"i in 8\"\n                                :key=\"i\"\n                                :radius=\"8\"\n                                :src=\"'https://i.pravatar.cc/300?img='+i\"\n                            />\n                        </t-avatar-group>\n                    </div>\n                     <template #js>{{ docSamples.group.js }}</template>\n                        <template #template>{{ docSamples.group.template }}</template>\n                </t-code-showcase>\n\n                <!--Different Sizes-->\n                <t-code-showcase\n                    :tabs=\"showcaseTabs\"\n                >\n                    <div class=\"flex flex-wrap place-items-end gap-4 bg-slate-400/50 dark:bg-slate-800 rounded p-4\">\n                        <t-avatar\n                            v-for=\"i in 8\"\n                            :key=\"i\"\n                            :radius=\"3\"\n                            :size=\"9-i\"\n                            :src=\"'https://i.pravatar.cc/300?img='+i\"\n                        />\n                    </div>\n                     <template #js>{{ docSamples.size.js }}</template>\n                        <template #template>{{ docSamples.size.template }}</template>\n                </t-code-showcase>\n\n\n                <!--Avatar Indicators-->\n                <t-code-showcase\n                    :tabs=\"showcaseTabs\"\n                >\n                    <div class=\"flex flex-wrap place-items-end gap-4 bg-slate-400/50 dark:bg-slate-800 rounded p-4\">\n\n                        <t-avatar\n                            :indicator=\"{\n                            color: 'pink',\n                            label: 2,\n                            position: 'rb'\n                        }\"\n                            :radius=\"8\"\n                            :size=\"8\"\n                            src=\"https://i.pravatar.cc/300?img=8\"\n                        />\n\n                        <t-avatar\n                            :indicator=\"{\n                            color: 'light',\n                            label: 12,\n                            position: 'lb'\n                        }\"\n                            :radius=\"7\"\n                            :size=\"7\"\n                            src=\"https://i.pravatar.cc/300?img=5\"\n                        />\n\n                        <t-avatar\n                            :indicator=\"{\n                            color: 'danger',\n                            label: 85,\n                            position: 'rt'\n                        }\"\n                            :radius=\"6\"\n                            :size=\"6\"\n                            src=\"https://i.pravatar.cc/300?img=4\"\n                        />\n\n                        <t-avatar\n                            :indicator=\"{\n                            color: 'purple',\n                            label: 7,\n                            position: 'rt'\n                        }\"\n                            :radius=\"5\"\n                            :size=\"5\"\n                            src=\"https://i.pravatar.cc/300?img=3\"\n                        />\n\n                        <t-avatar\n                            :indicator=\"{\n                            color: 'warning',\n                            label: 14,\n                            position: 'lb'\n                        }\"\n                            :radius=\"4\"\n                            :size=\"4\"\n                            src=\"https://i.pravatar.cc/300?img=2\"\n                        />\n                        <t-avatar\n                            :indicator=\"{\n                            color: 'success',\n                            position: 'rb'\n                        }\"\n                            :radius=\"3\"\n                            :size=\"3\"\n                            src=\"https://i.pravatar.cc/300?img=1\"\n                        />\n                        <t-avatar\n                            :indicator=\"{\n                            color: 'info',\n                            label: 2,\n                            position: 'lt'\n                        }\"\n                            :radius=\"2\"\n                            :size=\"2\"\n                            src=\"https://i.pravatar.cc/300?img=0\"\n                        />\n                        <t-avatar\n                            :indicator=\"{\n                                color: 'danger',\n                                label: 2,\n                                position: 'lb'\n                            }\"\n                            :radius=\"1\"\n                            :size=\"1\"\n                        />\n\n                    </div>\n                     <template #js>{{ docSamples.indicator.js }}</template>\n                        <template #template>{{ docSamples.indicator.template }}</template>\n                </t-code-showcase>\n            </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Main Functions*/\nimport {defineComponent} from \"vue\";\n\n/*Component*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\nimport TAvatarGroup from \"@/Components/Avatar/TAvatarGroup.vue\";\nimport TCodeShowcase from \"@/Components/Code/TCodeShowcase.vue\";\nimport {useI18n} from \"vue-i18n/dist/vue-i18n.esm-bundler\";\n\nexport default defineComponent({\n    name: \"Avatar\",\n    components: {\n        AppLayout,\n        GridSection,\n        TAvatar,\n        TAvatarGroup,\n        TCodeShowcase\n    },\n    setup(){\n        /* Multi-language */\n        const { tm } = useI18n({\n            inheritLocale: true,\n            messages: {\n                en: {\n                    pageTitle: 'Avatar',\n                    pageSubTitle: 'User avatars and team members avatar group',\n                    docDefault: 'Default Value',\n                    docDescription: 'Description',\n                    docType: 'Value Type',\n                    docOptions: 'Options',\n                    docSrcDesc: 'The path of the photo.',\n                    docSizeDesc: 'The size of the photo.',\n                    docRadiusDesc: 'It shapes the corners of the avatar.',\n                    docIndicatorDesc: 'It works to show a indicator point near the avatar. You should define the values of the options in this object. Sample: :indicator=\"{ color: \\'success\\', label: 2, position: \\'lb\\' }\" ',\n                    docLinkDesc: 'When the user clicks on the avatar, it directs them to the link you want.\" ',\n                },\n                tr: {\n                    pageTitle: 'Profil Resmi',\n                    pageSubTitle: 'Profil resmi ve ekip üyeleri resimlerinin gösterimi',\n                    docDefault: 'Varsayılan Değer',\n                    docDescription: 'Detay',\n                    docType: 'Değer Türü',\n                    docOptions: 'Alabileceği Değerler',\n                    docSrcDesc: 'Profil fotoğrafının adresi.',\n                    docSizeDesc: 'Profil fotoğrafının büyüklüğü.',\n                    docRadiusDesc: 'Profil resminin köşelerinin ovalliğini kontrol etmenizi sağlar.',\n                    docIndicatorDesc: 'Profil resminin kenarında bildirim simgesi göstermenizi sağlar. Alabileceği değerler listesindeki değerleri bu obje içinde tanımlamanız gereklidir. Örnek: :indicator=\"{ color: \\'success\\', label: 2, position: \\'lb\\' }\"',\n                    docLinkDesc: 'Kullanıcının profil resmini tıkladığında istediğin linke yönlenmesini sağlar.\"',\n                },\n            },\n        });\n\n        /* Documentation */\n        /* Props Definitions */\n        const docProps = {\n            headers: [\n                { id: 'prop', label: 'Prop' },\n                { id: 'type', label: tm('docType') },\n                { id: 'options', label: tm('docOptions'), colorfulBg: true },\n                { id: 'default', label: tm('docDefault') },\n                { id: 'description', label: tm('docDescription') },\n\n            ],\n            content: [\n                {\n                    id: 'src',\n                    prop: 'src',\n                    type: 'String',\n                    description: tm('docSrcDesc')\n                },\n                {\n                    id: 'size',\n                    prop: 'size',\n                    type: 'Number',\n                    options: ['1', '2', '3', '4', '5', '6', '7', '8'],\n                    default: '3',\n                    description: tm('docSizeDesc')\n                },\n                {\n                    id: 'radius',\n                    prop: 'radius',\n                    type: 'Number',\n                    options: ['0', '1', '2', '3', '4', '5', '6', '7', '8'],\n                    default: '3',\n                    description: tm('docRadiusDesc')\n                },\n                {\n                    id: 'indicator',\n                    prop: 'indicator',\n                    type: 'Object',\n                    options: ['color (success, danger, info, warning, purple, light)', 'label (String)', 'position (lb, rb, lt, rt)'],\n                    description: tm('docIndicatorDesc')\n                },\n                {\n                    id: 'link',\n                    prop: 'link',\n                    type: 'String',\n                    description: tm('docLinkDesc')\n                },\n            ]\n        };\n\n        /* Sample Codes */\n        const docSamples = {\n            simple: {\n                js: 'import TAvatar from \\'@/Components/Alert/TAvatar.vue\\'\\n'+\n                    '\\n' +\n                    'export default {\\n'+\n                    '    components: { TAvatar },\\n'+\n                    '    setup() {\\n'+\n                    '    },\\n' +\n                    '}',\n                template: '<t-avatar\\n' +\n                    '    :radius=\"3\"\\n' +\n                    '    src=\"https://i.pravatar.cc/300?img=0\"\\n' +\n                    '    >\\n' +\n                    '</t-avatar>',\n            },\n            group: {\n                js: 'import TAvatar from \\'@/Components/Alert/TAvatar.vue\\'\\n' +\n                    'import TAvatarGroup from \\'@/Components/Alert/TAvatarGroup.vue\\'\\n'+\n                    '\\n' +\n                    'export default {\\n'+\n                    '    components: { TAvatar, TAvatarGroup },\\n'+\n                    '    setup() {\\n'+\n                    '    },\\n' +\n                    '}',\n                template: '<t-avatar-group>\\n\\n' +\n                    '    <t-avatar\\n' +\n                    '        :radius=\"8\"\\n' +\n                    '        src=\"https://i.pravatar.cc/300?img=0\"\\n' +\n                    '        link=\"https://test.com\"\\n' +\n                    '        >\\n' +\n                    '    </t-avatar>\\n\\n' +\n                    '    <t-avatar\\n' +\n                    '        :radius=\"8\"\\n' +\n                    '        src=\"https://i.pravatar.cc/300?img=2\"\\n' +\n                    '        :link=\"route(\\'profile\\')\"\\n' +\n                    '        >\\n' +\n                    '    </t-avatar>\\n\\n' +\n                    '</t-avatar-group>',\n            },\n            size: {\n                js: 'import TAvatar from \\'@/Components/Alert/TAvatar.vue\\'\\n'+\n                    '\\n' +\n                    'export default {\\n'+\n                    '    components: { TAvatar },\\n'+\n                    '    setup() {\\n'+\n                    '    },\\n' +\n                    '}',\n                template: '<t-avatar\\n' +\n                    '    :size=\"5\"\\n' +\n                    '    src=\"https://i.pravatar.cc/300?img=0\"\\n' +\n                    '    >\\n' +\n                    '</t-avatar>',\n            },\n            indicator: {\n                js: 'import TAvatar from \\'@/Components/Alert/TAvatar.vue\\'\\n'+\n                    '\\n' +\n                    'export default {\\n'+\n                    '    components: { TAvatar },\\n'+\n                    '    setup() {\\n'+\n                    '    },\\n' +\n                    '}',\n                template: '<t-avatar\\n' +\n                    '    :radius=\"3\"\\n' +\n                    '    src=\"https://i.pravatar.cc/300?img=0\"\\n' +\n                    '    :indicator=\"{\\n' +\n                    '            color: \\'success\\',\\n' +\n                    '            label: 7,\\n' +\n                    '            position: \\'rt\\'\\n' +\n                    '        }\"\\n' +\n                    '    >\\n' +\n                    '</t-avatar>',\n            }\n        };\n        const showcaseTabs = [\n            { id: 'js', label: 'JS', type: 'code', codeLang: 'javascript' },\n            { id: 'template', label: 'Template', type: 'code', codeLang: 'html' },\n            { id: 'props', label: 'Props', type: 'table', table: docProps },\n        ];\n\n        return {tm, docSamples, docProps,showcaseTabs}\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/BackEndTable.vue",
    "content": "<template>\n    <app-layout title=\"Backend Table\">\n        <!--Header-->\n        <template #header>\n            {{tm('pageTitle')}}\n        </template>\n        <!--Subheader-->\n        <template #subHeader>\n            {{tm('pageSubTitle')}}\n        </template>\n        <!--Content-->\n        <template #default>\n            <t-code-showcase\n                :tabs=\"showcaseTabs\"\n            >\n                <t-back-end-table\n                    :content=\"demoContent\"\n                    :header=\"header\"\n                    content-key=\"demoContent\"\n                    search-route=\"back-end-table\"\n                    request-search-key=\"demoSearch\"\n                >\n                    <template #top-right>\n                        <t-button color=\"green\" design=\"light\" border>+ Add New</t-button>\n                    </template>\n                    <template #type=\"{props}\">\n                        {{ filterType.find(t => t.key === Number(props.type)).label }}\n                    </template>\n                    <template #status=\"{props}\">\n                        <t-badge :color=\"filterStatus.find(t=>t.key === props.status).color\">\n                            {{ filterStatus.find(t => t.key === props.status).label }}\n                        </t-badge>\n                    </template>\n                </t-back-end-table>\n                <template #controller>{{ docSamples.controller }}</template>\n                <template #route>{{ docSamples.route }}</template>\n                <template #js>{{ docSamples.js }}</template>\n                <template #template>{{ docSamples.template }}</template>\n            </t-code-showcase>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Main Functions*/\nimport {reactive, defineComponent, computed, ref} from \"vue\";\n\n/*Components*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport TBackEndTable from \"@/Components/Table/TBackEndTable.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TCodeShowcase from \"@/Components/Code/TCodeShowcase.vue\";\nimport {useI18n} from \"vue-i18n\";\n\nexport default defineComponent({\n    name: \"Table\",\n    components: {\n        TButton,\n        TBadge,\n        TBackEndTable,\n        AppLayout,\n        TCodeShowcase\n    },\n    props: {\n        demoContent: {\n            type: Object,\n            default() {\n                return {};\n            }\n        },\n        searchDataMainProducts: {\n            type: Array,\n            default() {\n                return [];\n            }\n        }\n    },\n    setup(props) {\n        const filterStatus = reactive([\n            {key: 1, label: \"Active\", color: \"green\"},\n            {key: 0, label: \"Passive\", color: \"red\"}\n        ]);\n        const filterType = reactive([\n            {key: 0, label: \"Printer\"},\n            {key: 1, label: \"Pencil\"},\n            {key: 2, label: \"Clipper\"}\n        ]);\n        const compareOperators = reactive([\n            {key: \"contains\", label: \"contains\"},\n            {key: \"notContains\", label: \"not contains\"},\n            {key: \"starts\", label: \"starts\"},\n            {key: \"ends\", label: \"ends\"}\n        ]);\n        const priceCompareOperators = reactive([\n            {key: \"=\", label: \"=\"},\n            {key: \">\", label: \">\"},\n            {key: \">=\", label: \">=\"},\n            {key: \"<\", label: \"<\"},\n            {key: \"<=\", label: \"<=\"}\n        ]);\n\n        const selectData = reactive([\n            {\n                label: \"Dark Mode\",\n                key: \"darkMode\",\n                options: [\n                    {key: true, label: \"Dark Mode\"},\n                    {key: false, label: \"Light Mode\"}\n                ]\n            },\n            {\n                label: \"Design\",\n                key: \"design\",\n                options: [\n                    {key: \"elegant\", label: \"Elegant\"}\n                ]\n            },\n            {\n                label: \"Radius\",\n                key: \"radius\",\n                options: [\n                    {key: 0, label: \"Without radius\"},\n                    {key: 3, label: \"Small\"},\n                    {key: 5, label: \"Large\"}\n                ]\n            }\n        ]);\n        const selectedData = reactive({\n            darkMode: false,\n            design: \"elegant\",\n            radius: 3\n        });\n        const header = reactive([\n            {\n                label: \"Name\",\n                key: \"name\",\n                align: \"left\",\n                status: true,\n                sortable: true,\n                simpleSearchable: true,\n                advancedSearchable: true,\n                advancedSearchInputType: \"text\",\n                compareOperators: compareOperators\n            },\n            {\n                label: \"Main Product\",\n                key: \"main_product_name\",\n                align: \"left\",\n                status: true,\n                simpleSearchable: false,\n                advancedSearchable: true,\n                advancedSearchKey: 'main_product_id',\n                advancedSearchSelectInputSource: props.searchDataMainProducts,\n                advancedSearchSelectLabelKey: 'name',\n                advancedSearchSelectValueKey: 'id',\n                advancedSearchInputType: \"select\",\n                advancedSearchSelectSearch: true\n            },\n            {\n                label: \"Type\",\n                key: \"type\",\n                align: \"left\",\n                status: true,\n                simpleSearchable: false,\n                advancedSearchable: true,\n                advancedSearchSelectInputSource: filterType,\n                advancedSearchInputType: \"select\"\n            },\n            {\n                label: \"Price\",\n                key: \"price\",\n                align: \"center\",\n                status: true,\n                sortable: true,\n                simpleSearchable: true,\n                advancedSearchable: false,\n                advancedSearchInputType: \"between\",\n            },\n            {\n                label: \"Status\",\n                key: \"status\",\n                align: \"center\",\n                status: true,\n                sortable: true,\n                simpleSearchable: false,\n                advancedSearchable: true,\n                advancedSearchSelectInputSource: filterStatus,\n                advancedSearchInputType: \"select\",\n                compareOperators: compareOperators\n            }\n        ]);\n        const features = computed(() => {\n            return {\n                table: {\n                    darkMode: selectedData.darkMode,\n                    design: selectedData.design,\n                    borderRow: true,\n                    zebraRow: false,\n                    hoverRow: true,\n                    radius: selectedData.radius,\n                    contentKey: 'demoContent',\n                    searchRoute: 'back-end-table'\n                },\n                pagination: {\n                    status: true,\n                    darkMode: selectedData.darkMode,\n                    radius: selectedData.radius,\n                    range: 5,\n                    jump: true,\n                },\n                actions: {\n                    status: true,\n                    headerText: \"Aksiyonlar\"\n                },\n                deleteModal: {\n                    headerText: \"Item's deleting\",\n                    contentText: \"You are going to delete <br><b>{$name}</b><br>Are you sure ?\",\n                    icon: \"warning\"\n                }\n            };\n        });\n\n        /* Multi-language */\n        const {t, tm} = useI18n({\n            inheritLocale: true,\n            messages: {\n                en: {\n                    pageTitle: 'Table with backend data',\n                    pageSubTitle: 'Tables with Backend Data and Dynamic options',\n                    docDefault: 'Default Value',\n                    docDescription: 'Description',\n                    docType: 'Value Type',\n                    docContentDesc: '',\n                    docHeaderDesc: '',\n                    docRequestSearchKeyDesc: '',\n                    docPerPageDesc: '',\n                    docUniqueIdDesc: '',\n                    docRadiusDesc: 'It shapes the corners of the table.',\n                    docHeaderKeyDesc: '',\n                    docHeaderLabelDesc: '',\n                    docHeaderAlignDesc: '',\n                    docHeaderStatusDesc: '',\n                    docHeaderSortableDesc: '',\n                    docHeaderSimpleSearchableDesc: '',\n                    docHeaderAdvancedSearchableDesc: '',\n                    docHeaderAdvancedSearchKeyDesc: '',\n                    docHeaderAdvancedSearchInputTypeDesc: '',\n                    docHeaderAdvancedSearchInputSourceDesc: '',\n                    docHeaderAdvancedSearchLabelDesc: '',\n                    docHeaderAdvancedSearchValueDesc: '',\n                    docHeaderCompareOperatorsDesc: ''\n\n                },\n                tr: {\n                    pageTitle: 'Tablo (Server Side)',\n                    pageSubTitle: 'Sunucu Tarafında Çalışan Tablo Komponenti',\n                    docDefault: 'Varsayılan Değer',\n                    docDescription: 'Detay',\n                    docType: 'Değer Türü',\n                    docContentDesc: '',\n                    docHeaderDesc: '',\n                    docRequestSearchKeyDesc: '',\n                    docPerPageDesc: '',\n                    docUniqueIdDesc: '',\n                    docRadiusDesc: 'Tablonun köşelerinin ovalliğini kontrol etmenizi sağlar.',\n                    docHeaderKeyDesc: '',\n                    docHeaderLabelDesc: '',\n                    docHeaderAlignDesc: '',\n                    docHeaderStatusDesc: '',\n                    docHeaderSortableDesc: '',\n                    docHeaderSimpleSearchableDesc: '',\n                    docHeaderAdvancedSearchableDesc: '',\n                    docHeaderAdvancedSearchKeyDesc: '',\n                    docHeaderAdvancedSearchInputTypeDesc: '',\n                    docHeaderAdvancedSearchInputSourceDesc: '',\n                    docHeaderAdvancedSearchLabelDesc: '',\n                    docHeaderAdvancedSearchValueDesc: '',\n                    docHeaderCompareOperatorsDesc: ''\n                },\n            },\n        });\n\n        /* Documentation */\n        /* Props Definitions */\n\n        const docProps = {\n            headers: [\n                {id: 'prop', label: 'Prop'},\n                {id: 'type', label: tm('docType')},\n                {id: 'options', label: 'Options', colorfulBg: true},\n                {id: 'default', label: tm('docDefault')},\n                {id: 'description', label: tm('docDescription')},\n\n            ],\n            content: [\n                {\n                    id: 'content',\n                    prop: 'content',\n                    type: 'Object',\n                    description: tm('docContentDesc'),\n                },\n                {\n                    id: 'header',\n                    prop: 'header',\n                    type: 'Array',\n                    description: tm('docHeaderDesc')\n                },\n                {\n                    id: 'request-search-key',\n                    prop: 'request-search-key',\n                    type: 'String',\n                    default: 'searchObj',\n                    description: tm('docRequestSearchKeyDesc')\n                },\n                {\n                    id: 'per-page',\n                    prop: 'per-page',\n                    type: 'Number',\n                    default: '5',\n                    description: tm('docPerPageDesc')\n                },\n                {\n                    id: 'unique-id',\n                    prop: 'unique-id',\n                    type: 'String',\n                    default: 'id',\n                    description: tm('docUniqueIdDesc')\n                },\n                {\n                    id: 'row-border',\n                    prop: 'row-border',\n                    type: 'Boolean',\n                    default: 'true',\n                },\n                {\n                    id: 'row-zebra',\n                    prop: 'row-zebra',\n                    type: 'Boolean',\n                    default: 'true',\n                },\n                {\n                    id: 'row-hover',\n                    prop: 'row-hover',\n                    type: 'Boolean',\n                    default: 'true',\n                },\n                {\n                    id: 'radius',\n                    prop: 'radius',\n                    type: 'Number',\n                    default: '3',\n                    options: ['0', '1', '2', '3', '4', '5', '6', '7', '8'],\n                    description: tm('docRadiusDesc')\n                },\n                {\n                    id: 'show-pagination',\n                    prop: 'show-pagination',\n                    type: 'Boolean',\n                    default: 'true',\n                },\n                {\n                    id: 'pagination-detail',\n                    prop: 'pagination-detail',\n                    type: 'Boolean',\n                    default: 'false',\n                },\n                {\n                    id: 'pagination-detail-text',\n                    prop: 'pagination-detail-text',\n                    type: 'String',\n                    default: '{totalPage} pages - {totalRecord} records',\n                },\n                {\n                    id: 'pagination-range',\n                    prop: 'pagination-range',\n                    type: 'Number',\n                    default: '5',\n                },\n                {\n                    id: 'pagination-jump',\n                    prop: 'pagination-jump',\n                    type: 'Boolean',\n                    default: 'true',\n                },\n                {\n                    id: 'pagination-show-arrow-text',\n                    prop: 'pagination-show-arrow-text',\n                    type: 'Boolean',\n                    default: 'true',\n                },\n                {\n                    id: 'pagination-show-previous-text',\n                    prop: 'pagination-show-previous-text',\n                    type: 'String',\n                    default: 'previous',\n                },\n                {\n                    id: 'pagination-show-next-text',\n                    prop: 'pagination-show-next-text',\n                    type: 'String',\n                    default: 'next',\n                },\n                {\n                    id: 'actions',\n                    prop: 'actions',\n                    type: 'Array',\n                    default: '[\\'view\\']',\n                    options: ['view', 'delete', 'edit']\n                },\n                {\n                    id: 'actions-modal',\n                    prop: 'actions-modal',\n                    type: 'Array',\n                    default: '[\\'delete\\']',\n                    options: ['view', 'delete', 'edit']\n                },\n                {\n                    id: 'actions-header-text',\n                    prop: 'actions-header-text',\n                    type: 'String',\n                    default: 'actions',\n                },\n                {\n                    id: 'header[x].key',\n                    prop: 'header[x].key',\n                    type: 'String',\n                    description: tm('docHeaderKeyDesc')\n                },\n                {\n                    id: 'header[x].label',\n                    prop: 'header[x].label',\n                    type: 'String',\n                    description: tm('docHeaderLabelDesc')\n                },\n                {\n                    id: 'header[x].align',\n                    prop: 'header[x].align',\n                    type: 'String',\n                    options: ['left', 'center', 'right'],\n                    description: tm('docHeaderAlignDesc')\n                },\n                {\n                    id: 'header[x].status',\n                    prop: 'header[x].status',\n                    type: 'Boolean',\n                    options: ['true', 'false'],\n                    default: 'true',\n                    description: tm('docHeaderStatusDesc')\n                },\n                {\n                    id: 'header[x].sortable',\n                    prop: 'header[x].sortable',\n                    type: 'Boolean',\n                    options: ['true', 'false'],\n                    default: 'false',\n                    description: tm('docHeaderSortableDesc')\n                },\n                {\n                    id: 'header[x].simpleSearchable',\n                    prop: 'header[x].simpleSearchable',\n                    type: 'Boolean',\n                    options: ['true', 'false'],\n                    default: 'false',\n                    description: tm('docHeaderSimpleSearchableDesc')\n                },\n                {\n                    id: 'header[x].advancedSearchable',\n                    prop: 'header[x].advancedSearchable',\n                    type: 'Boolean',\n                    options: ['true', 'false'],\n                    default: 'false',\n                    description: tm('docHeaderAdvancedSearchableDesc')\n                },\n                {\n                    id: 'header[x].advancedSearchKey',\n                    prop: 'header[x].advancedSearchKey',\n                    type: 'String',\n                    description: tm('docHeaderAdvancedSearchKeyDesc')\n                },\n                {\n                    id: 'header[x].advancedSearchInputType',\n                    prop: 'header[x].advancedSearchInputType',\n                    type: 'String',\n                    options: ['text', 'select', 'between'],\n                    description: tm('docHeaderAdvancedSearchInputTypeDesc')\n                },\n                {\n                    id: 'header[x].advancedSearchSelectInputSource',\n                    prop: 'header[x].advancedSearchSelectInputSource',\n                    type: 'Object',\n                    description: tm('docHeaderAdvancedSearchInputSourceDesc')\n                },\n                {\n                    id: 'header[x].advancedSearchSelectLabelKey',\n                    prop: 'header[x].advancedSearchSelectLabelKey',\n                    type: 'String',\n                    description: tm('docHeaderAdvancedSearchLabelDesc')\n                },\n                {\n                    id: 'header[x].advancedSearchSelectValueKey',\n                    prop: 'header[x].advancedSearchSelectValueKey',\n                    type: 'String',\n                    description: tm('docHeaderAdvancedSearchValueDesc')\n                },\n                {\n                    id: 'header[x].compareOperators',\n                    prop: 'header[x].compareOperators',\n                    type: 'Array',\n                    description: tm('docHeaderCompareOperatorsDesc')\n                },\n            ]\n        };\n        /* Sample Codes */\n        const docSamples = {\n            controller: '<?php\\n\\n' +\n                'namespace App\\\\Http\\\\Controllers;\\n' +\n                '\\n' +\n                'use App\\\\Models\\\\Product;\\n' +\n                'use Illuminate\\\\Http\\\\Request;\\n' +\n                'use Inertia\\\\Inertia;\\n' +\n                '\\n' +\n                'class ProductController extends Controller\\n' +\n                '{\\n' +\n                '    /**\\n' +\n                '    * Display a listing of the resource.\\n' +\n                '    *\\n' +\n                '    * @return \\\\Inertia\\\\Response\\n' +\n                '    */\\n' +\n                '    public function index(Request $request)\\n' +\n                '    {\\n\\n' +\n                '        //Please define vue file directory accordance your file structure\\n' +\n                '        return Inertia::render(\\'Module/Product/Index\\', [\\n' +\n                '            //You should to use tableSearch macro for dynamic query builder with $request->searchObj\\n' +\n                '            \\'products\\' => Product::tableSearch($request->input(\\'searchObj\\')),\\n' +\n                '            //You can send only related data for search data. For example the managers list only related to the departments\\n' +\n                '            // main_product_id = column name, products = table name\\n' +\n                '            \\'searchDataMainProducts\\' => Product::getRelatedData(\\'main_product_id\\', \\'products\\')->get()\\n' +\n                '        ]);\\n' +\n                '    }',\n            route: '//You can have routes like below (get or resource)' +\n                'Route::get(\\'product\\', [Product::class, \\'index\\'])->name(\\'product.index\\')\\n' +\n                '// or \\n' +\n                'Route::resource(\\'product\\', Product::class)\\n' +\n                '// You should add post route for search requests after get index or resource route\\n' +\n                'Route::post(\\'product\\', [Product::class, \\'index\\'])->name(\\'product.search\\')//\\n',\n            js: 'import TBackEndTable from \\'@/Components/Table/TBackEndTable.vue\\'\\n\\n' +\n                'export default {\\n\\n' +\n                '   components: { TBackEndTable },\\n\\n' +\n                '   props: {\\n' +\n                '       productData: {\\n' +\n                '           type: Object,\\n' +\n                '           default() {\\n' +\n                '               return {};\\n' +\n                '           }\\n' +\n                '        },\\n' +\n                '        searchDataMainProducts: {\\n' +\n                '           type: Array,\\n' +\n                '           default() {\\n' +\n                '               return [];\\n' +\n                '           }\\n' +\n                '        }\\n' +\n                '    },\\n\\n' +\n                '    setup(\\n\\n' +\n                '       // You can use custom data set for advanced search options list.\\n' +\n                '       // It linked to status column in this case\\n' +\n                '       const filterStatus = reactive([\\n' +\n                '            {key: 1, label: \"Active\", color: \"green\"},\\n' +\n                '            {key: 0, label: \"Passive\", color: \"red\"}\\n' +\n                '        ]);\\n' +\n                '       //Compare definitions for fields, You can use them what if you want\\n' +\n                '       const compareOperators = reactive([\\n' +\n                '            {key: \"contains\", label: \"contains\"},\\n' +\n                '            {key: \"notContains\", label: \"not contains\"},\\n' +\n                '            {key: \"starts\", label: \"starts\"},\\n' +\n                '            {key: \"ends\", label: \"ends\"}\\n' +\n                '            {key: \"=\", label: \"=\"},\\n' +\n                '            {key: \">\", label: \">\"},\\n' +\n                '            {key: \">=\", label: \">=\"},\\n' +\n                '            {key: \"<\", label: \"<\"},\\n' +\n                '            {key: \"<=\", label: \"<=\"}\\n' +\n                '        ]);\\n\\n' +\n                '       const productDataHeaders = reactive([\\n' +\n                '            {\\n' +\n                '                label: \"Name\",\\n' +\n                '                key: \"name\",\\n' +\n                '                align: \"left\",\\n' +\n                '                status: true,\\n' +\n                '                sortable: true,\\n' +\n                '                simpleSearchable: true,\\n' +\n                '                advancedSearchable: true,\\n' +\n                '                advancedSearchInputType: \"text\",\\n' +\n                '                compareOperators: compareOperators\\n' +\n                '            },\\n' +\n                '            {\\n' +\n                '                label: \"Main Product\",\\n' +\n                '                key: \"main_product_name\",\\n' +\n                '                align: \"left\",\\n' +\n                '                status: true,\\n' +\n                '                simpleSearchable: true,\\n' +\n                '                advancedSearchable: true,\\n' +\n                '                advancedSearchKey: \\'main_product_id\\', //Search in different column\\n' +\n                '                advancedSearchSelectInputSource: props.searchDataMainProducts, //Select options data source\\n' +\n                '                advancedSearchSelectLabelKey: \\'name\\', //Showing label in the select input\\n' +\n                '                advancedSearchSelectValueKey: \\'id\\', //Select input real value when it selected\\n' +\n                '                advancedSearchInputType: \"select\",\\n' +\n                '                advancedSearchSelectSearch: true\\n' +\n                '            },\\n' +\n                '            {\\n' +\n                '                label: \"Status\",\\n' +\n                '                key: \"status\",\\n' +\n                '                align: \"center\",\\n' +\n                '                status: true,\\n' +\n                '                sortable: true,\\n' +\n                '                simpleSearchable: true,\\n' +\n                '                advancedSearchable: true,\\n' +\n                '                advancedSearchSelectInputSource: filterStatus,\\n' +\n                '                advancedSearchInputType: \"select\",\\n' +\n                '            }\\n' +\n                '        ]);\\n' +\n                '   )\\n' +\n                '}',\n            template: '<t-back-end-table\\n' +\n                '    :content=\"productData\"\\n' +\n                '    :header=\"productDataHeaders\"\\n' +\n                '    content-key=\"productData\"\\n' +\n                '    search-route=\"product.search\" \\n' +\n                '>\\n\\n' +\n                '    // You can add rich elements from this area to top right area of the table\\n' +\n                '    <template #top-right>\\n' +\n                '        <t-button color=\"green\" design=\"light\" border>+ Add New</t-button>\\n' +\n                '    </template>\\n\\n' +\n                '    // If you want to add rich features to data showing, \\n' +\n                '    you can use scopeSlot. #status is your column key. This is only exaple:\\n' +\n                '    <template #status=\"{props}\">\\n' +\n                '        <t-badge :color=\"filterStatus.find(t=>t.key === props.status).color\">\\n' +\n                '            {{ filterStatus.find(t => t.key === props.status).label }}\\n' +\n                '        </t-badge>\\n' +\n                '    </template>\\n\\n' +\n                '</t-back-end-table>',\n        };\n        const showcaseTabs = [\n            {id: 'controller', label: 'Controller', type: 'code', codeLang: 'php'},\n            {id: 'js', label: 'JS', type: 'code', codeLang: 'javascript'},\n            {id: 'template', label: 'Template', type: 'code', codeLang: 'html'},\n            {id: 'route', label: 'Web.php', type: 'code', codeLang: 'php'},\n            {id: 'props', label: 'Props', type: 'table', table: docProps},\n        ];\n\n        return {\n            selectData,\n            selectedData,\n            header,\n            features,\n            filterType,\n            filterStatus,\n            docProps,\n            docSamples,\n            showcaseTabs,\n            t,\n            tm\n        };\n    }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Badge.vue",
    "content": "<template>\n    <app-layout title=\"Badges\">\n        <template #header>\n            Badges\n        </template>\n        <template #subHeader>\n            Useful badges like price indicator,tags and etc\n        </template>\n        <template #default>\n            <grid-section :col=\"1\">\n                <!--General Samples-->\n                <t-content-card :width=\"1\">\n                    <template #title>Custom Badges</template>\n                    <template #subTitle>Color, radius, icon and value options</template>\n                    <template #content>\n                        <grid-section :col-laptop=\"2\" class=\"dark:text-gray-100\">\n                            <!--Filled-->\n                            <div class=\"flex flex-wrap justify-center md:justify-start items-center\">\n                                <h2 class=\"font-semibold mr-4\">Filled</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2 dark:border-gray-700\">\n                                    <t-badge design=\"filled\" color=\"danger\" :radius=\"0\" class=\"mt-2\">REJECTED</t-badge>\n                                    <t-badge design=\"filled\" color=\"success\">ACTIVE</t-badge>\n                                    <t-badge design=\"filled\" color=\"light\" badge-value=\"2.825,90 TRY\">SALARY</t-badge>\n                                    <t-badge design=\"filled\" color=\"warning\" badge-value=\"8\" :radius=\"8\">\n                                        <template #icon>\n                                            <icon icon=\"shield-alt\" size=\"sm\"/>\n                                        </template>\n                                        Attacks\n                                    </t-badge>\n                                </div>\n                            </div>\n\n                            <!--Light-->\n                            <div class=\"flex flex-wrap justify-center md:justify-start items-center\">\n                                <h2 class=\"font-semibold mr-4\">Light</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2 dark:border-gray-700\">\n                                    <t-badge design=\"light\" color=\"info\" :radius=\"0\" class=\"mt-2\">pending</t-badge>\n                                    <t-badge design=\"light\" color=\"violet\" badge-value=\"12\">open tasks</t-badge>\n                                    <t-badge design=\"light\" color=\"pink\" badge-value=\"125\" :radius=\"8\">\n                                        <template #icon>\n                                            <icon icon=\"user-circle\"/>\n                                        </template>\n                                        Staff\n                                    </t-badge>\n                                </div>\n                            </div>\n\n                            <!--Inline-->\n                            <div class=\"flex flex-wrap justify-center md:justify-start items-center\">\n                                <h2 class=\"font-semibold mr-4\">Inline</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2 dark:border-gray-700\">\n                                    <t-badge design=\"inline\" color=\"green\" :radius=\"0\" class=\"mt-2\">#tailwindcss\n                                    </t-badge>\n                                    <t-badge design=\"inline\" color=\"pink\" badge-value=\"1 Hr. 25 Min.\" :radius=\"2\">\n                                        London\n                                    </t-badge>\n                                    <t-badge design=\"inline\" color=\"warning\" badge-value=\"2\" :radius=\"2\">\n                                        <template #icon>\n                                            <icon icon=\"star\" size=\"sm\"/>\n                                        </template>\n                                        Awards\n                                    </t-badge>\n                                </div>\n                            </div>\n\n                            <!--Outline-->\n                            <div class=\"flex flex-wrap justify-center md:justify-start items-center\">\n                                <h2 class=\"font-semibold mr-4\">Outline</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2 dark:border-gray-700\">\n                                    <t-badge design=\"outline\" color=\"success\" :radius=\"0\" class=\"mt-2\">Online</t-badge>\n                                    <t-badge design=\"outline\" color=\"danger\">Offline</t-badge>\n                                    <t-badge design=\"outline\" color=\"warning\" badge-value=\"12 minutes\">Away</t-badge>\n                                    <t-badge design=\"outline\" color=\"success\" badge-value=\"+%2\">BTC</t-badge>\n                                    <t-badge design=\"outline\" color=\"danger\" badge-value=\"-%1,8\">ADA</t-badge>\n                                </div>\n                            </div>\n\n                            <!--Elegant-->\n                            <div class=\"flex flex-wrap justify-center md:justify-start items-center\">\n                                <h2 class=\"font-semibold mr-4\">Elegant</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2 dark:border-gray-700\">\n                                    <t-badge design=\"elegant\" color=\"success\" :radius=\"0\" class=\"mt-2\">Manager</t-badge>\n                                    <t-badge design=\"elegant\" color=\"violet\" badge-value=\"12\">Engineer</t-badge>\n                                    <t-badge design=\"elegant\" color=\"warning\" badge-value=\"8\" :radius=\"6\">\n                                        <template #icon>\n                                            <icon icon=\"cog\" size=\"sm\"/>\n                                        </template>\n                                        Maintainer\n                                    </t-badge>\n                                </div>\n                            </div>\n\n                            <!--Block-->\n                            <div class=\"flex flex-wrap justify-center md:justify-start items-center\">\n                                <h2 class=\"font-semibold mr-4\">Block</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2 dark:border-gray-700\">\n                                    <t-badge design=\"block\" color=\"success\" :radius=\"0\" class=\"mt-2\">PASSED</t-badge>\n                                    <t-badge design=\"block\" color=\"light\" badge-value=\"-3K TRY\">Prompt Cash</t-badge>\n                                    <t-badge design=\"block\" color=\"danger\" badge-value=\"8\" :radius=\"8\">\n                                        <template #icon>\n                                            <icon icon=\"trash\" size=\"sm\"/>\n                                        </template>\n                                        Trash\n                                    </t-badge>\n                                </div>\n                            </div>\n                        </grid-section>\n                    </template>\n                </t-content-card>\n                <!--Selectable Badges-->\n                <t-content-card :width=\"1\">\n                    <template #title>\n                        Selectable Badges\n                    </template>\n                    <template #subTitle>\n                        It works like tag\n                    </template>\n                    <template #content>\n                        <grid-section :col-tablet=\"2\">\n                            <div class=\"flex flex-col border border-dashed p-2\">\n                                <h3 class=\"font-semibold dark:text-gray-100\">Tags:</h3>\n                                <div class=\"flex flex-wrap space-x-2 justify-start items-center mt-2\">\n                                    <div class=\"flex flex-wrap border space-x-2 p-2 mb-2 w-full min-h-10\">\n                                        <t-badge\n                                            v-for=\"(tag,key) in activeTagList\"\n                                            color=\"success\"\n                                            design=\"filled\"\n                                            class=\"my-2 cursor-pointer\"\n                                            @click=\"deleteTag(tag)\"\n                                            :key=\"key\"\n                                        >\n                                            {{ tag.label }}\n                                        </t-badge>\n                                    </div>\n                                    <div class=\"flex flex-wrap\">\n                                        <t-badge\n                                            v-for=\"(tag,key) in passiveTagList\"\n                                            color=\"light\"\n                                            design=\"filled\"\n                                            class=\"mb-2 mr-2 cursor-pointer\"\n                                            @click=\"addTag(tag)\"\n                                            :key=\"key\"\n                                        >\n                                            {{ tag.label }}\n                                        </t-badge>\n                                    </div>\n                                </div>\n                            </div>\n                            <!--Custom Select Color-->\n                            <div class=\"flex flex-col border border-dashed p-2\">\n                                <h3 class=\"font-semibold dark:text-gray-100\">Custom Selected:</h3>\n                                <div class=\"flex flex-wrap justify-start items-center mt-2\">\n                                    <t-badge v-for=\"(tag,key) in tagBadgeCustomColor\"\n                                             :model-value=\"tag.status\"\n                                             :select-active-style=\"{color: 'success', design: 'filled'}\"\n                                             :select-passive-style=\"{color: 'light', design: 'elegant'}\"\n                                             class=\"mb-2 mr-2\"\n                                             v-model=\"tag.status\"\n                                             selectable\n                                             select-indicator\n                                             :key=\"key\"\n                                    >\n                                        {{ tag.label }}\n                                    </t-badge>\n                                </div>\n                            </div>\n                        </grid-section>\n                    </template>\n\n                </t-content-card>\n                <!--Closeable Badges-->\n                <t-content-card :width=\"1\">\n                    <template #title>Collapsible Badges</template>\n                    <template #subTitle>Click them</template>\n                    <template #content>\n                        <div class=\"flex flex-wrap space-x-4\">\n                            <t-badge :collapsible=\"true\" :radius=\"1\" color=\"pink\" design=\"filled\">\n                                <template #icon>\n                                    <icon icon=\"shield-alt\"/>\n                                </template>\n                                Super Admin\n                            </t-badge>\n                            <t-badge :collapsible=\"true\" :radius=\"8\" color=\"danger\" design=\"filled\">\n                                <template #icon>\n                                    <icon icon=\"ban\"/>\n                                </template>\n                                Restricted Area\n                            </t-badge>\n                        </div>\n                    </template>\n                </t-content-card>\n            </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Main Functions*/\nimport {reactive} from \"vue\";\n\n/*Components*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\n\n/*Import FontAwesomeIcon*/\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faCheckCircle, faStar, faShieldAlt, faBan, faPlusCircle, faUserCircle, faUsers, faCog, faTrash} from \"@fortawesome/free-solid-svg-icons\";\nlibrary.add( faCheckCircle, faStar, faShieldAlt, faBan, faPlusCircle, faUserCircle, faUsers, faCog, faTrash)\n\n\nexport default {\n    name: \"Badge\",\n    components: {\n        AppLayout,\n        GridSection,\n        TBadge,\n        TContentCard,\n    },\n    setup() {\n        const tagBadge = reactive([\n            {id: 1, label: 'VueJS'},\n            {id: 2, label: 'Tailawindcss'},\n            {id: 3, label: 'Laravel'},\n            {id: 4, label: 'Javascript'},\n            {id: 5, label: 'CSS'}\n        ])\n        const activeTagList = reactive([])\n        const passiveTagList = reactive([...tagBadge])\n\n        const tagBadgeCustomColor = reactive([\n            {id: 1, label: 'Urgent', status: true},\n            {id: 2, label: 'Low', status: true},\n            {id: 3, label: 'High', status: true},\n            {id: 4, label: 'Modarete', status: false},\n            {id: 5, label: 'Insignificant', status: false}\n        ])\n\n        const addTag = (tag) => {\n            activeTagList.push(tag)\n            passiveTagList.splice(passiveTagList.findIndex(pt => pt.id === tag.id), 1)\n        }\n\n        const deleteTag = (tag) => {\n            passiveTagList.push(tag)\n            activeTagList.splice(activeTagList.findIndex(pt => pt.id === tag.id), 1)\n        }\n\n        return {tagBadge, tagBadgeCustomColor, activeTagList, addTag, deleteTag, passiveTagList}\n    }\n};\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Breadcrumb.vue",
    "content": "<template>\n    <app-layout title=\"Breadcrumb\">\n        <template #header>Breadcrumb</template>\n        <template #subHeader>2 Different breadcrumbs style</template>\n        <template #default>\n            <grid-section class=\"hidden md:block\" :col=\"1\" :gap=\"8\">\n\n                <div v-for=\"design in ['filled','block']\" :key=\"design\">\n                    <t-breadcrumb\n                        v-for=\"(color,index) in ['white','white','black','purple']\"\n                        :design=\"design\" :color=\"color\"\n                        :breadcrumbs=\"breadcrumbs\"\n                        class=\"mb-4\"\n                        :position=\"index%2 === 0 ? 'left' : 'right'\"\n                        :key=\"color\"\n                        >\n                        <template #home=\"{props}\">\n                            <icon icon=\"home\" v-if=\"props.label === 'Home'\"/>\n                        </template>\n                        <template #subContent>\n                            <t-button v-if=\"index===0\" color=\"green\" size=\"sm\">\n                                <icon icon=\"plus-circle\" size=\"xs\"/>\n                                Add Button\n                            </t-button>\n                            <span v-if=\"index===2\">Alternative Title</span>\n                        </template>\n                    </t-breadcrumb>\n                </div>\n            </grid-section>\n            <t-alert class=\"block md:hidden\" color=\"red\">The breakcrumb component works only on the large\n                screens. If you want to see how ist works, you should use a large screen bigger than 728px\n            </t-alert>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Main Functions*/\nimport { defineComponent } from \"vue\";\n\n/*Component*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TBreadcrumb from \"@/Components/Breadcrumb/TBreadcrumb.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\n\n/*Import FontAwesomeIcon*/\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport {faHome, faPlusCircle} from \"@fortawesome/free-solid-svg-icons\";\nlibrary.add(faHome, faPlusCircle)\n\nexport default defineComponent({\n    name: \"Breadcrumb\",\n    components: {\n        TAlert,\n        AppLayout,\n        GridSection,\n        TBreadcrumb,\n        TButton\n        },\n    setup() {\n        const breadcrumbs = [\n            {key: 'home', label: 'Home', link: '/', active: false},\n            {key: 'department', label: 'Departments', link: '/department', active: false},\n            {key: 'new-department', label: 'New Department', link: '', active: true, activeColor: 'solid-red'}\n        ]\n\n        return {breadcrumbs}\n    }\n})\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Button.vue",
    "content": "<template>\n    <app-layout title=\"Buttons\">\n        <template #header>Buttons</template>\n        <template #subHeader>For all use (1.296 variations)</template>\n        <template #default>\n            <grid-section :col-tablet=\"1\">\n                <t-content-card :width=\"1\">\n                    <template #title>Sample Buttons</template>\n                    <template\n                        #subTitle\n                    >Color, radius, icon, size, disabled, loading, extended and group options</template>\n                    <template #content>\n                        <grid-section :col-laptop=\"2\">\n                            <!--Styles-->\n                            <div\n                                class=\"flex flex-wrap justify-center md:justify-start items-center\"\n                            >\n                                <h2 class=\"font-semibold mr-4\">Styles</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2\"\n                                >\n                                    <!--Filled-->\n                                    <t-button :radius=\"0\" class=\"mt-2\" color=\"green\">Filled</t-button>\n                                    <!--Light-->\n                                    <t-button :radius=\"2\" design=\"light\" color=\"pink\">\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                        Light\n                                    </t-button>\n                                    <!--Light with Border-->\n                                    <t-button :radius=\"1\" design=\"light\" border color=\"indigo\">\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                        Light with border\n                                    </t-button>\n                                    <!--Outline-->\n                                    <t-button :radius=\"3\" design=\"outline\" color=\"yellow\">Outline</t-button>\n                                    <!--Link-->\n                                    <t-button design=\"link\" color=\"blue\">Link</t-button>\n                                    <!--Link Plus-->\n                                    <t-button design=\"link-plus\" color=\"gray\">\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                        Link Plus\n                                    </t-button>\n                                </div>\n                            </div>\n\n                            <!--Disabled-->\n                            <div\n                                class=\"flex flex-wrap justify-center md:justify-start items-center\"\n                            >\n                                <h2 class=\"font-semibold mr-4\">Disabled</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2\"\n                                >\n                                    <!--Filled-->\n                                    <t-button :radius=\"0\" class=\"mt-2\" color=\"green\" disabled>Filled</t-button>\n                                    <!--Light-->\n                                    <t-button :radius=\"2\" design=\"light\" color=\"pink\" disabled>\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                        Light\n                                    </t-button>\n                                    <!--Light with Border-->\n                                    <t-button\n                                        :radius=\"1\"\n                                        design=\"light\"\n                                        border\n                                        color=\"indigo\"\n                                        disabled\n                                    >\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                        Light with border\n                                    </t-button>\n                                    <!--Outline-->\n                                    <t-button\n                                        :radius=\"3\"\n                                        design=\"outline\"\n                                        color=\"yellow\"\n                                        disabled\n                                    >Outline</t-button>\n                                    <!--Link-->\n                                    <t-button design=\"link\" color=\"blue\" disabled>Link</t-button>\n                                    <!--Link Plus-->\n                                    <t-button design=\"link-plus\" color=\"gray\" disabled>\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                        Link Plus\n                                    </t-button>\n                                </div>\n                            </div>\n\n                            <!--Loading-->\n                            <div\n                                class=\"flex flex-wrap justify-center md:justify-start items-center\"\n                            >\n                                <h2 class=\"font-semibold mr-4\">Loading</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2\"\n                                >\n                                    <!--Filled-->\n                                    <t-button\n                                        :radius=\"2\"\n                                        design=\"filled\"\n                                        color=\"pink\"\n                                        loading-with-content\n                                        class=\"mt-2\"\n                                    >With Text</t-button>\n                                    <!--Light-->\n                                    <t-button :radius=\"2\" design=\"light\" color=\"pink\" loading>\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                        Light\n                                    </t-button>\n                                    <!--Outline-->\n                                    <t-button\n                                        :radius=\"3\"\n                                        design=\"outline\"\n                                        color=\"yellow\"\n                                        loading\n                                        loading-design=\"three-dots\"\n                                    >Outline</t-button>\n                                    <!--Link-->\n                                    <t-button design=\"link\" color=\"blue\" loading>Link</t-button>\n                                    <!--Link Plus-->\n                                    <t-button\n                                        design=\"link-plus\"\n                                        color=\"gray\"\n                                        loading\n                                        loading-design=\"three-dots\"\n                                    >\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                        Link Plus\n                                    </t-button>\n                                </div>\n                            </div>\n\n                            <!--Icon Buttons-->\n                            <div\n                                class=\"flex flex-wrap justify-center md:justify-start items-center\"\n                            >\n                                <h2 class=\"font-semibold mr-4\">Icon Buttons</h2>\n                                <div\n                                    class=\"flex flex-wrap justify-center md:justify-start items-center border rounded w-full p-2 space-x-2 space-y-2\"\n                                >\n                                    <t-button :radius=\"0\" color=\"pink\" class=\"mt-2\">\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                    </t-button>\n                                    <t-button :radius=\"3\" design=\"light\" color=\"indigo\">\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                    </t-button>\n                                    <t-button :radius=\"5\" design=\"link\" color=\"yellow\">\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                    </t-button>\n                                    <t-button :radius=\"8\" design=\"link-plus\" color=\"red\">\n                                        <svg\n                                            class=\"w-6 h-6\"\n                                            fill=\"none\"\n                                            stroke=\"currentColor\"\n                                            viewBox=\"0 0 24 24\"\n                                            xmlns=\"http://www.w3.org/2000/svg\"\n                                        >\n                                            <path\n                                                d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"\n                                                stroke-linecap=\"round\"\n                                                stroke-linejoin=\"round\"\n                                                stroke-width=\"2\"\n                                            />\n                                        </svg>\n                                    </t-button>\n                                </div>\n                            </div>\n                        </grid-section>\n                    </template>\n                </t-content-card>\n                <!--Buton Sizes-->\n                <t-contentCard :width=\"1\">\n                    <template #title>Buton Sizes</template>\n                    <template #content>\n                        <div class=\"flex flex-wrap gap-2 items-center justify-center w-full\">\n                            <t-button color=\"red\" size=\"small\">Small Button : small</t-button>\n                            <t-button color=\"red\" size=\"normal\">Default : normal</t-button>\n                            <t-button color=\"yellow\" size=\"large\">Large Button: large</t-button>\n                            <t-button color=\"blue\" size=\"full\">Full Button : full</t-button>\n                        </div>\n                    </template>\n                </t-contentCard>\n            </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\n\nexport default {\n    name: \"Button\",\n    components: { AppLayout, GridSection, TButton, TContentCard },\n    data() {\n        return {\n            colors: [\"solid-red\", \"solid-blue\", \"solid-green\", \"solid-yellow\", \"solid-indigo\", \"solid-pink\", \"solid-purple\", \"solid-gray\", \"solid-black\", \"solid-white\", \"light-red\", \"light-blue\", \"light-green\", \"light-yellow\", \"light-indigo\", \"light-pink\", \"light-purple\", \"light-gray\"],\n        };\n    }\n};\n</script>\n\n<style scoped>\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Chart.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Charts</template>\n    <template #subHeader>Change the tables to the show</template>\n    <template #default>\n      <grid-section>\n        <t-content-card></t-content-card>\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\n\nexport default {\n  name: \"Chart\",\n  components: {\n    AppLayout,\n    GridSection,\n    TContentCard,\n  }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Collapsible.vue",
    "content": "<template>\n    <app-layout title=\"Collapsible Content\">\n        <template #header>\n            Collapsible Content\n        </template>\n        <template #subHeader>\n            Same color or different colors, collapsible or accordion\n        </template>\n        <template #default>\n            <div class=\"flex flex-wrap\">\n                <grid-section :col-laptop=\"3\" :col-tablet=\"2\">\n                    <!--Filled-->\n                    <t-content-card>\n                        <template #title>\n                            Filled\n                        </template>\n                        <template #subTitle>\n                            Click + Chevron + Collapsible + Align\n                        </template>\n                        <t-collapsible\n                            v-model=\"collapsibleActive\"\n                            :accordion=\"false\"\n                            opening-type=\"click\"\n                            trigger-type=\"chevron\"\n                            design=\"filled\"\n                            :radius=\"3\"\n                            color=\"indigo\"\n                            :separated=\"false\"\n                        >\n                            <t-collapsible-item\n                                @active=\"collapsibleActive = $event\"\n                                item-key=\"TailAdmin\"\n                                color=\"red\"\n                            >\n                                <template #title>\n                                    <t-logo class=\"w-5 h-5 mr-2\"/>\n                                    TailAdmin\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                            <t-collapsible-item\n                                @active=\"collapsibleActive = $event\"\n                                item-key=\"LaraQuality\"\n                                color=\"blue\"\n                                trigger-align=\"left\"\n                                title-align=\"right\"\n                            >\n                                <template #title>\n                                    <svg class=\"w-5 h-5 mr-2\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:osb=\"http://www.openswatchbook.org/uri/2009/osb\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" fill=\"currentColor\" version=\"1.1\" viewBox=\"0 0 215 215\" stroke=\"none\">\n                                        <path transform=\"matrix(1.28 0 0 1.28 13.057 10.462)\" d=\"m121.65 15.95-11.2 11.2q-5.9-4.75-12.8-7.3-5.7-2.35-10.05-3.15v-16.7h-22.8v16.35l-6.9 1.75q-8.1 2.55-16.15 7.5l-11.6-11.65-15.95 15.75 11.8 11.65q-6.1 8.85-8.85 19.65l-0.8 4.55h-16.35v21.65h16.75l2.15 7.45q2.35 7.9 7.3 14.4l-12 11.6 15.35 15.35 12-11.8 6.5 3.95q8.85 4.3 16.75 5.7v16.15h22.8v-16.55q8.05-1.8 15.75-5.7l5.55-3.35 11.4 11.4 16.15-16.15-11.25-11.4q5.1-7.85 7.5-16.9l1.2-4.15h16.1v-21.65h-15.75q-1.55-8.5-4.5-15.35l-3.55-5.9 12-12.05-16.55-16.3m-7.65 58.85q-0.05 15.9-11.25 27.55-11.6 11-27.55 11-16.15 0-27.55-11.4-11.2-10.85-11.2-27.15 0-15.95 11.2-27.55 11.8-11.25 27.55-11.25 15.75 0 27.55 11.25 11.2 11.8 11.25 27.55\" stroke-linecap=\"square\" stroke-width=\"1\"/>\n                                        <path transform=\"matrix(.34872 0 0 .34872 83.818 78.7)\" d=\"m144.75 65.137-94.088 94.088-50.662-50.663v-65.138l50.662 50.663 94.088-94.088v65.137\" stroke-linecap=\"square\" stroke-width=\"6\"/>\n                                    </svg>\n                                    LaraQuality\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                            <t-collapsible-item\n                                @active=\"collapsibleActive = $event\"\n                                item-key=\"LaraCoin\"\n                                color=\"indigo\"\n                                title-align=\"right\"\n                            >\n                                <template #title>\n                                    <svg class=\"w-5 h-5 mr-2\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n                                    </svg>\n                                    LaraCoin\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                        </t-collapsible>\n                    </t-content-card>\n                    <!--Light-->\n                    <t-content-card>\n                        <template #title>\n                            Light\n                        </template>\n                        <template #subTitle>\n                            Hover + Separated + Cross + Accordion\n                        </template>\n                        <t-collapsible\n                            v-model=\"collapsibleActive2\"\n                            :accordion=\"true\"\n                            opening-type=\"hover\"\n                            trigger-type=\"cross\"\n                            design=\"light\"\n                            :radius=\"0\"\n                            :separated=\"true\"\n                        >\n                            <t-collapsible-item\n                                @active=\"collapsibleActive2 = $event\"\n                                item-key=\"TailAdmin\"\n                                color=\"red\"\n                            >\n                                <template #title>\n                                    <t-logo class=\"w-5 h-5 mr-2\"/>\n                                    TailAdmin\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                            <t-collapsible-item\n                                @active=\"collapsibleActive2 = $event\"\n                                item-key=\"LaraQuality\"\n                                color=\"blue\"\n                            >\n                                <template #title>\n                                    <svg class=\"w-5 h-5 mr-2\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:osb=\"http://www.openswatchbook.org/uri/2009/osb\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" fill=\"currentColor\" version=\"1.1\" viewBox=\"0 0 215 215\" stroke=\"none\">\n                                        <path transform=\"matrix(1.28 0 0 1.28 13.057 10.462)\" d=\"m121.65 15.95-11.2 11.2q-5.9-4.75-12.8-7.3-5.7-2.35-10.05-3.15v-16.7h-22.8v16.35l-6.9 1.75q-8.1 2.55-16.15 7.5l-11.6-11.65-15.95 15.75 11.8 11.65q-6.1 8.85-8.85 19.65l-0.8 4.55h-16.35v21.65h16.75l2.15 7.45q2.35 7.9 7.3 14.4l-12 11.6 15.35 15.35 12-11.8 6.5 3.95q8.85 4.3 16.75 5.7v16.15h22.8v-16.55q8.05-1.8 15.75-5.7l5.55-3.35 11.4 11.4 16.15-16.15-11.25-11.4q5.1-7.85 7.5-16.9l1.2-4.15h16.1v-21.65h-15.75q-1.55-8.5-4.5-15.35l-3.55-5.9 12-12.05-16.55-16.3m-7.65 58.85q-0.05 15.9-11.25 27.55-11.6 11-27.55 11-16.15 0-27.55-11.4-11.2-10.85-11.2-27.15 0-15.95 11.2-27.55 11.8-11.25 27.55-11.25 15.75 0 27.55 11.25 11.2 11.8 11.25 27.55\" stroke-linecap=\"square\" stroke-width=\"1\"/>\n                                        <path transform=\"matrix(.34872 0 0 .34872 83.818 78.7)\" d=\"m144.75 65.137-94.088 94.088-50.662-50.663v-65.138l50.662 50.663 94.088-94.088v65.137\" stroke-linecap=\"square\" stroke-width=\"6\"/>\n                                    </svg>\n                                    LaraQuality\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                            <t-collapsible-item\n                                @active=\"collapsibleActive2 = $event\"\n                                item-key=\"LaraCoin\"\n                                color=\"indigo\"\n                            >\n                                <template #title>\n                                    <svg class=\"w-5 h-5 mr-2\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n                                    </svg>\n                                    LaraCoin\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                        </t-collapsible>\n                    </t-content-card>\n                    <!--Inline-->\n                    <t-content-card>\n                        <template #title>\n                            Inline\n                        </template>\n                        <template #subTitle>\n                            Hover + Separated + Cross + Accordion\n                        </template>\n                        <t-collapsible\n                            v-model=\"collapsibleActive3\"\n                            :accordion=\"true\"\n                            opening-type=\"hover\"\n                            trigger-type=\"cross\"\n                            design=\"inline\"\n                            :radius=\"0\"\n                            :separated=\"false\"\n                        >\n                            <t-collapsible-item\n                                @active=\"collapsibleActive3 = $event\"\n                                item-key=\"TailAdmin\"\n                                color=\"red\"\n                            >\n                                <template #title>\n                                    <t-logo class=\"w-5 h-5 mr-2\"/>\n                                    TailAdmin\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                            <t-collapsible-item\n                                @active=\"collapsibleActive3 = $event\"\n                                item-key=\"LaraQuality\"\n                                color=\"blue\"\n                            >\n                                <template #title>\n                                    <svg class=\"w-5 h-5 mr-2\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:osb=\"http://www.openswatchbook.org/uri/2009/osb\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" fill=\"currentColor\" version=\"1.1\" viewBox=\"0 0 215 215\" stroke=\"none\">\n                                        <path transform=\"matrix(1.28 0 0 1.28 13.057 10.462)\" d=\"m121.65 15.95-11.2 11.2q-5.9-4.75-12.8-7.3-5.7-2.35-10.05-3.15v-16.7h-22.8v16.35l-6.9 1.75q-8.1 2.55-16.15 7.5l-11.6-11.65-15.95 15.75 11.8 11.65q-6.1 8.85-8.85 19.65l-0.8 4.55h-16.35v21.65h16.75l2.15 7.45q2.35 7.9 7.3 14.4l-12 11.6 15.35 15.35 12-11.8 6.5 3.95q8.85 4.3 16.75 5.7v16.15h22.8v-16.55q8.05-1.8 15.75-5.7l5.55-3.35 11.4 11.4 16.15-16.15-11.25-11.4q5.1-7.85 7.5-16.9l1.2-4.15h16.1v-21.65h-15.75q-1.55-8.5-4.5-15.35l-3.55-5.9 12-12.05-16.55-16.3m-7.65 58.85q-0.05 15.9-11.25 27.55-11.6 11-27.55 11-16.15 0-27.55-11.4-11.2-10.85-11.2-27.15 0-15.95 11.2-27.55 11.8-11.25 27.55-11.25 15.75 0 27.55 11.25 11.2 11.8 11.25 27.55\" stroke-linecap=\"square\" stroke-width=\"1\"/>\n                                        <path transform=\"matrix(.34872 0 0 .34872 83.818 78.7)\" d=\"m144.75 65.137-94.088 94.088-50.662-50.663v-65.138l50.662 50.663 94.088-94.088v65.137\" stroke-linecap=\"square\" stroke-width=\"6\"/>\n                                    </svg>\n                                    LaraQuality\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                            <t-collapsible-item\n                                @active=\"collapsibleActive3 = $event\"\n                                item-key=\"LaraCoin\"\n                                color=\"indigo\"\n                            >\n                                <template #title>\n                                    <svg class=\"w-5 h-5 mr-2\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n                                    </svg>\n                                    LaraCoin\n                                </template>\n                                <template #content>\n                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur congue vehicula\n                                    imperdiet.\n                                </template>\n                            </t-collapsible-item>\n                        </t-collapsible>\n                    </t-content-card>\n                </grid-section>\n            </div>\n        </template>\n    </app-layout>\n</template>\n\n<script>\nimport {defineComponent, ref} from \"vue\";\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TCollapsible from \"@/Components/Collapsible/TCollapsible.vue\";\nimport TCollapsibleItem from \"@/Components/Collapsible/TCollapsibleItem.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TLogo from \"@/Components/Icon/TLogo.vue\";\n\nexport default defineComponent({\n    name: \"Collapsible\",\n    components: {\n        TLogo,\n        GridSection, AppLayout, TContentCard, TCollapsible, TCollapsibleItem},\n    setup() {\n        const collapsibleActive = ref([])\n        const collapsibleActive2 = ref([])\n        const collapsibleActive3 = ref([])\n        const test = ref(false)\n\n        return {collapsibleActive, collapsibleActive2, collapsibleActive3, test}\n    }\n})\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/ContentBox.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Content Card</template>\n    <template #subHeader>It is a shell for your content</template>\n    <template #default>\n      <!--Icon Options-->\n      <grid-section :col=\"2\" :gap=\"4\">\n        <!--Users-->\n        <t-content-card>\n          <template #title>Users</template>\n          <template #icon>\n            <t-user-group-icon class=\"w-12 h-12\"/>\n          </template>\n          <template #content>\n            255 user/s\n          </template>\n        </t-content-card>\n        <!--Team Member-->\n        <t-content-card color=\"gradient-gray-to-pink\">\n          <template #title>Sinan AYDOĞAN</template>\n          <template #icon>\n            <t-avatar slot=\"icon\" :radius=\"8\" :size=\"4\" src=\"https://i.pravatar.cc/300\"/>\n          </template>\n          <template #content>\n            Developer\n          </template>\n        </t-content-card>\n      </grid-section>\n      <!--Simple-->\n      <grid-section :col=\"3\" :gap=\"4\">\n        <t-content-card\n            :border=\"true\"\n            :line=\"true\"\n            :radius=\"0\"\n            :width=\"1\"\n        >\n          <template #title>\n            Content Card Component Title\n          </template>\n          <template #subTitle>\n            Solid, Light and Gradient Color Options\n          </template>\n          <template #content>\n            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec\n            dapibus metus enim. In vestibulum sit amet felis vitae ornare. Sed\n            posuere, mauris et dapibus tincidunt.\n            <div class=\"flex flex-col justify-center w-full mt-6 gap-4\">\n\n            </div>\n          </template>\n        </t-content-card>\n        <t-content-card\n            :border=\"true\"\n            :line=\"true\"\n            :radius=\"3\"\n            :width=\"1\"\n            color=\"solid-red\"\n        >\n          <template #title>\n            Adaptive Height: False\n          </template>\n          <template #content>\n            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec\n            dapibus metus enim. In vestibulum sit amet felis vitae ornare.\n            <div class=\"flex flex-col justify-center w-full mt-6 gap-4\">\n\n            </div>\n          </template>\n        </t-content-card>\n        <t-content-card\n            :adaptive-height=\"true\"\n            :border=\"true\"\n            :line=\"false\"\n            :radius=\"6\"\n            :width=\"1\"\n            color=\"light-indigo\"\n        >\n          <template #title>\n            Adaptive Height: True\n          </template>\n          <template #content>\n            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec\n            dapibus metus enim. In vestibulum sit amet felis vitae ornare. Sed\n            posuere, mauris et dapibus tincidunt.\n            <div class=\"flex flex-col justify-center w-full mt-6 gap-4\">\n\n            </div>\n          </template>\n        </t-content-card>\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TUserGroupIcon from \"@/Components/Icon/TUserGroupIcon.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\n\nexport default {\n  name: \"ContentBox\",\n  components: {\n    TAvatar,\n    TUserGroupIcon,\n    TContentCard,\n    GridSection,\n    AppLayout,\n  }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Dropdown.vue",
    "content": "<template>\n    <app-layout title=\"Dropdowns\">\n        <template #header>\n            Dropdowns\n        </template>\n        <template #subHeader>\n            Menu or multi functional buttons\n        </template>\n        <template #default>\n            <grid-section :col=\"1\">\n                <t-content-card :width=\"1\">\n                    <template #button-trigger>Simple</template>\n                    <template #subTitle>Link (Blank, Internal, External and Route) and Icons</template>\n                    <template #content>\n                        <div class=\"flex flex-wrap items-center justify-center space-x-4\">\n                            <!--Indigo-->\n                            <t-dropdown color=\"solid-white\" size=\"fit\">\n                                <template #trigger>\n                                    Fit Links\n                                </template>\n                                <t-dropdown-item>Menu 1</t-dropdown-item>\n                                <t-dropdown-item>Menu 2</t-dropdown-item>\n                                <t-dropdown-item>Menu 3</t-dropdown-item>\n                            </t-dropdown>\n\n                            <!--With Icon-->\n                            <t-dropdown button-color=\"purple\" button-design=\"outline\" align=\"right\" size=\"fit\">\n                                <template #trigger>\n                                    Wide Links\n                                </template>\n                                <t-dropdown-item :link=\"route('alert')\">\n                                    <template #icon>\n                                        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\" />\n                                        </svg>\n                                    </template>\n                                    Alert Component\n                                </t-dropdown-item>\n                                <t-dropdown-item :link=\"route('badge')\">\n                                    <template #icon>\n                                        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z\" />\n                                        </svg>\n                                    </template>\n                                    Badge Component\n                                </t-dropdown-item>\n                                <t-dropdown-item :link=\"route('list')\">\n                                    <template #icon>\n                                        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\" />\n                                        </svg>\n                                    </template>\n                                    List Component\n                                </t-dropdown-item>\n                            </t-dropdown>\n\n                            <!--Rich Trigger-->\n                            <t-dropdown size=\"fit\" align=\"right\" trigger-type=\"rich\">\n                                <div class=\"bg-white rounded-md border mt-1 overflow-hidden w-32\">\n                                    <t-dropdown-item>\n                                        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"w-5 h-5 inline-block\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n                                        </svg>\n                                        Profile\n                                    </t-dropdown-item>\n                                    <t-dropdown-item>\n                                        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"w-5 inline-block\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z\" />\n                                        </svg>\n                                        Wallet\n                                    </t-dropdown-item>\n                                    <span\n                                        class=\"inline-flex px-2 pb-2 pt-1 -mb-1 border-t border-red-500 w-full gap-1 h-full items-center text-red-500 bg-gray-100 hover:bg-red-500 hover:text-white\">\n                      <t-log-out-icon class=\"w-5 h-5\"/>\n                    Logout\n                  </span>\n                                </div>\n                                <template #trigger>\n                                    <t-avatar src=\"https://i.pravatar.cc\"\n                                              :indicator=\"{color:'solid-green',position:'rb'}\"/>\n                                </template>\n                            </t-dropdown>\n\n                            <!--Table Action Trigger-->\n                            <t-dropdown align=\"right\" size=\"fit\" trigger-type=\"rich\">\n                                <template #trigger>\n                                    <div class=\"flex justify-center items-center h-10 w-10 hover:bg-gray-200 rounded-md\">\n                                        <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\"\n                                             viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                                  d=\"M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z\"/>\n                                        </svg>\n                                    </div>\n                                </template>\n                                <t-list :radius=\"3\">\n                                    <t-list-item class=\"hover:bg-red-100 hover:text-red-500 cursor-pointer text-sm\">\n                                        <div class=\"flex items-center h-6\">\n                                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5 mr-1\" fill=\"none\"\n                                                 viewBox=\"0 0 24 24\"\n                                                 stroke=\"currentColor\">\n                                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                                                      stroke-width=\"2\"\n                                                      d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"/>\n                                            </svg>\n                                            Delete\n                                        </div>\n                                    </t-list-item>\n                                    <t-list-item class=\"hover:bg-blue-100 hover:text-blue-500 cursor-pointer text-sm\">\n                                        <div class=\"flex items-center h-6\">\n                                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5 mr-1\" fill=\"none\"\n                                                 viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                                                      stroke-width=\"2\"\n                                                      d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"/>\n                                            </svg>\n                                            Edit\n                                        </div>\n                                    </t-list-item>\n                                    <t-list-item class=\"hover:bg-blue-100 hover:text-blue-500 cursor-pointer text-sm\">\n                                        <div class=\"flex items-center h-6\">\n                                            <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5 mr-1\" fill=\"none\"\n                                                 viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                                                      stroke-width=\"2\"\n                                                      d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"/>\n                                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                                                      stroke-width=\"2\"\n                                                      d=\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"/>\n                                            </svg>\n                                            View\n                                        </div>\n                                    </t-list-item>\n                                </t-list>\n                            </t-dropdown>\n                        </div>\n                    </template>\n                </t-content-card>\n            </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TDropdown from \"@/Components/Dropdown/TDropdown.vue\";\nimport TDropdownItem from \"@/Components/Dropdown/TDropdownItem.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TList from \"@/Components/List/TList.vue\";\nimport TListItem from \"@/Components/List/TListItem.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\nimport TLogOutIcon from \"@/Components/Icon/TLogOutIcon.vue\";\n\nexport default {\n    name: \"Dropdown\",\n    components: {\n        TListItem,\n        TList,\n        TLogOutIcon, TAvatar, TContentCard, GridSection, AppLayout, TDropdown, TDropdownItem\n    }\n}\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/List.vue",
    "content": "<template>\n  <app-layout title=\"Lists\">\n    <template #header>Lists</template>\n    <template #subHeader>Content items, shopping lists or todo list</template>\n    <template #default>\n      <!-- Color Selector -->\n      <t-component-style-selector\n        class=\"mb-4\"\n        v-model=\"selectedData\"\n        :select-data=\"selectData\"\n      />\n      <transition name=\"alert\">\n        <t-toastr\n          id=\"alert\"\n          v-show=\"(selectedData.design === 'outline' || selectedData.design === 'elegant')\"\n          color=\"solid-white\"\n          class=\"bg-opacity-75 text-gray-700 mb-2\"\n          style=\"z-index: 999999\"\n        >\n          <div class=\"flex flex-col\">\n            <b class=\"text-yellow-700 font-semibold\">Warning</b>\n            Outline and Elegant designs defaulted have border, and it's not an option\n          </div>\n        </t-toastr>\n      </transition>\n      <t-content-card>\n        <template #title>\n          Samples\n        </template>\n\n        <grid-section :col-tablet=\"2\" :col-laptop=\"3\">\n          <!--Simple-->\n          <t-list\n            :color=\"selectedData.color\"\n            :design=\"selectedData.design\"\n            :border=\"selectedData.border\"\n            :radius=\"0\"\n            :separated=\"selectedData.separated\"\n          >\n            <t-list-item :active=\"selectedCheckbox.includes('Cheery')\">\n              <template #icon>\n                <t-input-check-box v-model=\"selectedCheckbox\" input-value=\"Cheery\" :color=\"selectedData.color\" />\n              </template>\n              Cheery\n            </t-list-item>\n            <t-list-item :active=\"selectedCheckbox.includes('Banana')\">\n              <template #icon>\n                <t-input-check-box v-model=\"selectedCheckbox\" input-value=\"Banana\" :color=\"selectedData.color\" />\n              </template>\n              Banana\n            </t-list-item>\n            <t-list-item :active=\"selectedCheckbox.includes('Strawberry')\">\n              <template #icon>\n                <t-input-check-box v-model=\"selectedCheckbox\" input-value=\"Strawberry\" :color=\"selectedData.color\" />\n              </template>\n              Strawberry\n            </t-list-item>\n            <t-list-item :active=\"selectedCheckbox.includes('Lemon')\">\n              <template #icon>\n                <t-input-check-box v-model=\"selectedCheckbox\" input-value=\"Lemon\" :color=\"selectedData.color\" />\n              </template>\n              Lemon\n            </t-list-item>\n          </t-list>\n          <!--With Title-->\n          <t-list\n            :color=\"selectedData.color\"\n            :design=\"selectedData.design\"\n            :border=\"selectedData.border\"\n            :separated=\"selectedData.separated\"\n            :radius=\"3\"\n          >\n            <t-list-item>\n              <template #title>Name:</template>\n              <template #default>Sinan Aydoğan</template>\n            </t-list-item>\n            <t-list-item>\n              <template #title>Title:</template>\n              <template #default>Developer</template>\n            </t-list-item>\n            <t-list-item>\n              <template #title>Birthday:</template>\n              <template #default>1987</template>\n            </t-list-item>\n            <t-list-item>\n              <template #title>Country:</template>\n              <template #default>Turkey</template>\n            </t-list-item>\n          </t-list>\n          <!--With Icon-->\n          <t-list :color=\"selectedData.color\" :design=\"selectedData.design\" :border=\"selectedData.border\" :radius=\"5\"\n                  :separated=\"selectedData.separated\">\n            <t-list-item>\n              <template #icon>\n                <icon :icon=\"['fab','vuejs']\" />\n              </template>\n              <template #default>VueJS components inside</template>\n            </t-list-item>\n            <t-list-item>\n              <template #icon>\n                <icon :icon=\"['fab','js']\" />\n              </template>\n              <template #default>Powered by JavaScript</template>\n            </t-list-item>\n            <t-list-item>\n              <template #icon>\n                <icon :icon=\"['fab','css3']\" />\n              </template>\n              <template #default>Polished with TailwindCSS</template>\n            </t-list-item>\n            <t-list-item>\n              <template #icon>\n                <icon icon=\"chart-bar\" />\n              </template>\n              <template #default>Detailed some graphics with ChartJS</template>\n            </t-list-item>\n          </t-list>\n          <!--With Avatar-->\n          <t-list :color=\"selectedData.color\" :design=\"selectedData.design\" :border=\"selectedData.border\" :radius=\"3\"\n                  :separated=\"selectedData.separated\">\n            <t-list-item>\n              <template #icon>\n                <t-avatar :radius=\"8\" :size=\"2\" src=\"https://i.pravatar.cc/150?u=1\"></t-avatar>\n              </template>\n              <template #default>Sinem Aydoğan</template>\n            </t-list-item>\n            <t-list-item>\n              <template #icon>\n                <t-avatar :radius=\"8\" :size=\"2\" src=\"https://i.pravatar.cc/150?u=2\"></t-avatar>\n              </template>\n              <template #default>Zuhal Taşçı</template>\n            </t-list-item>\n            <t-list-item>\n              <template #icon>\n                <t-avatar :radius=\"8\" :size=\"2\" src=\"https://i.pravatar.cc/150?u=3\"></t-avatar>\n              </template>\n              <template #default>Ayşe Gürel</template>\n            </t-list-item>\n            <t-list-item>\n              <template #icon>\n                <t-avatar :radius=\"8\" :size=\"2\" src=\"https://i.pravatar.cc/150?u=4\"></t-avatar>\n              </template>\n              <template #default>Günel Deren</template>\n            </t-list-item>\n          </t-list>\n          <!--With SecondContent -->\n          <t-list :color=\"selectedData.color\" :design=\"selectedData.design\" :border=\"selectedData.border\" :radius=\"3\"\n                  :separated=\"selectedData.separated\">\n            <t-list-item>\n              <template #default>\n                Users\n              </template>\n              <template #secondContent>\n                <t-badge :radius=\"5\">120</t-badge>\n              </template>\n            </t-list-item>\n            <t-list-item>\n              <template #default>Materials</template>\n              <template #secondContent>\n                <t-badge :radius=\"5\" color=\"red\">6 pcs.</t-badge>\n              </template>\n            </t-list-item>\n            <t-list-item>\n              <template #default>Costs</template>\n              <template #secondContent>\n                <t-button :radius=\"2\" design=\"light\" border :color=\"selectedData.color\" size=\"small\">+ Add new\n                  cash\n                </t-button>\n              </template>\n            </t-list-item>\n          </t-list>\n        </grid-section>\n      </t-content-card>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TList from \"@/Components/List/TList.vue\";\nimport TListItem from \"@/Components/List/TListItem.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\nimport TComponentStyleSelector from \"@/Components/Misc/TComponentStyleSelector.vue\";\nimport TToastr from \"@/Components/Toastr/TToastr.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TInputCheckBox from \"@/Components/Form/Inputs/TInputCheckBox.vue\";\nimport { defineComponent, reactive, ref } from \"vue\";\n\nexport default defineComponent({\n  name: \"List\",\n  components: {\n    TInputCheckBox,\n    TContentCard,\n    TToastr,\n    GridSection,\n    TListItem,\n    TList,\n    AppLayout,\n    TBadge,\n    TButton,\n    TAvatar,\n    TComponentStyleSelector\n  },\n  setup() {\n    const selectedData = reactive({\n      color: \"blue\",\n      design: \"filled\",\n      border: true,\n      separated: false\n    });\n    const selectedCheckbox = ref([\"Cheery\", \"Banana\", \"Strawberry\"]);\n    const selectData = reactive([\n      {\n        key: \"design\",\n        label: \"Design\",\n        options: [\n          { key: \"filled\", label: \"Design: Filled\" },\n          { key: \"light\", label: \"Design: Light\" },\n          { key: \"outline\", label: \"Design: Outline\" },\n          { key: \"elegant\", label: \"Design: Elegant\" },\n          { key: \"simple\", label: \"Design: Simple\" }\n        ]\n      },\n      {\n        key: \"border\",\n        label: \"Border\",\n        options: [\n          { key: true, label: \"Border: True\" },\n          { key: false, label: \"Border: False\" }\n        ]\n      },\n      {\n        key: \"separated\",\n        label: \"Separated\",\n        options: [\n          { key: true, label: \"Separated: True\" },\n          { key: false, label: \"Separated: False\" }\n        ]\n      }\n    ]);\n\n    return { selectedData, selectedCheckbox, selectData };\n  }\n});\n</script>\n\n<style scoped>\n.alert-enter-active, .alert-leave-active {\n  transition: opacity ease-out .75s;\n}\n\n.alert-enter, .alert-leave-to {\n  opacity: 0;\n  height: revert;\n}\n\n.alert-enter-to, .alert-leave {\n  opacity: 1;\n  height: revert;\n}\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Loading.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Loading Animations and Screens</template>\n    <template #subHeader>Pretty and sweet loading indicators</template>\n    <template #default>\n      <grid-section :col-desktop=\"1\">\n        <t-content-card :width=\"1\">\n          <template #title>Click to the buttons for loading screens</template>\n          <template #subTitle>2 animations for buttons' inside and a lot of loading screen options</template>\n          <template #content>\n            <div class=\"flex flex-wrap gap-2 mt-4 items-center justify-start\">\n              <!--Simple Loading Screen with Cogs-->\n              <t-button\n                design=\"filled\"\n                color=\"green\"\n                type=\"button\"\n                @click=\"showLoadingScreenSimpleCogs = !showLoadingScreenSimpleCogs\"\n              >\n                Show Loading Screen with Cogs\n              </t-button>\n              <t-loading\n                :radius=\"3\"\n                loading-design=\"cogs\"\n                color=\"white\"\n                v-model=\"showLoadingScreenSimpleCogs\"\n                closeable\n              />\n              <!--Simple Loading Screen with Bars-->\n              <t-button\n                design=\"filled\"\n                color=\"indigo\"\n                type=\"button\"\n                @click=\"showLoadingScreenSimpleBars = !showLoadingScreenSimpleBars\"\n              >\n                Show Loading Screen with Bars\n              </t-button>\n              <t-loading\n                :radius=\"3\"\n                loading-design=\"three-bars\"\n                color=\"indigo\"\n                v-model=\"showLoadingScreenSimpleBars\"\n                closeable\n              />\n              <!--Simple Loading Screen : Dots-->\n              <t-button\n                design=\"filled\"\n                color=\"blue\"\n                type=\"button\"\n                @click=\"showLoadingScreenSimpleDots = !showLoadingScreenSimpleDots\"\n              >\n                Show Loading Screen with Dots\n              </t-button>\n              <t-loading\n                :radius=\"3\"\n                loading-design=\"three-dots\"\n                color=\"blue\"\n                v-model=\"showLoadingScreenSimpleDots\"\n                closeable\n              />\n              <!--Closeable Loading Screen-->\n              <t-button\n                design=\"light\"\n                color=\"black\"\n                type=\"button\"\n                @click=\"showLoadingScreenCloseable = !showLoadingScreenCloseable\">\n                Closeable Loading Screen\n              </t-button>\n              <t-loading\n                closeable\n                :radius=\"3\"\n                :color=\"selectedColor\"\n                v-model=\"showLoadingScreenCloseable\"\n              >\n                <div class=\"flex flex-col\">\n                  <div class=\"flex\">\n                    <img\n                      src=\"https://camo.githubusercontent.com/8321556a8c584594e7eeed9625375cc4639ebbde4bd527b8d150cb212d95dbf6/68747470733a2f2f7461696c61646d696e2e6465762f696d672f6d6973632f30315f7461696c61646d696e2e6a7067\">\n                  </div>\n                  <!--Color Select-->\n                  <div class=\"flex flex-col m-auto\">\n                    <div\n                      class=\"flex flex-row max-w-min mx-auto mt-4 overflow-hidden justify-center bg-gradient-to-tr from-white to-gray-300  p-2 rounded-lg flex-shrink-0 flex-grow-0\">\n                      <t-button\n                        size=\"small\"\n                        design=\"filled\"\n                        class=\"first:rounded-l-lg last:rounded-r-lg overflow-hidden shadow-lg ring-0 active:ring-0 focus:ring-0\"\n                        :radius=\"0\"\n                        type=\"button\"\n                        v-for=\"color in colors\" :color=\"color.key\"\n                        @click=\"changeColor(color.key)\"\n                      >\n                        {{ color.label }}\n                      </t-button>\n                    </div>\n                    <div\n                      class=\"flex w-full justify-center font-semibold text-gray-700 flex-shrink-0 flex-grow-0\">\n                      <span class=\"flex bg-gradient-to-b from-gray-400 to-white px-2 rounded-b-lg\">Color Options</span>\n                    </div>\n                  </div>\n                </div>\n              </t-loading>\n              <!--Timed Loading Screen For Close-->\n              <t-button\n                design=\"outline\"\n                color=\"red\"\n                type=\"button\"\n                @click=\"showLoadingScreenTimed = !showLoadingScreenTimed\"\n              >\n                Timed Loading Screen For Close\n              </t-button>\n              <t-loading\n                :timer=\"6000\"\n                :radius=\"3\"\n                :color=\"selectedColor\"\n                v-model=\"showLoadingScreenTimed\"\n              >\n                <div class=\"flex flex-col\">\n                  <!--Color Select-->\n                  <div class=\"mb-4\">\n                    <div class=\"flex mx-auto justify-center font-semibold text-lg text-gray-800\">\n                    <span\n                      class=\"flex bg-gradient-to-tl from-gray-100 to-white px-2 pt-1 rounded-t-lg\">Color Options</span>\n                    </div>\n                    <div\n                      class=\"flex flex-row max-w-min mx-auto overflow-hidden  bg-gradient-to-tl from-gray-300 to-white p-2 rounded-lg\">\n                      <t-button\n                        design=\"filled\"\n                        class=\"first:rounded-l-lg last:rounded-r-lg overflow-hidden shadow-lg ring-0 active:ring-0 focus:ring-0\"\n                        :radius=\"0\"\n                        type=\"button\"\n                        v-for=\"color in colors\" :color=\"color.key\"\n                        @click=\"changeColor(color.key)\"\n                      >\n                        {{ color.label }}\n                      </t-button>\n                    </div>\n                  </div>\n                  <img\n                    alt=\"Demo\"\n                    class=\"flex mx-auto h-1/2 w-1/2\"\n                    src=\"https://images.unsplash.com/photo-1585251172245-4e87f155fc30?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=687&q=80\"\n                  >\n                </div>\n              </t-loading>\n            </div>\n          </template>\n        </t-content-card>\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TLoading from \"@/Components/Loading/TLoading.vue\";\nimport { defineComponent, ref } from \"vue\";\n\nexport default defineComponent({\n  name: \"Modal\",\n  components: {\n    TLoading,\n    AppLayout, GridSection, TButton, TContentCard\n  },\n  setup() {\n    const selectedColor = ref(\"gray\");\n    const showLoadingScreenSimpleCogs = ref(false);\n    const showLoadingScreenSimpleBars = ref(false);\n    const showLoadingScreenSimpleDots = ref(false);\n    const showLoadingScreenCloseable = ref(false);\n    const showLoadingScreenTimed = ref(false);\n\n    const colors = [\n      { key: \"black\", label: \"Black\" },\n      { key: \"blue\", label: \"Blue\" },\n      { key: \"gray\", label: \"Gray\" },\n      { key: \"green\", label: \"Green\" },\n      { key: \"indigo\", label: \"Indigo\" },\n      { key: \"pink\", label: \"Pink\" },\n      { key: \"purple\", label: \"Purple\" },\n      { key: \"white\", label: \"White\" },\n      { key: \"yellow\", label: \"Yellow\" }\n    ];\n\n    const changeColor = (color) => {\n      selectedColor.value = color;\n    };\n\n    return {\n      selectedColor,\n      changeColor,\n      colors,\n      showLoadingScreenSimpleBars,\n      showLoadingScreenSimpleDots,\n      showLoadingScreenSimpleCogs,\n      showLoadingScreenCloseable,\n      showLoadingScreenTimed\n    };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Modal.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Modals</template>\n    <template #subHeader>Pretty and sweet windows</template>\n    <template #default>\n      <t-content-card>\n        <template #title>Click to the buttons for show modal windows</template>\n        <template #subTitle>10 solid, 8 light and limitless gradient color options with radius</template>\n        <grid-section :col-tablet=\"2\" :col-laptop=\"4\">\n\n          <!--Simple Modal-->\n          <t-button\n              color=\"white\"\n              type=\"button\"\n              @click=\"showModal1 = !showModal1\"\n          >\n            Show Simple Modal\n          </t-button>\n          <!--With Timer-->\n          <t-button\n              design=\"light\"\n              color=\"blue\"\n              type=\"button\"\n              @click=\"showModal2 = !showModal2\"\n          >\n            With Timer\n          </t-button>\n          <!--With ESC & Out-Side Click-->\n\n          <t-button\n              color=\"red\"\n              type=\"button\"\n              @click=\"showModal3 = !showModal3\"\n          >\n            With ESC & Out-Side Click\n          </t-button>\n\n          <!--With Predefined Icons-->\n\n          <t-button\n              color=\"indigo\"\n              type=\"button\"\n              @click=\"showModal4 = !showModal4\"\n          >\n            With Predefined Icons\n          </t-button>\n\n        </grid-section>\n        <!--Simple-->\n        <teleport to=\"body\">\n          <t-modal\n              title=\"Registration\"\n              sub-title=\"Your register success\"\n              content=\"User infos registered to database<br> Please check your mailbox for apply message\"\n              :dark-mode=\"selectedDarkMode\"\n              :bg-color=\"selectedBgColor\"\n              :design=\"selectedDesign\"\n              :color=\"selectedColor\"\n              icon=\"success\"\n              :radius=\"3\"\n              v-model=\"showModal1\"\n          >\n            <template #action-buttons>\n\n              <!--Show-->\n              <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\"\n                   stroke=\"currentColor\">\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                      d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"/>\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                      d=\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"/>\n              </svg>\n              <!--Edit-->\n              <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\"\n                   stroke=\"currentColor\">\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                      d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"/>\n              </svg>\n              <!--Settings-->\n              <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\"\n                   stroke=\"currentColor\">\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                      d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"/>\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                      d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"/>\n              </svg>\n\n            </template>\n            <template #header>Modal Header</template>\n            <template #content>\n              <grid-section :col=\"2\">\n                <t-input-group label=\"Box Design\">\n                  <t-input-select :options=\"designOptions\" v-model=\"selectedDesign\"/>\n                </t-input-group>\n                <t-input-group label=\"Box Color\">\n                  <t-input-select :options=\"colorOptions\" v-model=\"selectedColor\"/>\n                </t-input-group>\n                <t-input-group label=\"Dark Mode\">\n                  <t-input-select :options=\"darkModeOptions\" v-model=\"selectedDarkMode\"/>\n                </t-input-group>\n                <t-input-group label=\"Background Color\">\n                  <t-input-select :options=\"colorOptions\" v-model=\"selectedBgColor\"/>\n                </t-input-group>\n              </grid-section>\n            </template>\n            <template #footer-right>\n              <t-button :radius=\"3\" color=\"white\" @click.native=\"showModal1 = false\">\n                Close\n              </t-button>\n              <t-button :radius=\"3\" color=\"green\">\n                <icon icon=\"save\"/>\n                Save\n              </t-button>\n            </template>\n          </t-modal>\n        </teleport>\n        <!--With Timer-->\n        <teleport to=\"body\">\n          <t-modal\n              title=\"Timed Modal\"\n              sub-title=\"Countdown: 3 seconds\"\n              content=\"This modal will close after 3 seconds\"\n              :timer=\"3000\"\n              :radius=\"3\"\n              out-side-click\n              v-model=\"showModal2\"\n              bg-color=\"blue\"\n          >\n          </t-modal>\n        </teleport>\n        <!--With ESC & Out-Side Click-->\n        <teleport to=\"body\">\n          <t-modal\n              v-model=\"showModal3\"\n              :radius=\"3\"\n              design=\"elegant\"\n              color=\"red\"\n              title=\"ESC + Outside Click\"\n              sub-title=\"Different ways for close\"\n              content=\"You can click to outside of this modal or <br>press to ESC key on the keyboard\"\n              out-side-click\n              esc\n          >\n            <template #footer-left>\n              <t-button :radius=\"3\" color=\"white\" @click.native=\"showModal3 = false\">\n                Cancel\n              </t-button>\n            </template>\n            <template #footer-right>\n              <t-button :radius=\"3\" design=\"light\" color=\"red\">\n                <icon icon=\"trash\"/>\n                Delete it\n              </t-button>\n            </template>\n          </t-modal>\n        </teleport>\n        <!--With Predefined Icon-->\n        <teleport to=\"body\">\n          <t-modal\n              v-model=\"showModal4\"\n              color=\"white\"\n              bg-color=\"yellow\"\n              :radius=\"3\"\n              title=\"Please wait\"\n              sub-title=\"Your test will be ready after 30 minutes\"\n          >\n            <template #icon>\n              <svg class=\"w-20 h-20 text-yellow-500\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"\n                   viewBox=\"0 0 120.88 122.88\">\n                <title>30-seconds</title>\n                <path\n                    d=\"M60.22,113.81a4.54,4.54,0,0,1,0,9.07A60.23,60.23,0,1,1,89.71,10.16l-1.26-3.3a5.06,5.06,0,1,1,9.45-3.6l5,13.15a5,5,0,0,1,.32,1.55,5,5,0,0,1-3.51,5.64L86.27,27.72a5,5,0,0,1-2.92-9.65l1.28-.39a50.55,50.55,0,0,0-10.19-4.19A51.17,51.17,0,1,0,60.22,113.81ZM42.78,91.21c-.6,0-1.18,0-1.75-.06s-1.12-.09-1.67-.16-1.08-.15-1.58-.24-1-.2-1.46-.33V86.26c.61,0,1.27.1,2,.14l2.17.08,2,0A6.82,6.82,0,0,0,44,86.37a1.89,1.89,0,0,0,.9-.43,1.13,1.13,0,0,0,.29-.81V84.8a1,1,0,0,0-.42-.89,1.61,1.61,0,0,0-1-.3H42.35a7.17,7.17,0,0,1-4.76-1.38Q36,80.85,36,77.61v-.89a5.45,5.45,0,0,1,1.78-4.45,7.89,7.89,0,0,1,5.14-1.47,22.61,22.61,0,0,1,2.39.12c.75.08,1.45.18,2.11.3s1.24.24,1.77.36v4.17c-.83-.08-1.76-.13-2.8-.18s-2-.07-2.82-.07a7.88,7.88,0,0,0-1.36.11,1.76,1.76,0,0,0-.92.43,1.31,1.31,0,0,0-.32.95v.27a1.25,1.25,0,0,0,.43,1,2.11,2.11,0,0,0,1.33.35h1.78a6.38,6.38,0,0,1,3.15.71,4.67,4.67,0,0,1,1.89,2,6,6,0,0,1,.64,2.8V85a7.08,7.08,0,0,1-.9,3.92,4.34,4.34,0,0,1-2.54,1.82,14.15,14.15,0,0,1-3.94.48Zm16.15,0a10.92,10.92,0,0,1-1.56-.14,5.41,5.41,0,0,1-1.75-.59,3.72,3.72,0,0,1-1.42-1.42,5.17,5.17,0,0,1-.57-2.64V75.93a5.63,5.63,0,0,1,.46-2.43A4,4,0,0,1,55.28,72a4.7,4.7,0,0,1,1.62-.79A7,7,0,0,1,58.63,71c1.51,0,2.82,0,3.91.07s2,.09,2.83.15,1.51.12,2.13.19V75.8H60.25a1.51,1.51,0,0,0-1,.3,1.08,1.08,0,0,0-.36.89v1.68l7.27.27V83.1l-7.27.27v1.51a1.84,1.84,0,0,0,.15.8,1,1,0,0,0,.42.46,1.21,1.21,0,0,0,.6.15H67.5v4.43c-.78.11-1.66.2-2.65.27s-2,.13-3,.16-2,.06-2.89.06Zm18.9,0a10.62,10.62,0,0,1-3-.41,5.06,5.06,0,0,1-2.33-1.49A7.29,7.29,0,0,1,71,86.21a22.24,22.24,0,0,1-.52-5.27A20.22,20.22,0,0,1,71,75.8a7.51,7.51,0,0,1,1.53-3.09,5.2,5.2,0,0,1,2.34-1.52,10,10,0,0,1,3-.42,21.46,21.46,0,0,1,3,.18,18.67,18.67,0,0,1,2.19.42,9.78,9.78,0,0,1,1.45.48v4.08c-.35-.07-.79-.14-1.33-.21s-1.15-.13-1.85-.18-1.44-.06-2.26-.06a5.74,5.74,0,0,0-1.55.18,1.82,1.82,0,0,0-1,.76,4.17,4.17,0,0,0-.56,1.66A20.28,20.28,0,0,0,75.7,81a22.52,22.52,0,0,0,.13,2.7,4.41,4.41,0,0,0,.49,1.69,1.92,1.92,0,0,0,1,.87,4.89,4.89,0,0,0,1.72.25c1.37,0,2.48,0,3.34-.06s1.53-.11,2-.18v4.08a10,10,0,0,1-1.58.46,17.32,17.32,0,0,1-2.13.3c-.81.07-1.77.11-2.89.11Zm-30.32-26c-2.32,0-4.56-.1-6.74-.3s-4.18-.5-6-.87V57.28h9.48a14.79,14.79,0,0,0,2.63-.18,2.22,2.22,0,0,0,1.28-.56,1.6,1.6,0,0,0,.35-1.09v-.82a1.87,1.87,0,0,0-.4-1.26A2.32,2.32,0,0,0,47,52.65a7,7,0,0,0-1.83-.28L37.38,52V45.5L44.73,45a7.5,7.5,0,0,0,2.56-.52,1.41,1.41,0,0,0,.83-1.39v-.39a1.9,1.9,0,0,0-.87-1.78A6.83,6.83,0,0,0,44,40.42H35.17V33.64c1.88-.32,3.87-.62,5.95-.89a39.39,39.39,0,0,1,6.35-.33,12.44,12.44,0,0,1,4.8.93,6.74,6.74,0,0,1,3.11,2.7,8.8,8.8,0,0,1,1.08,4.58v2.18a10,10,0,0,1-.19,2,5.79,5.79,0,0,1-.63,1.69,4.79,4.79,0,0,1-1.13,1.33,5.72,5.72,0,0,1-1.7.91,4.61,4.61,0,0,1,1.81,1,5.86,5.86,0,0,1,1.25,1.58,7.93,7.93,0,0,1,.77,2.07,11.29,11.29,0,0,1,.26,2.45V57.1a7.43,7.43,0,0,1-2.5,6,10.44,10.44,0,0,1-6.89,2.09Zm21.29,0a10.55,10.55,0,0,1-4.93-1,6.54,6.54,0,0,1-2.93-3,10.71,10.71,0,0,1-1-4.72V41.63a11.2,11.2,0,0,1,1-5,7,7,0,0,1,3-3.11,10.16,10.16,0,0,1,4.83-1.06h7a9.35,9.35,0,0,1,4.63,1.06,6.91,6.91,0,0,1,2.86,3.11,11.64,11.64,0,0,1,1,5V56.45a9,9,0,0,1-2.19,6.43,8.25,8.25,0,0,1-6.33,2.35Zm2.09-7.56H73.5a2.17,2.17,0,0,0,2.43-2.52V42.5a2.55,2.55,0,0,0-.61-2,2.26,2.26,0,0,0-1.48-.5H70.59a2.06,2.06,0,0,0-1.66.61,2.94,2.94,0,0,0-.52,1.91V55.1a2.65,2.65,0,0,0,.61,2,2.62,2.62,0,0,0,1.87.59Zm40.33-27.91c-3.52-5.29-11.65-.65-8.57,5.21l.14.22A50,50,0,0,1,107,43.27a5,5,0,1,0,9.28-3.83,61.08,61.08,0,0,0-5.07-9.68ZM77.27,110.47a5,5,0,1,0,3.36,9.46,60.29,60.29,0,0,0,9.94-4.55,5,5,0,0,0-5-8.7,55.52,55.52,0,0,1-8.3,3.79ZM99.4,95c-3.66,4.44,2.09,10.86,7.08,7a5.37,5.37,0,0,0,.71-.72,64.19,64.19,0,0,0,6.11-9.06,5,5,0,0,0-8.48-5.34A77.5,77.5,0,0,1,99.4,95Zm10.88-24.81a5,5,0,0,0,9.63,2.58,4.83,4.83,0,0,0,.3-1.13,60.28,60.28,0,0,0,.64-10.9c-.28-6.19-9.41-6.63-10-.12v.82a52.28,52.28,0,0,1-.55,8.75Z\"></path>\n              </svg>\n            </template>\n            <template #footer-left>\n              <t-button :radius=\"3\" color=\"white\" @click.native=\"showModal4 = false\">\n                Cancel\n              </t-button>\n            </template>\n            <template #footer-right>\n              <t-button loading :radius=\"3\" design=\"light\" color=\"green\">\n                Wait\n              </t-button>\n            </template>\n          </t-modal>\n        </teleport>\n      </t-content-card>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport {ref, reactive, defineComponent} from \"vue\";\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TModal from \"@/Components/Modal/TModal.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\n\nexport default defineComponent({\n  name: \"Modal\",\n  components: {\n    TInputSelect,\n    AppLayout, GridSection,  TButton, TContentCard, TModal,  TInputGroup\n  },\n  setup() {\n    /*Definitions*/\n    const selectedDarkMode = ref(false)\n    const selectedDesign = ref('elegant')\n    const selectedBgColor = ref('black')\n    const selectedColor = ref('white')\n    const darkModeOptions = reactive([\n      {key: true, label: 'Dark: true'},\n      {key: false, label: 'Dark: false'}\n    ])\n    const colorOptions = reactive([\n      {key: 'red', label: 'Red'},\n      {key: 'blue', label: 'Blue'},\n      {key: 'green', label: 'Green'},\n      {key: 'yellow', label: 'Yellow'},\n      {key: 'indigo', label: 'Indigo'},\n      {key: 'purple', label: 'Purple'},\n      {key: 'pink', label: 'Pink'},\n      {key: 'gray', label: 'Gray'},\n      {key: 'white', label: 'White'},\n      {key: 'black', label: 'Black'}\n    ])\n    const designOptions = reactive([\n      {key: 'filled', label: 'Filled'},\n      {key: 'elegant', label: 'Elegant'}\n    ])\n\n    return {\n      darkModeOptions,\n      colorOptions,\n      designOptions,\n      selectedDarkMode,\n      selectedColor,\n      selectedBgColor,\n      selectedDesign\n    }\n  },\n  data() {\n    return {\n      showModal1: false,\n      showModal2: false,\n      showModal3: false,\n      showModal4: false,\n      form: this.$inertia.form({\n        _method: 'POST',\n        name: null,\n        email: null,\n      }),\n    }\n  },\n  methods: {\n    reset: function () {\n      this.form.name = null;\n      this.form.email = null;\n    },\n    testMetodu() {\n      alert('kedi')\n    }\n  }\n})\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Paginate.vue",
    "content": "<template>\n  <app-layout title=\"Pagination\">\n    <template #header>Pagination</template>\n    <template #subHeader>Tables, lists and all of lists</template>\n    <template #default>\n      <t-component-style-selector class=\"mb-4\" v-model=\"selectedData\"/>\n      <grid-section :col-desktop=\"2\" :gap=\"4\">\n        <content-card :width=\"1\">\n          <t-paginate\n              reverse\n              v-model=\"activePage1\"\n              :color=\"selectedData.color\"\n              :range=\"5\"\n              :total=\"54321\"\n              jump\n          />\n          <t-paginate\n              v-model=\"activePage2\"\n              :color=\"selectedData.color\"\n              :radius=\"3\"\n              :range=\"3\"\n              :total=\"17\"\n              :jump=\"false\"\n              :arrow-text=\"false\"\n          />\n        </content-card>\n        <content-card :width=\"1\">\n          <t-paginate\n              v-model=\"activePage3\"\n              :color=\"selectedData.color\"\n              :radius=\"5\"\n              :range=\"4\"\n              :total=\"17\"\n              :detail=\"false\"\n          />\n          <t-paginate\n              :jump=\"true\"\n              v-model=\"activePage4\"\n              :color=\"selectedData.color\"\n              :radius=\"8\"\n              :range=\"5\"\n              :total=\"17\"\n          />\n        </content-card>\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport ContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TPaginate from \"@/Components/Paginate/TPaginate.vue\";\nimport TComponentStyleSelector from \"@/Components/Misc/TComponentStyleSelector.vue\";\n\nexport default {\n  name: \"Paginate\",\n  components: {ContentCard, GridSection, AppLayout, TPaginate, TComponentStyleSelector},\n  data() {\n    return {\n      activePage1: 2,\n      activePage2: 1,\n      activePage3: 5,\n      activePage4: 10,\n      selectedData: {\n        color: 'gray'\n      },\n    }\n  }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Progress.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Progress Bars</template>\n    <template #subHeader>Loading, graphical indicator and more than</template>\n    <template #default>\n      <grid-section :col=\"1\">\n        <t-content-card :width=\"1\">\n          <template #title>Simple and colorful</template>\n          <template #subTitle>8 different color and 5 different height</template>\n          <template #content>\n\n            <div class=\"flex flex-col w-full gap-4\">\n              <div class=\"flex flex-col md:flex-row justify-center space-y-2 md:space-x-2 items-center w-full\">\n                <t-input-group class=\"w-full md:w-36\" label=\"Target Value\" label-for=\"target\">\n                  <t-input-text v-model.lazy.number=\"target\" type=\"number\" />\n                </t-input-group>\n                <t-progress :height=\"1\" v-model=\"target\" title=\"Performance\" />\n              </div>\n              <t-progress :height=\"2\" :model-value=\"10\" counter-text=\"$a\" color=\"indigo\" title=\"Claim\" />\n              <t-progress :height=\"3\" :model-value=\"50\" counter-text=\"$a TRY\" color=\"yellow\" title=\"Cost\" />\n              <t-progress :height=\"4\" :model-value=\"75\" counter-text=\"$a Hour/Person\" color=\"purple\"\n                          title=\"Working Costs\" />\n              <t-progress :height=\"5\" :model-value=\"25040\" :max=\"100000\" counter-text=\"-$aK\"\n                          color=\"red\"\n                          title=\"Lost\" />\n            </div>\n          </template>\n        </t-content-card>\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport { defineComponent, ref, watch } from \"vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TProgress from \"@/Components/Progress/TProgress.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\n\nexport default defineComponent({\n  name: \"Progress\",\n  components: { TInputText, TInputGroup, TProgress, TContentCard, GridSection, AppLayout },\n  setup() {\n    const target = ref(25);\n\n    watch(target,\n      (newValue) => {\n        if (newValue.toString() === null || isNaN(newValue) || newValue.toString() === \"\") {\n          target.value = 0;\n        }\n      });\n    return { target };\n  }\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Tab.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>\n      Tabs\n    </template>\n    <template #subHeader>\n      Multi content in single area\n    </template>\n    <template #default>\n      <!-- Color Selector -->\n      <t-component-style-selector :select-data=\"selectData\" v-model=\"selectedData\" class=\"mb-4\" />\n      <grid-section :col-tablet=\"2\">\n        <!--Style 1-->\n        <t-tab :data=\"tab1content\" v-model=\"tab1\" :color=\"selectedData.color\" :design=\"selectedData.design\"\n               :colored-text=\"selectedData.coloredText\">\n          <template #icon=\"{props}\">\n            <svg v-if=\"props.id===2\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\"\n                 stroke=\"currentColor\">\n              <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                    d=\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\" />\n            </svg>\n            <svg v-if=\"props.id===3\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\"\n                 stroke=\"currentColor\">\n              <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                    d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\" />\n            </svg>\n          </template>\n          <template #content=\"{props}\">\n            <span v-if=\"props.id===1\">\n              Laravel is a web application framework with expressive, elegant syntax. <br/><h4 class='mt-1 font-semibold'>Rich Html Content</h4><p>Laravel attempts to take the pain out of development by easing common tasks used in most web projects. </p>\n            </span>\n          </template>\n        </t-tab>\n        <!--Style 2-->\n        <t-tab :data=\"tab2content\" v-model=\"tab2\" :color=\"selectedData.color\" :design=\"selectedData.design\"\n               :colored-text=\"selectedData.coloredText\" dark-mode\n               :radius=\"5\" />\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TTab from \"@/Components/Tab/TTab.vue\";\nimport TComponentStyleSelector from \"@/Components/Misc/TComponentStyleSelector.vue\";\n\nexport default {\n  name: \"Tab\",\n  components: { TComponentStyleSelector, AppLayout, GridSection, TTab },\n  data() {\n    return {\n      tab1: 1,\n      tab2: 1,\n      tab1content: [\n        {\n          id: 1,\n          title: \"Laravel\",\n          content: \"\"\n        },\n        { id: 2, title: \"Vuejs\", content: \"The Progressive JavaScript Framework.\" },\n        {\n          id: 3,\n          title: \"\",\n          content: \"A utility-first CSS framework packed with classes like flex, pt-4, text-center and rotate-90 that can be composed to build any design, directly in your markup.\"\n        }\n      ],\n      tab2content: [\n        {\n          id: 1,\n          title: \"Tailadmin\",\n          content: \"It's a dashboard theme/UI-Starter Kit with Laravel, Inertia and Vue (JetStream).\"\n        },\n        { id: 2, title: \"Laraquality\", content: \"Online quality assurance(QA) management system\" },\n        { id: 3, title: \"TailCoin\", content: \"Simple crypto wallet track system\" }\n      ],\n      selectedData: {\n        color: \"blue\",\n        design: \"filled\",\n        coloredText: false\n      },\n      selectData: [\n        {\n          label: \"Design\",\n          key: \"design\",\n          options: [\n            { key: \"filled\", label: \"Filled\" },\n            { key: \"underline\", label: \"Underline\" }\n          ]\n        },\n        {\n          label: \"Colored Text\",\n          key: \"coloredText\",\n          options: [\n            { key: false, label: \"Simple Text\" },\n            { key: true, label: \"Colored Text\" }\n          ]\n        }\n      ]\n    };\n  }\n};\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Table.vue",
    "content": "<template>\n  <app-layout>\n    <!--Header-->\n    <template #header>\n      Tables\n    </template>\n    <!--Subheader-->\n    <template #subHeader>\n      Customizable tables\n    </template>\n    <!--Content-->\n    <template #default>\n      <t-table\n        :content=\"users\"\n        :header=\"tableHeader\"\n        :features=\"tableFeatures\"\n      >\n        <template #search>\n          <grid-section :col=\"12\" :gap=\"2\">\n            <!--Name-->\n            <t-input-group class=\"col-span-12 md:col-span-6\" label=\"Name\">\n              <t-input-text id=\"name\" />\n            </t-input-group>\n            <!--Email-->\n            <t-input-group class=\"col-span-12 md:col-span-6\" label=\"Email\">\n              <t-input-text id=\"email\" />\n            </t-input-group>\n          </grid-section>\n        </template>\n        <template #right>\n          <t-button :link=\"route('form-structure')\" :radius=\"8\">\n            <t-user-circle-icon class=\"w-6 h-6\" />\n            Add New User\n          </t-button>\n        </template>\n        <template #photo=\"{props}\">\n          <t-avatar :link=\"props.photo\" :radius=\"8\" :size=\"3\" />\n        </template>\n      </t-table>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport TTable from \"@/Components/Table/TTable.vue\";\nimport TAvatar from \"@/Components/Avatar/TAvatar.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TUserCircleIcon from \"@/Components/Icon/TUserCircleIcon.vue\";\nimport { reactive } from \"vue\";\n\nimport SshPre from \"simple-syntax-highlighter\";\nimport \"simple-syntax-highlighter/dist/sshpre.css\";\n\nexport default {\n  name: \"Table\",\n  components: {\n    TUserCircleIcon, TButton, GridSection, TInputText, TInputGroup, AppLayout, TTable, TAvatar, SshPre\n  },\n  props: [\"users\"],\n  setup() {\n    /*Table States*/\n    const tableHeader = reactive([\n      { label: \"Avatar\", key: \"photo\", align: \"center\", width: \"5\", status: true },\n      { label: \"Name\", key: \"name\", align: \"left\", simpleSearchable:true, status: true, sortable: true },\n      { label: \"Email\", key: \"email\", align: \"left\", status: true, sortable: true }\n    ]);\n    const tableFeatures = reactive({\n      table: {\n        design: \"elegant\",\n        seperatedRow: true,\n        rowBorder: true,\n        zebraRow: true,\n        radius: 3,\n        perPage: 5\n      },\n      pagination: {\n        status: true,\n        radius: 3,\n        range: 5,\n        jump: true,\n      },\n      actions: {\n        status: true,\n        headerText: \"Aksiyonlar\"\n      },\n      deleteModal: {\n        headerText: \"Item's deleting\",\n        contentText: \"You are going to delete <br><b></b><br>Are you sure ?\",\n        icon: \"warning\"\n      }\n    });\n\n    return { tableHeader, tableFeatures };\n  }\n};\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Toastr.vue",
    "content": "<template>\n    <app-layout>\n        <template #header>Toaster Notifications</template>\n        <template #subHeader>Elegant and simple notifications bubbles</template>\n        <template #default>\n            <t-form-content>\n                <t-form-section\n                    description=\"You can customize toaster notfication to demo\"\n                    title=\"Toaster Customizer\"\n                >\n                    <t-input-group label-for=\"timer\" label=\"Timer\" class=\"col-span-12 md:col-span-6\">\n                        <t-input-text id=\"timer\" placeholder=\"3000\"/>\n                    </t-input-group>\n                    <t-input-group label-for=\"timer\" label=\"Timer\" class=\"col-span-12 md:col-span-6\">\n                        <t-input-select>\n                            <t-input-select-item v-for=\"item in colorOptions\" :key=\"item.key\">\n\n                            </t-input-select-item>\n                        </t-input-select>\n                    </t-input-group>\n                </t-form-section>\n            </t-form-content>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport TFormSection from \"@/Components/Form/TFormSection.vue\";\nimport TFormContent from \"@/Components/Form/TFormContent.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\n\nexport default {\n    name: \"Toaster\",\n    components: {\n        TInputSelect,\n        TInputText,\n        TInputGroup,\n        TFormContent, TFormSection, AppLayout},\n    data() {\n        return {\n            colorOptions : {\n                'red': {\n                    label: 'Red',\n                    alertStyle: \"bg-red-200 border-red-500 text-red-700 shadow-sm\"\n                },\n                'blue': {\n                    label: 'Blue',\n                    alertStyle: \"bg-blue-200 border-blue-500 text-blue-700 shadow-sm\"\n                },\n                'green': {\n                    label: 'Green',\n                    alertStyle: \"bg-green-200 border-green-500 text-green-700 shadow-sm\"\n                },\n                'yellow': {\n                    label: 'Yellow',\n                    alertStyle: \"bg-yellow-200 border-yellow-500 text-yellow-700 shadow-sm\"\n                },\n                'indigo': {\n                    label: 'Indigo',\n                    alertStyle: \"bg-indigo-200 border-indigo-500 text-indigo-700 shadow-sm\"\n                },\n                'purple': {\n                    label: 'Purple',\n                    alertStyle: \"bg-purple-200 border-purple-500 text-purple-700 shadow-sm\"\n                },\n                'pink': {\n                    label: 'Pink',\n                    alertStyle: \"bg-pink-200 border-pink-500 text-pink-700 shadow-sm\"\n                },\n                'white': {\n                    label: 'White',\n                    alertStyle: \"bg-white border-gray-300 shadow-sm\"\n                },\n                'gray': {\n                    label: 'Gray',\n                    alertStyle: \"bg-gray-200 border-gray-500 text-gray-700 shadow-sm\"\n                },\n                'black': {\n                    label: 'Black',\n                    alertStyle: \"bg-gray-700 border-black text-gray-200 shadow-sm\"\n                },\n            }\n        }\n    },\n    methods: {\n        toastAlert() {\n            this.$page.props.flash.toastr = {\n                color: 'red',\n                position: '',\n                closeable: true,\n                timer: 6000,\n                content: 'Selam ben bir uyarı kutusuyum'\n            }\n        }\n    }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Components/Tooltip.vue",
    "content": "<template>\n    <app-layout>\n        <template #header>Tooltips</template>\n        <template #subHeader>Smart and fast infos in the line</template>\n        <template #default>\n            <grid-section :col=\"1\" :gap=\"4\">\n                <t-content-card :width=\"1\">\n                    <template #title>Simple</template>\n                    <template #subTitle>Left, Top, Right and Bottom Positions</template>\n                    <template #content>\n                        <div class=\"flex flex-wrap space-x-8 dark:text-slate-100 mt-8\">\n                            <t-tooltip position=\"top\">\n                                Click me - Top\n                                <template #boxContent>Hello, I'm at the top</template>\n                            </t-tooltip>\n                            <t-tooltip position=\"bottom\" :border=\"false\">\n                                Click me - Bottom\n                                <template #boxContent>Hello, I'm at the bottom</template>\n                            </t-tooltip>\n                            <t-tooltip position=\"left\">\n                                Click me - Left\n                                <template #boxContent>Hello, I'm at the left</template>\n                            </t-tooltip>\n                            <t-tooltip position=\"right\" :border=\"false\">\n                                Click me - Right\n                                <template #boxContent>Hello, I'm at the right</template>\n                            </t-tooltip>\n                        </div>\n                    </template>\n                </t-content-card>\n            </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TTooltip from \"@/Components/Tooltip/TTooltip.vue\";\n\nexport default {\n    name: \"Tooltip\",\n    components: {AppLayout, GridSection, TContentCard, TTooltip},\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Auth/ForgotPassword.vue",
    "content": "<template>\n    <t-forgot\n        :status=\"status\"\n    >\n        <!--Logo-->\n        <template #logo>\n            <Link href=\"/\">\n                <div class=\"flex flex-col justify-center items-center w-full\">\n                    <t-logo class=\"w-12 h-12\"/>\n                    <span class=\"text-3xl\">TailAdmin</span>\n                </div>\n            </Link>\n        </template>\n        <!--Greeting-->\n        <template #greeting>\n            <b>{{ t('forgotPasswordGreeting') }}</b>\n        </template>\n        <!--Greeting Sub-->\n        <template #subGreeting>\n            {{ t('forgotPasswordSubGreeting') }}\n        </template>\n    </t-forgot>\n</template>\n\n<script setup>\nimport {Link} from \"@inertiajs/vue3\";\nimport TForgot from \"@/Components/Auth/TForgot.vue\";\nimport TLogo from \"@/Components/Icon/TLogo.vue\";\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\nimport {authTranslates} from \"@/Lang/languages\";\nconst {t, tm} = useI18n({\n    inheritLocale: true,\n    messages: authTranslates,\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Auth/Lock.vue",
    "content": "<template>\n    <t-lock/>\n</template>\n\n<script>\nimport TLock from \"@/Components/Auth/TLock.vue\";\n\nexport default {\n    components: {TLock}\n}\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Auth/Login.vue",
    "content": "<template>\n    <t-login\n        :canResetPassword=\"canResetPassword\"\n        :status=\"status\"\n    >\n        <!--Logo-->\n        <template #logo>\n            <Link href=\"/\">\n                <div class=\"flex flex-col justify-center items-center w-full\">\n                    <t-logo class=\"w-12 h-12\"/>\n                    <span class=\"text-3xl\">TailAdmin</span>\n                </div>\n            </Link>\n        </template>\n        <!--Greeting-->\n        <template #greeting>\n            {{ t('loginGreeting') }}\n        </template>\n    </t-login>\n</template>\n\n<script setup>\nimport {Link} from \"@inertiajs/vue3\";\nimport TLogin from \"@/Components/Auth/TLogin.vue\";\nimport TLogo from \"@/Components/Icon/TLogo.vue\";\n\ndefineProps({\n    canResetPassword: Boolean,\n    status: String\n});\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\nimport {authTranslates} from \"@/Lang/languages\";\nconst { t } = useI18n({\n    inheritLocale: true,\n    messages: authTranslates,\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Auth/Register.vue",
    "content": "x\n<template>\n    <t-register\n        :status=\"status\"\n        :privacyPolicyFeature=\"true\"\n        termsLink=\"terms\"\n        policyLink=\"privacy-policy\"\n    >\n        <!--Logo-->\n        <template #logo>\n            <Link href=\"/\">\n                <div class=\"flex flex-col justify-center items-center w-full\">\n                    <t-logo class=\"w-12 h-12\"/>\n                    <span class=\"text-3xl\">TailAdmin</span>\n                </div>\n            </Link>\n        </template>\n        <!--Greeting-->\n        <template #greeting>\n            {{ t('registerGreeting') }}\n        </template>\n    </t-register>\n</template>\n\n<script  setup>\nimport {Link} from \"@inertiajs/vue3\";\nimport TLogo from \"@/Components/Icon/TLogo.vue\";\nimport TRegister from \"@/Components/Auth/TRegister.vue\";\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\nimport {authTranslates} from \"@/Lang/languages\";\nconst { t } = useI18n({\n    inheritLocale: true,\n    messages: authTranslates,\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/ChatApp.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Chat Application Page</template>\n    <template #subHeader></template>\n    <template #default>\n\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n\nexport default {\n  name: \"ChatApp\",\n  components: {AppLayout}\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/EmailApp.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Email Application Page</template>\n    <template #subHeader></template>\n    <template #default>\n\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n\nexport default {\n  name: \"EmailApp\",\n  components: {AppLayout}\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/ForgotPassword.vue",
    "content": "<template>\n    <app-layout :title=\"t('pageTitle')\">\n        <template #header>{{ t('pageTitle') }}</template>\n        <template #subHeader>{{ t('pageSubTitle') }}</template>\n        <template #default>\n        <grid-section :col-tablet=\"3\">\n            <!--Demo-->\n            <div class=\"flex flex-col gap-2\">\n                <img :src=\"'/img/demo/forgot_1_gradient.jpg'\" class=\"rounded-md\" alt=\"Forgot Password Screen\">\n                <t-button type=\"link\" :link=\"route('forgot-password-app-demo')\" :radius=\"3\" color=\"pink\" size=\"full\">\n                    {{ t('goToDemo') }}\n                </t-button>\n            </div>\n        </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script setup>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\n\n/* Multi-language */\nconst { t } = useI18n({\n    inheritLocale: true,\n    messages: {\n        bg: {\n            pageTitle: 'Екран за Забравена Парола',\n            pageSubTitle: 'Трябва да направите промени в Resources/Js/Pages/Auth/ForgotPassword.vue',\n            goToDemo: 'Вижте Демо Забравена Парола',\n        },\n        de: {\n            pageTitle: 'Passwort vergessen Bildschirm',\n            pageSubTitle: 'Sie sollten Änderungen an Resources/Js/Pages/Auth/ForgotPassword.vue vornehmen',\n            goToDemo: 'Demo Passwort vergessen anzeigen',\n        },\n        en: {\n            pageTitle: 'Forgot Password Screen',\n            pageSubTitle: 'You should make to changes in the Resources/Js/Pages/Auth/ForgotPassword.vue',\n            goToDemo: 'See Demo Forgot Password',\n        },\n        fr: {\n            pageTitle: 'Écran Mot de passe oublié',\n            pageSubTitle: \"Vous devez apporter des modifications dans Resources/Js/Pages/Auth/ForgotPassword.vue\",\n            goToDemo: \"Voir la démo Mot de passe oublié\",\n        },\n        ru: {\n            pageTitle: 'Экран Забытого Пароля',\n            pageSubTitle: 'Вы должны внести изменения в Resources/Js/Pages/Auth/ForgotPassword.vue',\n            goToDemo: 'Посмотреть демо Забытого Пароля',\n        },\n        tr: {\n            pageTitle: 'Şifreyi Unuttum Ekranı',\n            pageSubTitle: 'Resources/Js/Pages/Auth/ForgotPassword.vue dosyasında değişiklik yapmalısınız',\n            goToDemo: 'Şifreyi Unuttum Demoyu Gör',\n        },\n        zh: {\n            pageTitle: '忘记密码屏幕',\n            pageSubTitle: '您应该在Resources/Js/Pages/Auth/ForgotPassword.vue中进行更改',\n            goToDemo: '查看忘记密码演示',\n        },\n    },\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Lock.vue",
    "content": "<template>\n    <app-layout :title=\"t('pageTitle')\">\n        <template #header>{{ t('pageTitle') }}</template>\n        <template #subHeader>{{ t('pageSubTitle') }}</template>\n        <template #default>\n            <grid-section :col-tablet=\"3\">\n                <!--Demo-->\n                <div class=\"flex flex-col gap-2\">\n                    <img :src=\"'/img/demo/lock_1_gradient.jpg'\" class=\"rounded-md\" alt=\"Lock Screen Photo\">\n                    <t-button type=\"link\" :link=\"route('lock-app-demo')\" :radius=\"3\" color=\"pink\" size=\"full\">\n                        {{ t('goToDemo') }}\n                    </t-button>\n                </div>\n            </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script setup>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\n\n/* Multi-language */\nconst { t } = useI18n({\n    inheritLocale: true,\n    messages: {\n        bg: {\n            pageTitle: 'Екран за Заключване',\n            pageSubTitle: 'Само примерен екран, това не е активен модул',\n            goToDemo: 'Вижте Демо Заключване',\n        },\n        de: {\n            pageTitle: 'Sperrbildschirm',\n            pageSubTitle: 'Nur Beispielbildschirm, es ist kein aktives Modul',\n            goToDemo: 'Demo-Sperre anzeigen',\n        },\n        en: {\n            pageTitle: 'Lock Screen',\n            pageSubTitle: 'Only sample screen, it\\'s not active module',\n            goToDemo: 'See Demo Lock',\n        },\n        fr: {\n            pageTitle: 'Écran de verrouillage',\n            pageSubTitle: 'Seulement un écran d\\'exemple, ce n\\'est pas un module actif',\n            goToDemo: 'Voir la démo de verrouillage',\n        },\n        ru: {\n            pageTitle: 'Экран Блокировки',\n            pageSubTitle: 'Только пример экрана, это не активный модуль',\n            goToDemo: 'Посмотреть демо Блокировки',\n        },\n        tr: {\n            pageTitle: 'Kilit Ekranı',\n            pageSubTitle: 'Sadece örnek ekran, bu aktif bir modül değil',\n            goToDemo: 'Demo Kilitleme Ekranını Gör',\n        },\n        zh: {\n            pageTitle: '锁屏',\n            pageSubTitle: '仅示例屏幕，未激活模块',\n            goToDemo: '查看锁屏演示',\n        },\n    },\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Login.vue",
    "content": "<template>\n    <app-layout :title=\"t('pageTitle')\">\n    <template #header>{{ t('pageTitle') }}</template>\n    <template #subHeader>{{ t('pageSubTitle') }}</template>\n    <template #default>\n        <grid-section :col-tablet=\"3\">\n                <!--Demo-->\n                <div class=\"flex flex-col gap-2\">\n                <img :src=\"'/img/demo/login_1_gradient.jpg'\" class=\"rounded-md\" alt=\"Login Screen\">\n                <t-button type=\"link\" :link=\"route('login-app-demo')\" :radius=\"3\" color=\"pink\" size=\"full\">\n                    {{ t('goToDemo') }}\n                </t-button>\n            </div>\n        </grid-section>\n    </template>\n    </app-layout>\n</template>\n\n<script setup>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\n\n/* Multi-language */\nconst { t } = useI18n({\n    inheritLocale: true,\n    messages: {\n        bg: {\n            pageTitle: 'Екран за Вход',\n            pageSubTitle: 'Трябва да направите промени в Resources/Js/Pages/Auth/Login.vue',\n            goToDemo: 'Вижте Демо Вход',\n        },\n        de: {\n            pageTitle: 'Anmeldebildschirm',\n            pageSubTitle: 'Sie sollten Änderungen in Resources/Js/Pages/Auth/Login.vue vornehmen',\n            goToDemo: 'Demo-Anmeldung anzeigen',\n        },\n        en: {\n            pageTitle: 'Login Screen',\n            pageSubTitle: 'You should make to changes in the Resources/Js/Pages/Auth/Login.vue',\n            goToDemo: 'See Demo Login',\n        },\n        fr: {\n            pageTitle: \"Écran d'authentification\",\n            pageSubTitle: \"Vous devez apporter des modifications dans Resources/Js/Pages/Auth/Login.vue\",\n            goToDemo: \"Voir la démo de connexion\",\n        },\n        ru: {\n            pageTitle: 'Экран Входа',\n            pageSubTitle: 'Вы должны внести изменения в Resources/Js/Pages/Auth/Login.vue',\n            goToDemo: 'Посмотреть демо Вход',\n        },\n        tr: {\n            pageTitle: 'Giriş Ekranı',\n            pageSubTitle: 'Resources/Js/Pages/Auth/Login.vue dosyasında değişiklik yapmalısınız',\n            goToDemo: 'Demo Giriş Ekranını Gör',\n        },\n        zh: {\n            pageTitle: '登录界面',\n            pageSubTitle: '您应该在 Resources/Js/Pages/Auth/Login.vue 中进行更改',\n            goToDemo: '查看演示登录',\n        },\n    },\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Pricing.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Pricing Page</template>\n    <template #subHeader></template>\n    <template #default>\n\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n\nexport default {\n  name: \"Pricing\",\n  components: {AppLayout}\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Profile.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Profile Page</template>\n    <template #subHeader>User page</template>\n    <template #default>\n\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n\nexport default {\n  name: \"Profile\",\n  components: {AppLayout}\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/ProjectApp.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Project Application Page</template>\n    <template #subHeader></template>\n    <template #default>\n\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n\nexport default {\n  name: \"ProjectApp\",\n  components: {AppLayout}\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/Register.vue",
    "content": "<template>\n    <app-layout :title=\"t('pageTitle')\">\n        <template #header>{{ t('pageTitle') }}</template>\n        <template #subHeader>{{ t('pageSubTitle') }}</template>\n        <template #default>\n        <grid-section :col-tablet=\"3\">\n            <!--Demo-->\n            <div class=\"flex flex-col gap-2\">\n                <img :src=\"'/img/demo/register_1_gradient.jpg'\" class=\"rounded-md\" alt=\"Register Screen\">\n                <t-button type=\"link\" :link=\"route('register-app-demo')\" :radius=\"3\" color=\"pink\" size=\"full\">\n                    {{ t('goToDemo') }}\n                </t-button>\n            </div>\n        </grid-section>\n        </template>\n    </app-layout>\n</template>\n\n<script setup>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\n\n/* Multi-language */\nimport { useI18n } from \"vue-i18n\";\n\n/* Multi-language */\nconst { t } = useI18n({\n    inheritLocale: true,\n    messages: {\n        bg: {\n            pageTitle: 'Екран за Регистрация',\n            pageSubTitle: 'Трябва да направите промени в Resources/Js/Pages/Auth/Register.vue',\n            goToDemo: 'Вижте Демо Регистрация',\n        },\n        de: {\n            pageTitle: 'Registrierungsbildschirm',\n            pageSubTitle: 'Sie sollten Änderungen an Resources/Js/Pages/Auth/Register.vue vornehmen',\n            goToDemo: 'Demo-Registrierung anzeigen',\n        },\n        en: {\n            pageTitle: 'Register Screen',\n            pageSubTitle: 'You should make to changes in the Resources/Js/Pages/Auth/Register.vue',\n            goToDemo: 'See Demo Register',\n        },\n        fr: {\n            pageTitle: \"Écran d'inscription\",\n            pageSubTitle: \"Vous devez apporter des modifications dans Resources/Js/Pages/Auth/Register.vue\",\n            goToDemo: \"Voir la démo d'inscription\",\n        },\n        ru: {\n            pageTitle: 'Экран Регистрации',\n            pageSubTitle: 'Вы должны внести изменения в Resources/Js/Pages/Auth/Register.vue',\n            goToDemo: 'Посмотреть демо Регистрация',\n        },\n        tr: {\n            pageTitle: 'Kayıt Ekranı',\n            pageSubTitle: 'Resources/Js/Pages/Auth/Register.vue dosyasında değişiklik yapmalısınız',\n            goToDemo: 'Demo Kayıt Ekranını Gör',\n        },\n        zh: {\n            pageTitle: '注册界面',\n            pageSubTitle: '您应该在 Resources/Js/Pages/Auth/Register.vue 中进行更改',\n            goToDemo: '查看演示注册',\n        },\n    },\n});\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Examples/TodoApp.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>TO-DO Application</template>\n    <template #subHeader></template>\n    <template #default>\n\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n\nexport default {\n  name: \"TodoApp\",\n  components: {AppLayout}\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/DateField.vue",
    "content": "<template>\n    <app-layout>\n        <template #header>Date Input Field</template>\n        <template #subHeader>Starting, birth, fired, register date or time</template>\n        <template #default>\n            <t-form-content @reset=\"reset\" @submitted=\"save\">\n                <t-form-section\n                    description=\"This information is subject to personal data protection law.\"\n                    title=\"Personal Infos\"\n                >\n                    <!-- Name -->\n                    <t-input-group class=\"col-span-12\" label=\"Name\" labelFor=\"name\">\n                        <t-input-text\n                            id=\"name\"\n                            v-model=\"form.name\"\n                            placeholder=\"Business mail address\"\n                        />\n                    </t-input-group>\n                    <!-- Birthday -->\n                    <t-input-group\n                        class=\"col-span-12\"\n                        label=\"Birthday (Only Date)\"\n                        labelFor=\"tax_id\"\n                    >\n                        <t-input-date v-model=\"form.birth_date\" />\n                    </t-input-group>\n                    <!-- Flying Date-Time -->\n                    <t-input-group\n                        class=\"col-span-12\"\n                        label=\"Flying Date-Time\"\n                        labelFor=\"flying_time\"\n                    >\n                        <t-input-date v-model=\"form.flying_time\" mode=\"dateTime\" />\n                    </t-input-group>\n                    <!-- Meeting Time A-->\n                    <t-input-group\n                        class=\"col-span-12\"\n                        label=\"Meeting Time (Hour:Minute A)\"\n                        labelFor=\"meeting_time\"\n                    >\n                        <t-input-date v-model=\"form.meeting_time\" mode=\"time\" />\n                    </t-input-group>\n                    <!-- Meeting Time 24Hr-->\n                    <t-input-group\n                        class=\"col-span-12\"\n                        label=\"Meeting Time (Hour:Minute 24Hr)\"\n                        labelFor=\"meeting_time\"\n                    >\n                        <t-input-date v-model=\"form.meeting_time\" :is24hr=\"true\" mode=\"time\" />\n                    </t-input-group>\n                    <!-- Meeting Duration-->\n                    <t-input-group\n                        class=\"col-span-12\"\n                        label=\"Meeting Duration (Date Range)\"\n                        labelFor=\"meeting_time\"\n                    >\n                        <t-input-date v-model=\"form.meeting_duration\" :is-range=\"true\" />\n                    </t-input-group>\n                </t-form-section>\n            </t-form-content>\n        </template>\n    </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport TFormContent from \"@/Components/Form/TFormContent.vue\";\nimport TFormSection from \"@/Components/Form/TFormSection.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TInputDate from \"@/Components/Form/Inputs/TInputDate.vue\";\n\nexport default {\n    name: \"DateField\",\n    components: { TInputDate, TInputText, TInputGroup, TFormSection, TFormContent, AppLayout },\n    data() {\n        return {\n            form: this.$inertia.form({\n                _method: 'POST',\n                name: null,\n                birth_date: null,\n                flying_time: null,\n                meeting_time: null,\n                meeting_duration: null\n            })\n        }\n    },\n    methods: {\n        reset: function () {\n            this.form.name = null;\n            this.form.birth_date = null;\n            this.form.flying_time = null;\n            this.form.meeting_time = null;\n            this.form.meeting_duration = null;\n        },\n        save() {\n            this.form.post(route('user.store'), {\n                errorBag: 'user',\n                preserveScroll: true,\n            });\n            this.loading = true;\n        }\n    },\n}\n</script>\n\n<style scoped>\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/FormStructure.vue",
    "content": "<template>\n    <app-layout :actionButtons=\"true\">\n        <template #header>Form Structure</template>\n        <template #action-buttons>\n            <t-button :radius=\"3\" color=\"yellow\">\n                <icon icon=\"angle-left\" />Back to Home\n            </t-button>\n            <t-button :radius=\"3\" color=\"green\">\n                <icon icon=\"plus-circle\" />Add New\n            </t-button>\n        </template>\n        <template #default>\n            <!-- Native -->\n            <t-form-content\n                :reset-button=\"false\"\n                :submit-button=\"false\"\n                @reset=\"reset\"\n                @submitted=\"save\"\n            >\n                <!--Form Content Area Indicator-->\n                <t-badge color=\"success\">Form Content Area</t-badge>\n\n                <t-form-section\n                    description=\"This information is subject to personal data protection law. - (Description)\"\n                    title=\"Personal Infos - (Title)\"\n                >\n                    <!--Form Section Area Indicator-->\n                    <div class=\"col-span-full\">\n                        <t-badge color=\"info\">Form Section Area</t-badge>\n                    </div>\n\n                    <!-- Name -->\n                    <t-input-group label=\"Name\" labelFor=\"name\">\n                        <t-input-text\n                            id=\"name\"\n                            v-model=\"form.name\"\n                            placeholder=\"Business mail address\"\n                        />\n                    </t-input-group>\n                    <!-- Tax ID -->\n                    <t-input-group label=\"Tax ID\" labelFor=\"tax_id\">\n                        <t-input-text id=\"tax_id\" v-model=\"form.tax_id\" />\n                    </t-input-group>\n                    <!-- Address -->\n                    <t-input-group :laptop-width=\"12\" label=\"Address\" labelFor=\"address\">\n                        <t-input-text-area\n                            id=\"address\"\n                            v-model=\"form.address\"\n                            :clear-button=\"true\"\n                            :counter=\"true\"\n                            :rows=\"3\"\n                            placeholder=\"Full address\"\n                        />\n                    </t-input-group>\n                </t-form-section>\n                <!--Status Area Indicator-->\n                <template #button-area>\n                    <div\n                        class=\"flex flex-wrap col-span-12 justify-center md:justify-end space-x-2 mr-4 py-4\"\n                    >\n                        <t-badge color=\"pink\">Form Extra Button Area</t-badge>\n                    </div>\n                    <div class=\"border p-2 gap-2 inline-flex items-center\">\n                        <div class=\"flex flex-wrap gap-1 justify-center md:justify-end\">\n                            <t-badge color=\"light\">Form Status Area</t-badge>or\n                            <t-badge color=\"purple\">Default Form Buttons Area</t-badge>\n                        </div>\n                    </div>\n                </template>\n            </t-form-content>\n\n            <!-- Smart -->\n            <t-form-content\n                :reset-button=\"true\"\n                :submit-button=\"true\"\n                sectionLayout=\"smart\"\n                @reset=\"reset\"\n                @submitted=\"save\"\n                class=\"mt-4\"\n            >\n                <t-form-section\n                    description=\"This information is subject to personal data protection law. - (Description)\"\n                    title=\"Personal Infos - (Title)\"\n                >\n                    <!-- Name -->\n                    <t-input-group label=\"Name\" labelFor=\"name\">\n                        <t-input-text\n                            id=\"name\"\n                            v-model=\"form.name\"\n                            placeholder=\"Business mail address\"\n                        />\n                    </t-input-group>\n                    <!-- Tax ID -->\n                    <t-input-group label=\"Tax ID\" labelFor=\"tax_id\">\n                        <t-input-text id=\"tax_id\" v-model=\"form.tax_id\" />\n                    </t-input-group>\n                    <!-- Address -->\n                    <t-input-group :desktop-width=\"12\" label=\"Address\" labelFor=\"address\">\n                        <t-input-text-area\n                            id=\"address\"\n                            v-model=\"form.address\"\n                            :clear-button=\"true\"\n                            :counter=\"true\"\n                            :rows=\"3\"\n                            placeholder=\"Full address\"\n                        />\n                    </t-input-group>\n                </t-form-section>\n\n                <t-form-section\n                    description=\"This information is subject to personal data protection law. - (Description)\"\n                    title=\"Personal Infos - (Title)\"\n                >\n                    <!-- Name -->\n                    <t-input-group label=\"Name\" labelFor=\"name\">\n                        <t-input-text\n                            id=\"name\"\n                            v-model=\"form.name\"\n                            placeholder=\"Business mail address\"\n                        />\n                    </t-input-group>\n                    <!-- Tax ID -->\n                    <t-input-group label=\"Tax ID\" labelFor=\"tax_id\">\n                        <t-input-text id=\"tax_id\" v-model=\"form.tax_id\" />\n                    </t-input-group>\n                    <!-- Address -->\n                    <t-input-group :desktop-width=\"12\" label=\"Address\" labelFor=\"address\">\n                        <t-input-text-area\n                            id=\"address\"\n                            v-model=\"form.address\"\n                            :clear-button=\"true\"\n                            :counter=\"true\"\n                            :rows=\"3\"\n                            placeholder=\"Full address\"\n                        />\n                    </t-input-group>\n                </t-form-section>\n\n                <template #actions>Saved</template>\n            </t-form-content>\n        </template>\n    </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TFormSection from \"@/Components/Form/TFormSection.vue\";\nimport TFormContent from \"@/Components/Form/TFormContent.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TInputTextArea from \"@/Components/Form/Inputs/TInputTextArea.vue\";\nimport TBadge from \"@/Components/Badge/TBadge.vue\";\n\nexport default {\n    name: \"FormStructure\",\n    components: {\n        TBadge,\n        AppLayout,\n        TButton,\n        TFormSection,\n        TFormContent,\n        TInputGroup,\n        TInputText,\n        TInputTextArea,\n    },\n    data() {\n        return {\n            loading: false,\n            form: this.$inertia.form({\n                _method: 'POST',\n                name: null,\n                tax_id: null,\n                email: null,\n                phone: null,\n                status: null,\n                address: null,\n            }),\n            status: [\n                { name: 'Passive', value: 0, icon: 'XIcon', class: 'w-5 h-5 text-red-500 mr-2' },\n                { name: 'Active', value: 1, icon: 'Checked', class: 'w-5 h-5 text-green-500 mr-2' }\n            ],\n        };\n    },\n    methods: {\n        reset: function () {\n            this.form.name = null;\n            this.form.tax_id = null;\n            this.form.email = null;\n            this.form.phone = null;\n            this.form.status = null;\n            this.form.address = null;\n        },\n        save() {\n            this.form.post(route('customer.store'), {\n                errorBag: 'customer',\n                preserveScroll: true,\n            });\n            this.loading = true;\n        }\n    }\n}\n</script>\n\n<style scoped>\n</style>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/InlineRepeatableField.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Inline Editable and Repeatable Input Type</template>\n    <template #subHeader>One field but every things is in there</template>\n    <template #default>\n      <t-form-content @reset=\"reset\" @submitted=\"save\">\n        <t-form-section\n            description=\"This information is subject to personal data protection law.\"\n            title=\"Personal Infos\">\n          <!-- Name -->\n          <t-input-group class=\"col-span-12\" label=\"Name\" labelFor=\"name\">\n            <t-input-text id=\"name\" v-model=\"form.name\" placeholder=\"Business mail address\"/>\n          </t-input-group>\n          <!-- Job Requirements -->\n          <t-input-group class=\"col-span-12\" label=\"Job Requirements\" labelFor=\"job_requirements\">\n            <t-input-inline-editable-repeatable\n                id=\"job_requirements\"\n                v-model=\"form.job_requirements\"\n                place-holder-text=\"Requirement\"\n            />\n          </t-input-group>\n        </t-form-section>\n      </t-form-content>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport TFormContent from \"@/Components/Form/TFormContent.vue\";\nimport TFormSection from \"@/Components/Form/TFormSection.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TInputInlineEditableRepeatable from \"@/Components/Form/Inputs/TInputInlineEditableRepeatable.vue\";\n\n\nexport default {\n  name: \"InlineRepeatableField\",\n  components: {\n    TInputInlineEditableRepeatable, TInputText, TInputGroup, TFormSection, TFormContent, AppLayout\n  },\n  data() {\n    return {\n      form: this.$inertia.form({\n        _method: 'POST',\n        name: null,\n        job_requirements: [],\n      })\n    }\n  },\n  methods: {\n    reset: function () {\n      this.form.name = null;\n      this.form.job_requirements = [];\n    },\n    save() {\n      this.form.post(route('user.store'), {\n        errorBag: 'user',\n        preserveScroll: true,\n      });\n      this.loading = true;\n    }\n  },\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/InputGroup.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>\n      Input Group\n    </template>\n    <template #default>\n      <grid-section :col-tablet=\"2\" :col-desktop=\"4\">\n        <content-card :radius=\"3\" :width=\"1\">\n          <template #title>\n            With Label Prop\n          </template>\n          <template #content>\n            <t-input-group label=\"Text Label\" label-for=\"name1\">\n              <t-input-text id=\"name1\" placeholder=\"I'm a placeholder text\"/>\n            </t-input-group>\n          </template>\n        </content-card>\n\n        <content-card :radius=\"3\" :width=\"1\">\n          <template #title>\n            With Label Slot\n          </template>\n          <template #content>\n            <t-input-group label-for=\"name2\" sub-label=\"Cash only\">\n              <template slot=\"label\">\n                <t-cash-icon class=\"w-5 h-5 mr-1\"/> Label Slot\n              </template>\n              <t-input-text id=\"name2\" placeholder=\"I'm a placeholder text\"/>\n            </t-input-group>\n          </template>\n        </content-card>\n\n        <content-card :radius=\"3\" :width=\"1\">\n          <template #title>\n            With Colorful Sub Label\n          </template>\n          <template #content>\n            <t-input-group label=\"Text Label\" label-for=\"name3\" sub-label=\"Cash only\" sub-label-color=\"solid-green\">\n              <t-input-text id=\"name3\" placeholder=\"I'm a placeholder text\"/>\n            </t-input-group>\n          </template>\n        </content-card>\n\n        <content-card :radius=\"3\" :width=\"1\">\n          <template #title>\n            With Error Message\n          </template>\n          <template #content>\n            <t-input-group error=\"Please enter numerical value\" label=\"Text Label\" label-for=\"name4\" sub-label=\"Cash only\"\n                           sub-label-color=\"solid-yellow\">\n              <t-input-text id=\"name4\" placeholder=\"I'm a placeholder text\" value=\"Hi, I'm a prefilled text\"/>\n            </t-input-group>\n          </template>\n        </content-card>\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport ContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TCashIcon from \"@/Components/Icon/TCashIcon.vue\";\n\nexport default {\n  name: \"InputGroup\",\n  components: {TCashIcon, AppLayout, ContentCard, GridSection, TInputGroup, TInputText},\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/MultiSelectInput.vue",
    "content": "<template>\n    <app-layout title=\"Multi Select Input Component\">\n        <template #header>\n            Multi Select Input Component\n        </template>\n        <template #action-buttons>\n            <t-button :radius=\"3\" color=\"yellow\">\n                <icon icon=\"angle-left\"/>\n                Back to Home\n            </t-button>\n            <t-button :radius=\"3\" color=\"green\">\n                <icon icon=\"plus-circle\"/>\n                Add New\n            </t-button>\n        </template>\n        <template #default>\n            <t-form-content @reset=\"reset\">\n                <t-form-section\n                    description=\"This information is subject to personal data protection law.\"\n                    title=\"Personal Infos\">\n                    <!-- Manager - Simple -->\n                    <t-input-group\n                        class=\"col-span-12 md:col-span-6\"\n                        label=\"Managers - Simple\"\n                        labelFor=\"manager\"\n                    >\n                        <t-input-multi-select\n                            id=\"managers\"\n                            v-model=\"form.managers\"\n                            :options=\"users\"\n                            options-label-key=\"name\"\n                            options-value-key=\"id\"\n                        />\n                    </t-input-group>\n                    <!-- Facilities - Rich Options Content -->\n                    <t-input-group\n                        class=\"col-span-12 md:col-span-6\"\n                        label=\"Facilities - Rich Options Content\"\n                        label-for=\"facilities\"\n                    >\n                        <t-input-multi-select\n                            id=\"facilities\"\n                            v-model=\"form.facilities\"\n                            :search=\"false\"\n                            :options=\"facilities\"\n                            options-label-key=\"name\"\n                            options-value-key=\"value\"\n                        >\n                            <template #label=\"{ props }\">\n                                <div class=\"flex items-center space-x-1\">\n                                    <!--Computer-->\n                                    <svg v-if=\"props.value === 'computer'\" class=\"w-4 h-4\" fill=\"none\"\n                                         stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                              d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"></path>\n                                    </svg>\n                                    <!--Phone-->\n                                    <svg v-if=\"props.value === 'phone'\" class=\"w-4 h-4\" fill=\"none\"\n                                         stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                              d=\"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z\"></path>\n                                    </svg>\n                                    <!--Lodge-->\n                                    <svg v-if=\"props.value === 'lodge'\" class=\"w-4 h-4\" fill=\"none\"\n                                         stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                              d=\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\"></path>\n                                    </svg>\n                                    <!--Personal Office-->\n                                    <svg v-if=\"props.value === 'personal-office'\" class=\"w-4 h-4\" fill=\"none\"\n                                         stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                              d=\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"></path>\n                                    </svg>\n                                    <!--Shared Office-->\n                                    <svg v-if=\"props.value === 'shared-office'\" class=\"w-4 h-4\" fill=\"none\"\n                                         stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                              d=\"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z\"></path>\n                                    </svg>\n                                    <span v-text=\"props.name\"/>\n                                </div>\n                            </template>\n                        </t-input-multi-select>\n                    </t-input-group>\n                    <!--Disabled-->\n                    <t-input-group\n                        class=\"col-span-12 md:col-span-6\"\n                        label=\"Disabled\"\n                        label-for=\"disabled\"\n                    >\n                        <t-input-multi-select\n                            id=\"disabled\"\n                            :options=\"users\"\n                            disabled\n                        />\n                    </t-input-group>\n                    <!--Read Only-->\n                    <t-input-group\n                        class=\"col-span-12 md:col-span-6\"\n                        label=\"Read Only\"\n                        label-for=\"readOnly\"\n                    >\n                        <t-input-multi-select\n                            id=\"readOnly\"\n                            :options=\"users\"\n                            options-value-key=\"id\"\n                            options-label-key=\"name\"\n                            :model-value=\"[1,2,3]\"\n                            read-only\n                        />\n                    </t-input-group>\n                </t-form-section>\n            </t-form-content>\n        </template>\n    </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TFormSection from \"@/Components/Form/TFormSection.vue\";\nimport TFormContent from \"@/Components/Form/TFormContent.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputMultiSelect from \"@/Components/Form/Inputs/TInputMultiSelect.vue\";\nimport {ref, defineComponent} from \"vue\";\n\nexport default defineComponent({\n    name: \"MultiSelectInput\",\n    components: {\n        TInputMultiSelect,\n        AppLayout,\n        TButton,\n        TFormSection,\n        TFormContent,\n        TInputGroup,\n    },\n    props: {\n        users: {\n            type: Array,\n            default() {\n                return []\n            }\n        }\n    },\n    setup() {\n        const form = ref({\n            managers: [],\n            facilities: []\n        })\n        const facilities = [\n            {name: 'Computer', value: 'computer'},\n            {name: 'Phone', value: 'phone'},\n            {name: 'Lodge', value: 'lodge'},\n            {name: 'Personal Office', value: 'personal-office'},\n            {name: 'Shared Office', value: 'shared-office'},\n        ]\n\n        const reset = () => {\n            form.value.managers = [];\n            form.value.facilities = [];\n        }\n\n        return {form, facilities, reset}\n    }\n})\n</script>\n\n<style scoped>\n\n</style>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/RepeatableField.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Repeatable Input Type</template>\n    <template #subHeader>One field but every things is in there</template>\n    <template #default>\n      <t-form-content @reset=\"reset\" @submitted=\"null\">\n        <t-form-section\n            description=\"This information is subject to personal data protection law.\"\n            title=\"Personal Infos\">\n\n          <!-- Name -->\n          <t-input-group class=\"col-span-12\" label=\"Name\" labelFor=\"name\">\n            <t-input-text id=\"name\" v-model=\"form.name\" placeholder=\"Business mail address\"/>\n          </t-input-group>\n\n          <!-- Hobbies -->\n          <t-input-group class=\"col-span-12\" label=\"Hobbies (1 field)\" labelFor=\"tax_id\">\n            <t-input-repeatable id=\"hobbies\" v-model=\"form.hobbies\" value1name=\"Hobby\"/>\n          </t-input-group>\n\n          <!-- Education Info -->\n          <t-input-group class=\"col-span-12\" label=\"Education Info (2 fields)\" labelFor=\"tax_id\">\n            <t-input-repeatable id=\"education\" v-model=\"form.education\" value1name=\"School\" value2name=\"Degree\"/>\n          </t-input-group>\n        </t-form-section>\n      </t-form-content>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Main Functions*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport {useForm} from \"@inertiajs/vue3\";\n\n/*Components*/\nimport TFormContent from \"@/Components/Form/TFormContent.vue\";\nimport TFormSection from \"@/Components/Form/TFormSection.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TInputRepeatable from \"@/Components/Form/Inputs/TInputRepeatable.vue\";\n\nexport default {\n  name: \"RepeatableField\",\n  components: {TInputRepeatable, TInputText, TInputGroup, TFormSection, TFormContent, AppLayout},\n\n    setup(){\n      const form = useForm({\n          name: null,\n          education: [],\n          hobbies: [],\n      })\n\n        const reset = () => {\n          form.reset()\n        }\n\n        return {\n          form,\n            reset\n        }\n    },\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/SelectInput.vue",
    "content": "<template>\n    <app-layout :actionButtons=\"true\">\n        <template #header>\n            Select Input Component\n        </template>\n        <template #action-buttons>\n            <t-button :radius=\"3\" color=\"yellow\">\n                <icon icon=\"angle-left\"/>\n                Back to Home\n            </t-button>\n            <t-button :radius=\"3\" color=\"green\">\n                <icon icon=\"plus-circle\"/>\n                Add New\n            </t-button>\n        </template>\n        <template #default>\n            <t-form-content @reset=\"reset\" @submitted=\"save\">\n                <t-form-section\n                    description=\"This information is subject to personal data protection law.\"\n                    title=\"Personal Infos\">\n                    <!-- Manager -->\n                    <t-input-group class=\"col-span-12 md:col-span-6\" label=\"Manager - Searchable\" labelFor=\"user_id\">\n                        <t-input-select\n                            v-model=\"form.user_id\"\n                            :clear-button=\"true\"\n                            :options=\"users\"\n                            :search=\"true\"\n                            optionsLabelKey=\"name\"\n                            optionsValueKey=\"id\"\n                            place-holder=\"Select a manager\"\n                            search-place-holder=\"Search a manager...\"\n                        />\n                    </t-input-group>\n                    <!-- Rich Options Content -->\n                    <t-input-group class=\"col-span-12 md:col-span-6\" label=\"Rich Options Content\" labelFor=\"status\">\n                        <t-input-select\n                            v-model=\"form.status\"\n                            :clear-button=\"true\"\n                            :options=\"status\"\n                            optionsLabelKey=\"name\"\n                            optionsValueKey=\"value\"\n                            place-holder=\"Select a status\"\n                        >\n                            <template #label=\"{ props }\">\n                                <span v-if=\"props.value===true\" class=\"flex flex-row items-center gap-1\">\n                  <t-check-circle-icon class=\"w-5 h-5 text-green-500 \"/> {{ props.name }}\n                </span>\n                                <span v-if=\"props.value===false\" class=\"flex flex-row items-center gap-1\">\n                                    <t-x-circle-icon class=\"w-5 h-5 text-red-500 items-center\"/> {{ props.name }}\n                                </span>\n                            </template>\n                        </t-input-select>\n                    </t-input-group>\n                    <!--Disabled-->\n                    <t-input-group label=\"Disabled\" class=\"col-span-12 md:col-span-6\">\n                        <t-input-select disabled/>\n                    </t-input-group>\n                    <!--Read Only-->\n                    <t-input-group label=\"Read Only\" class=\"col-span-12 md:col-span-6\">\n                        <t-input-select\n                            :model-value=\"true\"\n                            :options=\"status\"\n                            options-value-key=\"value\"\n                            options-label-key=\"name\"\n                            read-only\n                        >\n                            <template #label=\"{ props }\">\n                                <span v-if=\"props.value===true\" class=\"flex flex-row items-center gap-1\">\n                                    <t-check-circle-icon class=\"w-5 h-5 text-green-500 \"/> {{ props.name }}\n                                </span>\n                                <span v-if=\"props.value===false\" class=\"flex flex-row items-center gap-1\">\n                                    <t-x-circle-icon class=\"w-5 h-5 text-red-500 items-center\"/> {{ props.name }}\n                                </span>\n                            </template>\n                        </t-input-select>\n                    </t-input-group>\n                </t-form-section>\n            </t-form-content>\n        </template>\n    </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TFormSection from \"@/Components/Form/TFormSection.vue\";\nimport TFormContent from \"@/Components/Form/TFormContent.vue\";\nimport 'simple-syntax-highlighter/dist/sshpre.css'\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputSelect from \"@/Components/Form/Inputs/TInputSelect.vue\";\nimport TCheckCircleIcon from \"@/Components/Icon/TCheckCircleIcon.vue\";\nimport TXCircleIcon from \"@/Components/Icon/TXCircleIcon.vue\";\n\nexport default {\n    name: \"SelectInput\",\n    components: {\n        TXCircleIcon,\n        TCheckCircleIcon,\n        TInputSelect,\n        AppLayout,\n        TButton,\n        TFormSection,\n        TFormContent,\n        TInputGroup,\n    },\n    props: ['users'],\n    data() {\n        return {\n            loading: false,\n            form: this.$inertia.form({\n                _method: 'POST',\n                user_id: null,\n                status: false\n            }),\n            status: [\n                {name: 'Passive', value: false, icon: 'XIcon', class: 'w-5 h-5 text-red-500 mr-2'},\n                {name: 'Active', value: true, icon: 'Checked', class: 'w-5 h-5 text-green-500 mr-2'}\n            ]\n        };\n    },\n    methods: {\n        reset: function () {\n            this.form.name = null;\n            this.form.user_id = null;\n            this.form.tax_id = null;\n            this.form.email = null;\n            this.form.phone = null;\n            this.form.status = null;\n            this.form.address = null;\n        },\n        save() {\n            this.form.post(route('customer.store'), {\n                errorBag: 'customer',\n                preserveScroll: true,\n            });\n            this.loading = true;\n        }\n    },\n}\n</script>\n\n<style scoped>\n\n</style>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/SimpleField.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Simple Form Fields</template>\n    <template #subHeader>Text, text area, select and a few things</template>\n    <template #default>\n      <t-form-content @reset=\"reset\" @submitted=\"save\">\n\n        <t-form-section\n          description=\"Please look at the menu for Select, Date and Repeatable Fields\"\n          title=\"Form Inputs\">\n          <!-- Text -->\n          <t-input-group\n            class=\"col-span-12 lg:col-span-6\"\n            label-for=\"text\"\n          >\n            <t-input-text\n              id=\"text\"\n              placeholder=\"Disabled Text Input Placeholder\"\n              disabled\n            >\n            </t-input-text>\n          </t-input-group>\n          <!-- Text & Icon -->\n          <t-input-group\n            class=\"col-span-12 lg:col-span-6\"\n            label=\"Input field with icon slot\"\n            label-for=\"text\"\n          >\n            <t-input-text\n              id=\"text-icon\"\n              placeholder=\"Text Input\"\n            >\n              <template #icon>\n                  <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                      <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z\" />\n                  </svg>\n              </template>\n            </t-input-text>\n          </t-input-group>\n          <!-- Text & Prepend and Append Feature -->\n          <t-input-group\n            class=\"col-span-12 lg:col-span-6\"\n            label=\"Prepend and append feature\"\n            label-for=\"text\"\n          >\n            <t-input-text\n              id=\"text-prepend-append\"\n              placeholder=\"Text Input\"\n              prepend=\"Expense\"\n            >\n              <!--Depend-->\n              <template #append>\n                <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\"\n                     stroke=\"currentColor\">\n                  <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                        d=\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n                </svg>\n              </template>\n            </t-input-text>\n          </t-input-group>\n          <!-- Text & Icon & Prepend and Append -->\n          <t-input-group\n            class=\"col-span-12 lg:col-span-6\"\n            label=\"Icon, prepend and append feature\"\n            label-for=\"text-icon-prepend-append\"\n          >\n            <t-input-text\n              id=\"text\"\n              v-model=\"form.text\"\n              placeholder=\"Text Input\"\n              prepend=\"Sallary\"\n              append=\"TRY\"\n            >\n              <!--Icon-->\n              <template #icon>\n                  <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n                      <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z\" />\n                  </svg>\n              </template>\n            </t-input-text>\n          </t-input-group>\n          <!-- Text input with select feature by outside -->\n          <t-input-group\n            class=\"col-span-12 lg:col-span-6\"\n            label=\"Text input with select feature by outside\"\n            label-for=\"text\"\n          >\n            <t-input-text\n              id=\"text-select\"\n              type=\"text\"\n              select-position=\"right\"\n              placeholder=\"Simple Text Input Placeholder\"\n              v-model:selectValue=\"selectTextInput.framework.select\"\n              v-model=\"selectTextInput.framework.text\"\n              :options=\"selectTextInput.framework.options\"\n            >\n            </t-input-text>\n          </t-input-group>\n            <!-- Text input with start select feature and append by inside -->\n            <t-input-group\n                class=\"col-span-12 lg:col-span-6\"\n                label=\"Text input with start select feature and append by inside\"\n                label-for=\"text-icon-prepend-append\"\n            >\n                <t-input-text\n                    id=\"text\"\n                    placeholder=\"Version\"\n                    select-type=\"inside\"\n                    prepend=\"Framework\"\n                    select-position=\"left\"\n                    v-model:selectValue=\"selectTextInput.framework.select\"\n                    v-model=\"selectTextInput.framework.text\"\n                    :options=\"selectTextInput.framework.options\"\n                />\n            </t-input-group>\n          <!-- Text input with select feature by inside -->\n          <t-input-group\n            class=\"col-span-12 lg:col-span-6\"\n            label=\"Text input with select feature by inside\"\n            label-for=\"text\"\n          >\n            <t-input-text\n              id=\"text-select\"\n              type=\"text\"\n              select-type=\"inside\"\n              select-position=\"right\"\n              placeholder=\"tailadmin.dev\"\n              prepend=\"https://\"\n              v-model:selectValue=\"selectTextInput.link.select\"\n              v-model=\"selectTextInput.link.text\"\n              :options=\"selectTextInput.link.options\"\n            >\n            </t-input-text>\n          </t-input-group>\n          <!-- Disabled Combined Text Input -->\n          <t-input-group\n            class=\"col-span-12 lg:col-span-6\"\n            label=\"Text input with select feature by inside\"\n            label-for=\"text\"\n          >\n            <t-input-text\n              id=\"text-select\"\n              type=\"text\"\n              select-type=\"inside\"\n              select-position=\"right\"\n              placeholder=\"tailadmin.dev\"\n              prepend=\"https://\"\n              v-model:selectValue=\"selectTextInput.link.select\"\n              v-model=\"selectTextInput.link.text\"\n              :options=\"selectTextInput.link.options\"\n              disableds\n            >\n            </t-input-text>\n          </t-input-group>\n          <!-- Password-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Password\" label-for=\"password\">\n            <t-input-text id=\"password\" v-model=\"form.password\" placeholder=\"Password\" type=\"password\" />\n          </t-input-group>\n          <!-- Number-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Number\" label-for=\"number\">\n            <t-input-text id=\"number\" v-model=\"form.number\" placeholder=\"Number\" type=\"number\" />\n          </t-input-group>\n          <!--Month-Browser Calendar-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Date-HTML5\" label-for=\"date\">\n            <t-input-text id=\"date\" v-model=\"form.date\" placeholder=\"10.11.1938\" type=\"date\" />\n          </t-input-group>\n          <!--Month-Browser Calendar-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Month-HTML5\" label-for=\"month\">\n            <t-input-text id=\"month\" v-model=\"form.month\" placeholder=\"August 2021\" type=\"month\" />\n          </t-input-group>\n          <!--Time-Browser Calendar-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Time-HTML5\" label-for=\"time\">\n            <t-input-text id=\"time\" v-model=\"form.time\" placeholder=\"9:05\" type=\"time\" />\n          </t-input-group>\n          <!--Color-Browser Picker-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Color-HTML5\" label-for=\"color\">\n            <t-input-text id=\"color\" v-model=\"form.color\" type=\"color\" />\n          </t-input-group>\n          <!--Single File-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Singe File\" label-for=\"singleFile\">\n            <t-input-file :preview=\"true\" id=\"singleFile\" v-model=\"form.singleFile\" />\n          </t-input-group>\n          <!--Multi File-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Multi File\" label-for=\"multiFile\">\n            <t-input-file :preview=\"true\" id=\"multiFile\" v-model=\"form.multiFile\" :multiple=\"true\" />\n          </t-input-group>\n          <!--Check Box-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"CheckBox\" label-for=\"checkbox\">\n            <div class=\"inline-flex flex-wrap items-center gap-2\">\n              <t-input-check-box\n                v-model=\"form.checkbox\"\n                :disabled=\"true\"\n                :radius=\"0\"\n                color=\"solid-white\"\n                input-value=\"disabled\"\n                label=\"Disabled\"\n              />\n              <t-input-check-box\n                v-model=\"form.checkbox\"\n                :radius=\"0\"\n                color=\"solid-white\"\n                input-value=\"default1\"\n                label=\"Default\"\n              />\n\n\n              <t-input-check-box\n                v-model=\"form.checkbox\"\n                :checked=\"true\"\n                :radius=\"8\"\n                color=\"solid-gray\"\n                input-value=\"default2\"\n                label=\"Default\"\n              />\n\n              <t-input-check-box\n                v-model=\"form.checkbox\"\n                :radius=\"3\"\n                color=\"solid-green\"\n                input-value=\"yes\"\n                label=\"Yes\"\n              >\n                <template #icon>\n                  <t-check-icon class=\"w-5 h-5\" />\n                </template>\n              </t-input-check-box>\n\n              <t-input-check-box\n                v-model=\"form.checkbox\"\n                :radius=\"3\"\n                color=\"solid-red\"\n                input-value=\"no\"\n                label=\"No\"\n              >\n                <template #icon>\n                  <t-x-icon class=\"w-5 h-5\" />\n                </template>\n              </t-input-check-box>\n\n              <t-input-check-box\n                v-model=\"form.checkbox\"\n                :radius=\"5\"\n                color=\"solid-blue\"\n                input-value=\"maybe\"\n                label=\"Maybe\"\n              >\n                <template #icon>\n                  ?\n                </template>\n              </t-input-check-box>\n            </div>\n          </t-input-group>\n          <!--Radio Button-->\n          <t-input-group class=\"col-span-12 lg:col-span-6\" label=\"Radio Button\" label-for=\"radio\">\n            <div class=\"inline-flex flex-wrap items-center gap-2\">\n              <t-input-radio-button\n                v-model=\"form.radio\"\n                :disabled=\"true\"\n                :radius=\"0\"\n                color=\"solid-white\"\n                input-value=\"disabled\"\n                label=\"Disabled\"\n              />\n              <t-input-radio-button\n                v-model=\"form.radio\"\n                :radius=\"0\"\n                color=\"solid-white\"\n                input-value=\"default1\"\n                label=\"Default\"\n              />\n\n\n              <t-input-radio-button\n                v-model=\"form.radio\"\n                :checked=\"true\"\n                :radius=\"8\"\n                color=\"solid-gray\"\n                input-value=\"default2\"\n                label=\"Default\"\n              />\n\n              <t-input-radio-button\n                v-model=\"form.radio\"\n                :radius=\"3\"\n                color=\"solid-green\"\n                input-value=\"yes\"\n                label=\"Yes\"\n              >\n                <template #icon>\n                  <t-check-icon class=\"w-5 h-5\" />\n                </template>\n              </t-input-radio-button>\n\n              <t-input-radio-button\n                v-model=\"form.radio\"\n                :radius=\"3\"\n                color=\"solid-red\"\n                input-value=\"no\"\n                label=\"No\"\n              >\n                <template #icon>\n                  <t-x-icon class=\"w-5 h-5\" />\n                </template>\n              </t-input-radio-button>\n\n              <t-input-radio-button\n                v-model=\"form.radio\"\n                :radius=\"5\"\n                color=\"solid-blue\"\n                input-value=\"maybe\"\n                label=\"Maybe\"\n              >\n                <template #icon>\n                  ?\n                </template>\n              </t-input-radio-button>\n            </div>\n          </t-input-group>\n          <!-- Address -->\n          <t-input-group class=\"col-span-12\" label=\"Text Area\" label-for=\"address\">\n            <t-input-text-area\n              id=\"address\"\n              v-model=\"form.textArea\"\n              :clear-button=\"true\"\n              :counter=\"true\"\n              :rows=\"3\"\n              placeholder=\"Full address\" />\n          </t-input-group>\n        </t-form-section>\n      </t-form-content>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport TFormContent from \"@/Components/Form/TFormContent.vue\";\nimport TFormSection from \"@/Components/Form/TFormSection.vue\";\nimport TInputGroup from \"@/Components/Form/TInputGroup.vue\";\nimport TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\nimport TInputFile from \"@/Components/Form/Inputs/TInputFile.vue\";\nimport TInputCheckBox from \"@/Components/Form/Inputs/TInputCheckBox.vue\";\nimport TInputRadioButton from \"@/Components/Form/Inputs/TInputRadioButton.vue\";\nimport TInputTextArea from \"@/Components/Form/Inputs/TInputTextArea.vue\";\nimport TCheckIcon from \"@/Components/Icon/TCheckIcon.vue\";\nimport TXIcon from \"@/Components/Icon/TXIcon.vue\";\nimport { ref, defineComponent } from \"vue\";\n\nexport default defineComponent({\n  name: \"SimpleField\",\n  components: {\n    TXIcon,\n    TCheckIcon,\n    TInputRadioButton,\n    TInputFile,\n    TInputCheckBox, TInputTextArea, TInputText, TInputGroup, TFormSection, TFormContent, AppLayout\n  },\n  setup() {\n    const selectTextInput = ref({\n      framework: {\n        select: 'laravel',\n        text: \"\",\n        options:\n          [\n            { key: \"laravel\", label: \"Laravel\" },\n            { key: \"tailwind\", label: \"Taildwindcss\" },\n            { key: \"vuejs\", label: \"VueJS\" }\n          ]\n      },\n      link: {\n        select: 'dev',\n        text: \"\",\n        options:\n          [\n            { key: \"dev\", label: \".dev\" },\n            { key: \"com\", label: \".com\" },\n            { key: \"net\", label: \".net\" }\n          ]\n      }\n    });\n\n    return { selectTextInput };\n  },\n  data() {\n    return {\n      loading: false,\n      form: this.$inertia.form({\n        _method: \"POST\",\n        text: null,\n        password: null,\n        number: null,\n        date: null,\n        month: null,\n        time: null,\n        color: null,\n        singleFile: null,\n        multiFile: [],\n        checkbox: [],\n        radio: null,\n        textArea: null\n      })\n    };\n  },\n  methods: {\n    reset: function() {\n      this.form.text = null;\n      this.form.password = null;\n      this.form.number = null;\n      this.form.date = null;\n      this.form.month = null;\n      this.form.time = null;\n      this.form.color = null;\n      this.form.file = null;\n      this.form.checkbox = [];\n      this.form.radio = null;\n      this.form.textArea = null;\n    },\n    save() {\n      this.form.post(route(\"user.store\"), {\n        errorBag: \"user\",\n        preserveScroll: true\n      });\n      this.loading = true;\n    }\n  }\n});\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/TagInput.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Tag Input</template>\n    <template #subHeader>A container for array values</template>\n    <template #default>\n\n      <ssh-pre :copy-button=\"true\" language=\"html\" label=\"Code\">{{sampleCode.html}}</ssh-pre>\n      <ssh-pre :copy-button=\"true\" language=\"js\" label=\"JS\">{{sampleCode.js}}</ssh-pre>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport SshPre from 'simple-syntax-highlighter'\nimport 'simple-syntax-highlighter/dist/sshpre.css'\n\nexport default {\n  name: \"TagInput\",\n  components: {AppLayout, SshPre},\n  data() {\n    return {\n      sampleCode: {\n        html:\n            '<t-input-group label=\"Text Label\" label-for=\"name4\" sub-label=\"Cash only\" sub-label-color=\"yellow\" error=\"Please enter numerical value\">\\n' +\n            '    <t-input-text id=\"name4\" placeholder=\"I\\'m a placeholder text\" value=\"Hi, I\\'m a prefilled text\"/>\\n' +\n            '</t-input-group>',\n        js:\n            'import TInputGroup from \"@/Components/Form/TInputGroup.vue\";\\n' +\n            'import TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\\n' +\n            '\\n' +\n            'export default {\\n' +\n            '  name: \"InputGroup\",\\n' +\n            '  components: {SshPre,GridSection, TInputText, TInputGroup, ContentCard, AppLayout},\\n' +\n            '  }',\n        table: {\n          header: [\n            {key: 'variable', label: 'Variable'},\n            {key: 'type', label: 'Value Type'},\n            {key: 'details', label: 'Details'},\n          ],\n          content: [\n            {variable: 'label', type: 'String', details: 'Your input label'},\n            {variable: 'label-for', type: 'String', details: 'Label identity indicator, you should enter input\\'s id'},\n            {\n              variable: 'sub-label',\n              type: 'String',\n              details: 'If you want to show a second and small label, you can use'\n            },\n            {\n              variable: 'sub-label-color',\n              type: 'String',\n              details: 'You can change sub label color <br><b>Options:</b> red, blue, green, yellow, indigo, pink, gray'\n            },\n            {\n              variable: 'error',\n              type: 'String',\n              details: 'Every time it\\'s text color is red, If It has a value, it shows'\n            }\n          ]\n        }\n      }\n    }\n  }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/FormElements/Validation.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Form Validations</template>\n    <template #subHeader>Require, length and a few things</template>\n    <template #default>\n\n      <ssh-pre :copy-button=\"true\" language=\"html\" label=\"Code\">{{sampleCode.html}}</ssh-pre>\n      <ssh-pre :copy-button=\"true\" language=\"js\" label=\"JS\">{{sampleCode.js}}</ssh-pre>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport SshPre from \"simple-syntax-highlighter\";\nimport 'simple-syntax-highlighter/dist/sshpre.css'\n\nexport default {\n  name: \"Validation\",\n  components: {AppLayout, SshPre},\n  data() {\n    return {\n      sampleCode: {\n        html:\n            '<t-input-group label=\"Text Label\" label-for=\"name4\" sub-label=\"Cash only\" sub-label-color=\"yellow\" error=\"Please enter numerical value\">\\n' +\n            '    <t-input-text id=\"name4\" placeholder=\"I\\'m a placeholder text\" value=\"Hi, I\\'m a prefilled text\"/>\\n' +\n            '</t-input-group>',\n        js:\n            'import TInputGroup from \"@/Components/Form/TInputGroup.vue\";\\n' +\n            'import TInputText from \"@/Components/Form/Inputs/TInputText.vue\";\\n' +\n            '\\n' +\n            'export default {\\n' +\n            '  name: \"InputGroup\",\\n' +\n            '  components: {SshPre,GridSection, TInputText, TInputGroup, ContentCard, AppLayout},\\n' +\n            '  }',\n        table: {\n          header: [\n            {key: 'variable', label: 'Variable'},\n            {key: 'type', label: 'Value Type'},\n            {key: 'details', label: 'Details'},\n          ],\n          content: [\n            {variable: 'label', type: 'String', details: 'Your input label'},\n            {variable: 'label-for', type: 'String', details: 'Label identity indicator, you should enter input\\'s id'},\n            {\n              variable: 'sub-label',\n              type: 'String',\n              details: 'If you want to show a second and small label, you can use'\n            },\n            {\n              variable: 'sub-label-color',\n              type: 'String',\n              details: 'You can change sub label color <br><b>Options:</b> red, blue, green, yellow, indigo, pink, gray'\n            },\n            {\n              variable: 'error',\n              type: 'String',\n              details: 'Every time it\\'s text color is red, If It has a value, it shows'\n            }\n          ]\n        }\n      }\n    }\n  }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Layouts/Grid.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Grid</template>\n    <template #subHeader>Grid system for contents</template>\n    <template #default>\n      <grid-section :col-tablet=\"2\" :col-laptop=\"3\" :col-desktop=\"4\">\n        <div v-for=\"i in 6\"\n             class=\"bg-gray-300 border border-gray-500 h-16 items-center justify-center flex font-bold text-xl\">\n          {{ 'Col ' + i }}\n        </div>\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\n\nexport default {\n  name: \"Grid\",\n  components: {GridSection, AppLayout},\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Layouts/LayoutStructure.vue",
    "content": "<template>\n  <app-layout :action-buttons=\"true\">\n    <template #header><div class=\"bg-blue-200 w-full h-full\">Header</div></template>\n    <template #subHeader><div class=\"bg-gray-200 w-full h-full\">SubHeader</div></template>\n    <template #action-buttons>\n      <div class=\"bg-green-200 w-full h-full flex justify-center items-center\">Action Button Area</div>\n    </template>\n    <template #default>\n      <div class=\"bg-yellow-200 w-full items-center justify-center flex text-center h-36\">Content Area</div>\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n\nexport default {\n  name: \"LayoutStructure\",\n  components: {AppLayout},\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Layouts/StatisticWidget.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Statistic Widget</template>\n    <template #subHeader>Preview area for your data</template>\n    <template #default>\n      <grid-section :col-tablet=\"2\" :col-desktop=\"4\">\n        <!--With Icon, Down Direction-->\n        <t-statistic-widget\n            :width=\"1\"\n            color=\"gradient-purple-to-pink\"\n            diff-direction=\"down\"\n            diff-value=\"15%\"\n            widget-value=\"254\">\n          <template #title>\n            Incomes\n          </template>\n          <template #icon>\n            <t-cash-icon class=\"w-16 h-16\"/>\n          </template>\n        </t-statistic-widget>\n        <!--With Icon, Up Direction-->\n        <t-statistic-widget\n            :radius=\"5\"\n            :width=\"1\"\n            color=\"solid-green\"\n            diff-direction=\"up\"\n            diff-value=\"8\"\n            widget-value=\"30\">\n          <template #title>\n            Daily Done Charts\n          </template>\n          <template #icon>\n            <t-shopping-bag-icon class=\"w-15 h-15\"/>\n          </template>\n        </t-statistic-widget>\n        <t-statistic-widget\n            :radius=\"5\"\n            :width=\"1\"\n            color=\"solid-red\"\n            diff-direction=\"positive-down\"\n            diff-value=\"8%\"\n            widget-value=\"12.254,05 TL\">\n          <template #title>\n            Refunds\n          </template>\n        </t-statistic-widget>\n        <!--With Picture, Down Direction-->\n        <t-statistic-widget\n            :radius=\"5\"\n            :width=\"1\"\n            color=\"solid-white\"\n            diff-direction=\"down\"\n            diff-value=\"15%\"\n            widget-value=\"254 USD\">\n          <template #title>\n            Stationery Cost\n          </template>\n          <template #picture>\n            <img :src=\"'/img/samples/imgMelBaylon-6WLcOFn4HKE-unsplash.jpg'\">\n          </template>\n        </t-statistic-widget>\n        <!-- &lt;!&ndash;With Line Chart, Without Diff Direction, Icon &ndash;&gt;\n         <t-statistic-widget\n             chart-type=\"line-chart\"\n             color=\"solid-yellow\"\n             diff-value=\"30%\"\n             radius=\"7\"\n             widget-value=\"254\"\n             :width=\"1\">\n             <template #title>\n                 Customer Complaints\n             </template>\n         </t-statistic-widget>\n         &lt;!&ndash;With Bar Chart, Without Diff Direction, Icon&ndash;&gt;\n         <t-statistic-widget\n             chart-type=\"bar-chart\"\n             color=\"solid-indigo\"\n             diff-direction=\"up\"\n             diff-value=\"30%\"\n             radius=\"1\"\n             widget-value=\"254\"\n             :width=\"2\">\n             <template #title>\n                 New Customers\n             </template>\n         </t-statistic-widget>-->\n      </grid-section>\n    </template>\n  </app-layout>\n</template>\n\n<script>\n/*Layout*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n/*Component*/\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TStatisticWidget from \"@/Components/Card/TStatisticWidget.vue\";\nimport TCashIcon from \"@/Components/Icon/TCashIcon.vue\";\nimport TShoppingBagIcon from \"@/Components/Icon/TShoppingBagIcon.vue\";\n\nexport default {\n  name: \"StatisticWidget\",\n  components: {AppLayout, GridSection, TCashIcon, TShoppingBagIcon, TStatisticWidget},\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Samples/Test.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>\n      Tabs\n    </template>\n    <template #subHeader>\n      Demo\n    </template>\n  </app-layout>\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\n\nexport default {\n  name: \"Tab\",\n  components: { AppLayout},\n  data(){\n    return{\n    }\n  }\n};\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Settings/Index.vue",
    "content": "<template>\n    <app-layout>\n        <template #header>\n            Settings\n        </template>\n        <template #subHeader>\n            User and features management\n        </template>\n        <grid-section :gap=\"2\" :col-tablet=\"2\" :col-desktop=\"4\">\n            <!--Users-->\n            <Link :href=\"route('settings-user.index')\">\n                <t-content-card color=\"light-indigo\" class=\"hover:bg-white\">\n                    <template #title>Users</template>\n                    <template #icon>\n                        <t-user-group-icon class=\"w-12 h-12\"/>\n                    </template>\n                    <template #content>\n                        {{ users_count }} user/s\n                    </template>\n                </t-content-card>\n            </Link>\n            <!--Roles-->\n            <Link :href=\"route('settings-role.index')\">\n                <t-content-card color=\"light-purple\" class=\"hover:bg-white\">\n                    <template #title>Roles</template>\n                    <template #icon>\n                        <t-chevron-double-down-icon class=\"w-12 h-12\"/>\n                    </template>\n                    <template #content>\n                        {{ roles_count }} role/s\n                    </template>\n                </t-content-card>\n            </Link>\n            <!--Permissions-->\n            <Link :href=\"route('settings-permission.index')\">\n                <t-content-card color=\"light-pink\" class=\"hover:bg-white\">\n                    <template #title>Permissions</template>\n                    <template #icon>\n                        <t-adjustments-icon class=\"w-12 h-12\"/>\n                    </template>\n                    <template #content>\n                        {{ permissions_count }} permission/s\n                    </template>\n                </t-content-card>\n            </Link>\n            <!--Settings-->\n            <Link :href=\"route('settings-system')\">\n                <t-content-card color=\"light-blue\" class=\"hover:bg-white\">\n                    <template #title>Settings</template>\n                    <template #icon>\n                        <t-cog-icon class=\"w-12 h-12\"/>\n                    </template>\n                    <template #content>\n                        Definitions of System\n                    </template>\n                </t-content-card>\n            </Link>\n        </grid-section>\n    </app-layout>\n</template>\n\n<script>\nimport {Link} from \"@inertiajs/vue3\";\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport GridSection from \"@/Layouts/GridSection.vue\";\nimport TContentCard from \"@/Components/Card/TContentCard.vue\";\nimport TStatisticWidget from \"@/Components/Card/TStatisticWidget.vue\";\nimport TCogIcon from \"@/Components/Icon/TCogIcon.vue\";\nimport TAdjustmentsIcon from \"@/Components/Icon/TAdjustmentsIcon.vue\";\nimport TChevronDoubleDownIcon from \"@/Components/Icon/TChevronDoubleDownIcon.vue\";\nimport TUserGroupIcon from \"@/Components/Icon/TUserGroupIcon.vue\";\n\nexport default {\n    name: \"Index\",\n    components: {\n        AppLayout,\n        GridSection,\n        Link,\n        TAdjustmentsIcon,\n        TChevronDoubleDownIcon,\n        TCogIcon,\n        TContentCard,\n        TStatisticWidget,\n        TUserGroupIcon\n    },\n    props: ['users_count', 'roles_count', 'permissions_count'],\n}\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Settings/Permission/Index.vue",
    "content": "<template>\n    <app-layout>\n        <template #header>Permissions</template>\n        <template #subHeader>Management of Permissions</template>\n        <initial-vertical-menu :menu=\"menuList\" class=\"mb-10\"/>\n        <div v-if=\"permissionGroups.length>0\" class=\"grid grid-cols-4 grid-flow-row gap-4\">\n            <template v-for=\"group in permissionGroups\">\n                <div class=\"flex border border-slate-300 bg-white dark:bg-slate-800 dark:text-slate-100 rounded flex-col select-none\">\n                    <div class=\"flex flex-col p-4\">\n                        <span v-text=\"group.name\" class=\"font-semibold\"></span>\n                        <span v-text=\"group.description\" class=\"text-sm\"></span>\n                    </div>\n                    <div class=\"flex justify-end text-slate-700 overflow-hidden\">\n                        <div class=\"group flex space-x-1 font-semibold items-center cursor-pointer bg-slate-300 hover:bg-emerald-200 active:bg-emerald-500 p-1 rounded-l-full mb-2 -mr-1 duration-100\">\n                            <icon icon=\"plus-circle\"/>\n                            <span class=\"text-2xs opacity-0 transform w-0 group-hover:block group-hover:w-14 group-hover:opacity-100 transition-all duration-300\">Permission</span>\n                        </div>\n                    </div>\n                </div>\n            </template>\n            <div class=\"flex space-y-2 justify-center items-center border border-slate-400 bg-emerald-200 hover:bg-emerald-300 hover:border-emerald-300 transform active:scale-95 duration-300 select-none dark:bg-slate-800 text-emerald-800 dark:text-slate-100 p-2 rounded flex-col cursor-pointer\">\n                <icon icon=\"plus-circle\" size=\"2x\" class=\"transform hover:scale-125 duration-300\"/>\n                <span class=\"text-sm\">Add new group</span>\n            </div>\n        </div>\n\n        <!--Empty Group Message-->\n        <div v-else class=\"flex justify-between w-full p-4 rounded bg-orange-200 dark:bg-slate-800 text-slate-700 dark:text-slate-100 items-center text-xl\">\n            <span>\n                There is any role groups, please add a role group\n            </span>\n            <t-button color=\"green\" class=\"text-sm\">\n                Add New Group\n            </t-button>\n        </div>\n\n        <!--Modal-->\n        <t-modal v-model=\"showModal.status\">\n            <template #header>\n                <span v-text=\"showModal.title\"></span>\n            </template>\n            <template #content>\n                <span v-html=\"modalContent\"></span>\n            </template>\n            <template #footer-left>\n                <t-button\n                    design=\"light\"\n                    color=\"green\"\n                    @click=\"showModal.status = false\"\n                >\n                    No, Nevermind\n                </t-button>\n            </template>\n            <template #footer-right>\n                <form id=\"delete\" @submit.prevent=\"showModal.submit\">\n\n                    <t-button\n                        design=\"light\"\n                        color=\"gray\"\n                        type=\"submit\">\n                        Yes, Delete\n                    </t-button>\n                </form>\n            </template>\n        </t-modal>\n    </app-layout>\n\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport InitialVerticalMenu from \"@/Layouts/InitialVerticalMenu.vue\";\nimport {settingsMenuMixin} from \"@/Mixins/settingsMenuMixin\";\nimport {reactive, ref} from \"vue\";\nimport {useForm} from \"@inertiajs/vue3\";\nimport TBackEndTable from \"@/Components/Table/TBackEndTable.vue\";\nimport TModal from \"@/Components/Modal/TModal.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TAlert from \"@/Components/Alert/TAlert.vue\";\nimport {faPlusCircle} from \"@fortawesome/free-solid-svg-icons/faPlusCircle\"\nimport {library} from \"@fortawesome/fontawesome-svg-core\";\nlibrary.add(faPlusCircle)\n\nexport default {\n    name: \"Index\",\n    components: {TAlert, InitialVerticalMenu, AppLayout, TBackEndTable, TModal, TButton},\n    mixins: [settingsMenuMixin],\n    props: {\n        permissions: {\n            type: Object,\n            default: () => {\n            }\n        },\n        permissionGroups: {\n            type: Object,\n            default: () => {\n            }\n        }\n    },\n    setup() {\n        const showModal = ref({\n            type: null,\n            status: false\n        });\n        const modalContent = ref(null);\n        const selectedPermission = ref(null);\n        const form = useForm({\n            id: null\n        })\n\n        const showDeleteModal = (role) => {\n            showModal.value.status = true\n            showModal.value.title = 'User Deleting'\n            showModal.value.submit = deletePermission\n            modalContent.value = `You are going to delete <b> ${role.name} </b>, Are you sure ?`\n        }\n\n        const deletePermission = () => {\n            form.id = selectedPermission.value;\n            form.delete(route('settings-permission.destroy', selectedPermission.value), {\n                preserveScroll: true,\n                onSuccess: () => showModal.value = false,\n            })\n        }\n\n        const compareOperators = reactive([\n            {key: \"contains\", label: \"contains\"},\n            {key: \"notContains\", label: \"not contains\"},\n            {key: \"starts\", label: \"starts\"},\n            {key: \"ends\", label: \"ends\"}\n        ]);\n\n        const header = reactive([\n            {\n                label: \"Name\",\n                key: \"name\",\n                align: \"left\",\n                status: true,\n                sortable: true,\n                simpleSearchable: true,\n                advancedSearchable: true,\n                advancedSearchInputType: \"text\",\n                compareOperators: compareOperators\n            }\n        ])\n\n        return {\n            deletePermission,\n            showDeleteModal,\n            modalContent,\n            selectedPermission,\n            header,\n            showModal\n        }\n    }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Settings/Role/Index.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>Roles</template>\n    <template #subHeader>Management of Roles</template>\n      <initial-vertical-menu :menu=\"menuList\" class=\"mb-10\"/>\n      <t-back-end-table\n          @selectedItem=\"selectedPermission = $event.data;$event.action === 'delete' && showDeleteModal($event.data)\"\n          :content=\"Roles\"\n          :header=\"header\"\n          content-key=\"roles\"\n          unique-id=\"id\"\n          search-route=\"settings-role.search\"\n      >\n\n      </t-back-end-table>\n      <t-modal v-model=\"showModal\">\n          <template #header>\n              User Deleting\n          </template>\n          <template #content>\n              <span v-html=\"modalContent\"></span>\n          </template>\n          <template #footer-left>\n              <t-button\n                  design=\"light\"\n                  color=\"green\"\n                  @click=\"showModal = false\"\n              >\n                  No, Nevermind\n              </t-button>\n          </template>\n          <template #footer-right>\n              <form id=\"delete\" @submit.prevent=\"deletePermission\">\n\n                  <t-button\n                      design=\"light\"\n                      color=\"gray\"\n                      type=\"submit\">\n                      Yes, Delete\n                  </t-button>\n              </form>\n          </template>\n      </t-modal>\n  </app-layout>\n\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport InitialVerticalMenu from \"@/Layouts/InitialVerticalMenu.vue\";\nimport {settingsMenuMixin} from \"@/Mixins/settingsMenuMixin\";\nimport {reactive, ref} from \"vue\";\nimport {useForm} from \"@inertiajs/vue3\";\nimport TBackEndTable from \"@/Components/Table/TBackEndTable.vue\";\nimport TModal from \"@/Components/Modal/TModal.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\n\nexport default {\n  name: \"Index\",\n  components: {InitialVerticalMenu, AppLayout, TBackEndTable,TModal,TButton},\n  mixins: [settingsMenuMixin],\n    props: {\n        Roles: {\n            type: Object,\n            default: ()=>{}\n        }\n    },\n    setup() {\n        const showModal = ref(false);\n        const modalContent = ref(null);\n        const selectedPermission = ref(null);\n        const form = useForm({\n            id: null\n        })\n\n        const showDeleteModal = (role)=> {\n            showModal.value = true\n            modalContent.value = `You are going to delete <b> ${role.name} </b>, Are you sure ?`\n        }\n\n        const deletePermission = ()=> {\n            form.id = selectedPermission.value;\n            form.delete(route('settings-role.destroy', selectedPermission.value), {\n                preserveScroll: true,\n                onSuccess: () => showModal.value = false,\n            })\n        }\n\n        const compareOperators = reactive([\n            {key: \"contains\", label: \"contains\"},\n            {key: \"notContains\", label: \"not contains\"},\n            {key: \"starts\", label: \"starts\"},\n            {key: \"ends\", label: \"ends\"}\n        ]);\n\n        const header = reactive([\n            {\n                label: \"Name\",\n                key: \"name\",\n                align: \"left\",\n                status: true,\n                sortable: true,\n                simpleSearchable: true,\n                advancedSearchable: true,\n                advancedSearchInputType: \"text\",\n                compareOperators: compareOperators\n            }\n        ])\n\n        return {\n            deletePermission,\n            showDeleteModal,\n            modalContent,\n            selectedPermission,\n            header,\n            showModal\n        }\n    }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Settings/System.vue",
    "content": "<template>\n  <app-layout>\n    <template #header>System Settings</template>\n    <template #subHeader>Management of System's Variables</template>\n    <initial-vertical-menu :menu=\"menuList\"/>\n  </app-layout>\n\n</template>\n\n<script>\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport InitialVerticalMenu from \"@/Layouts/InitialVerticalMenu.vue\";\nimport {settingsMenuMixin} from \"@/Mixins/settingsMenuMixin\";\n\nexport default {\n  name: \"SettingsSystem\",\n  components: {InitialVerticalMenu, AppLayout},\n  mixins: [settingsMenuMixin]\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Settings/User.vue",
    "content": "<template>\n    <app-layout title=\"Users\">\n        <template #header>Users</template>\n        <template #subHeader>Management of Users</template>\n        <initial-vertical-menu :menu=\"menuList\" class=\"mb-10\"/>\n        <t-back-end-table\n            @selectedItem=\"selectedUser = $event.data;$event.action === 'delete' && showDeleteModal($event.data)\"\n            :content=\"users\"\n            :header=\"header\"\n            content-key=\"users\"\n            unique-id=\"id\"\n            search-route=\"settings-user.search\"\n        >\n\n        </t-back-end-table>\n        <t-modal v-model=\"showModal\">\n            <template #header>\n                User Deleting\n            </template>\n            <template #content>\n                <span v-html=\"modalContent\"></span>\n            </template>\n            <template #footer-left>\n                <t-button\n                    design=\"light\"\n                    color=\"green\"\n                    @click=\"showModal = false\"\n                >\n                    No, Nevermind\n                </t-button>\n            </template>\n            <template #footer-right>\n                <form id=\"delete\" @submit.prevent=\"deleteUser\">\n\n                    <t-button\n                        design=\"light\"\n                        color=\"gray\"\n                        type=\"submit\">\n                        Yes, Delete\n                    </t-button>\n                </form>\n            </template>\n        </t-modal>\n    </app-layout>\n</template>\n\n<script>\n/*Main functions*/\nimport {settingsMenuMixin} from \"@/Mixins/settingsMenuMixin\";\nimport {reactive, ref, toRefs, watch} from \"vue\";\nimport {useForm} from \"@inertiajs/vue3\";\n\n/*Components*/\nimport AppLayout from \"@/Layouts/AppLayout.vue\";\nimport InitialVerticalMenu from \"@/Layouts/InitialVerticalMenu.vue\";\nimport TTable from \"@/Components/Table/TTable.vue\";\nimport TButton from \"@/Components/Button/TButton.vue\";\nimport TTrashIcon from \"@/Components/Icon/TTrashIcon.vue\";\nimport TPencilAltIcon from \"@/Components/Icon/TPencilAltIcon.vue\";\nimport TDropdown from \"@/Components/Dropdown/TDropdown.vue\";\nimport TDotsVerticalIcon from \"@/Components/Icon/TDotsVerticalIcon.vue\";\nimport TList from \"@/Components/List/TList.vue\";\nimport TListItem from \"@/Components/List/TListItem.vue\";\nimport TModal from \"@/Components/Modal/TModal.vue\";\nimport TBackEndTable from \"@/Components/Table/TBackEndTable.vue\";\n\nexport default {\n    name: \"SettingsUser\",\n    components: {\n        TBackEndTable,\n        TModal,\n        TListItem,\n        TList,\n        TDotsVerticalIcon,\n        TDropdown,\n        TPencilAltIcon,\n        TTrashIcon,\n        TButton,\n        TTable,\n        InitialVerticalMenu,\n        AppLayout\n    },\n    mixins: [settingsMenuMixin],\n    props: {\n        users: {\n            type: Array,\n            default() {\n                return []\n            }\n        },\n        roles: {\n            type: Array,\n            default() {\n                return []\n            }\n        }\n    },\n    setup(props) {\n        const {users, roles} = toRefs(props);\n        const showModal = ref(false);\n        const modalContent = ref(null);\n        const selectedUser = ref(null);\n        const form = useForm({\n            id: null\n        })\n\n        watch(()=>selectedUser,()=>{\n\n        })\n\n        const showDeleteModal = (user)=> {\n            showModal.value = true\n            modalContent.value = `You are going to delete <b> ${user.name} </b>, Are you sure ?`\n        }\n\n        const deleteUser = ()=> {\n            form.id = selectedUser.value;\n            form.delete(route('settings-user.destroy', selectedUser.value), {\n                preserveScroll: true,\n                onSuccess: () => showModal.value = false,\n            })\n        }\n\n        const compareOperators = reactive([\n            {key: \"contains\", label: \"contains\"},\n            {key: \"notContains\", label: \"not contains\"},\n            {key: \"starts\", label: \"starts\"},\n            {key: \"ends\", label: \"ends\"}\n        ]);\n\n        const header = reactive([\n            {\n                label: \"Name\",\n                key: \"name\",\n                align: \"left\",\n                status: true,\n                sortable: true,\n                simpleSearchable: true,\n                advancedSearchable: true,\n                advancedSearchInputType: \"text\",\n                compareOperators: compareOperators\n            }\n        ])\n\n        return {\n            showModal,\n            showDeleteModal,\n            deleteUser,\n            modalContent,\n            selectedUser,\n            form,\n            header,\n            compareOperators,\n        }\n    }\n}\n</script>\n\n<style scoped>\n\n</style>\n"
  },
  {
    "path": "resources/js/Pages/Teams/Create.vue",
    "content": "<script setup>\nimport AppLayout from '@/Layouts/AppLayout.vue';\nimport CreateTeamForm from '@/Pages/Teams/Partials/CreateTeamForm.vue';\n</script>\n\n<template>\n    <AppLayout title=\"Create Team\">\n        <template #header>\n            <h2 class=\"font-semibold text-xl text-gray-800 dark:text-gray-200 leading-tight\">\n                Create Team\n            </h2>\n        </template>\n\n        <div>\n            <div class=\"max-w-7xl mx-auto py-10 sm:px-6 lg:px-8\">\n                <CreateTeamForm />\n            </div>\n        </div>\n    </AppLayout>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Teams/Partials/CreateTeamForm.vue",
    "content": "<script setup>\nimport { useForm } from '@inertiajs/vue3';\nimport FormSection from '@/Jetstream/FormSection.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst form = useForm({\n    name: '',\n});\n\nconst createTeam = () => {\n    form.post(route('teams.store'), {\n        errorBag: 'createTeam',\n        preserveScroll: true,\n    });\n};\n</script>\n\n<template>\n    <FormSection @submitted=\"createTeam\">\n        <template #title>\n            Team Details\n        </template>\n\n        <template #description>\n            Create a new team to collaborate with others on projects.\n        </template>\n\n        <template #form>\n            <div class=\"col-span-6\">\n                <InputLabel value=\"Team Owner\" />\n\n                <div class=\"flex items-center mt-2\">\n                    <img class=\"object-cover w-12 h-12 rounded-full\" :src=\"$page.props.auth.user.profile_photo_url\" :alt=\"$page.props.auth.user.name\">\n\n                    <div class=\"ms-4 leading-tight\">\n                        <div class=\"text-gray-900 dark:text-white\">{{ $page.props.auth.user.name }}</div>\n                        <div class=\"text-sm text-gray-700 dark:text-gray-300\">\n                            {{ $page.props.auth.user.email }}\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"col-span-6 sm:col-span-4\">\n                <InputLabel for=\"name\" value=\"Team Name\" />\n                <TextInput\n                    id=\"name\"\n                    v-model=\"form.name\"\n                    type=\"text\"\n                    class=\"block w-full mt-1\"\n                    autofocus\n                />\n                <InputError :message=\"form.errors.name\" class=\"mt-2\" />\n            </div>\n        </template>\n\n        <template #actions>\n            <PrimaryButton :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                Create\n            </PrimaryButton>\n        </template>\n    </FormSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Teams/Partials/DeleteTeamForm.vue",
    "content": "<script setup>\nimport { ref } from 'vue';\nimport { useForm } from '@inertiajs/vue3';\nimport ActionSection from '@/Jetstream/ActionSection.vue';\nimport ConfirmationModal from '@/Jetstream/ConfirmationModal.vue';\nimport DangerButton from '@/Jetstream/DangerButton.vue';\nimport SecondaryButton from '@/Jetstream/SecondaryButton.vue';\n\nconst props = defineProps({\n    team: Object,\n});\n\nconst confirmingTeamDeletion = ref(false);\nconst form = useForm({});\n\nconst confirmTeamDeletion = () => {\n    confirmingTeamDeletion.value = true;\n};\n\nconst deleteTeam = () => {\n    form.delete(route('teams.destroy', props.team), {\n        errorBag: 'deleteTeam',\n    });\n};\n</script>\n\n<template>\n    <ActionSection>\n        <template #title>\n            Delete Team\n        </template>\n\n        <template #description>\n            Permanently delete this team.\n        </template>\n\n        <template #content>\n            <div class=\"max-w-xl text-sm text-gray-600 dark:text-gray-400\">\n                Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\n            </div>\n\n            <div class=\"mt-5\">\n                <DangerButton @click=\"confirmTeamDeletion\">\n                    Delete Team\n                </DangerButton>\n            </div>\n\n            <!-- Delete Team Confirmation Modal -->\n            <ConfirmationModal :show=\"confirmingTeamDeletion\" @close=\"confirmingTeamDeletion = false\">\n                <template #title>\n                    Delete Team\n                </template>\n\n                <template #content>\n                    Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\n                </template>\n\n                <template #footer>\n                    <SecondaryButton @click=\"confirmingTeamDeletion = false\">\n                        Cancel\n                    </SecondaryButton>\n\n                    <DangerButton\n                        class=\"ms-3\"\n                        :class=\"{ 'opacity-25': form.processing }\"\n                        :disabled=\"form.processing\"\n                        @click=\"deleteTeam\"\n                    >\n                        Delete Team\n                    </DangerButton>\n                </template>\n            </ConfirmationModal>\n        </template>\n    </ActionSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Teams/Partials/TeamMemberManager.vue",
    "content": "<script setup>\nimport { ref } from 'vue';\nimport { router, useForm, usePage } from '@inertiajs/vue3';\nimport ActionMessage from '@/Jetstream/ActionMessage.vue';\nimport ActionSection from '@/Jetstream/ActionSection.vue';\nimport ConfirmationModal from '@/Jetstream/ConfirmationModal.vue';\nimport DangerButton from '@/Jetstream/DangerButton.vue';\nimport DialogModal from '@/Jetstream/DialogModal.vue';\nimport FormSection from '@/Jetstream/FormSection.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport SecondaryButton from '@/Jetstream/SecondaryButton.vue';\nimport SectionBorder from '@/Jetstream/SectionBorder.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst props = defineProps({\n    team: Object,\n    availableRoles: Array,\n    userPermissions: Object,\n});\n\nconst page = usePage();\n\nconst addTeamMemberForm = useForm({\n    email: '',\n    role: null,\n});\n\nconst updateRoleForm = useForm({\n    role: null,\n});\n\nconst leaveTeamForm = useForm({});\nconst removeTeamMemberForm = useForm({});\n\nconst currentlyManagingRole = ref(false);\nconst managingRoleFor = ref(null);\nconst confirmingLeavingTeam = ref(false);\nconst teamMemberBeingRemoved = ref(null);\n\nconst addTeamMember = () => {\n    addTeamMemberForm.post(route('team-members.store', props.team), {\n        errorBag: 'addTeamMember',\n        preserveScroll: true,\n        onSuccess: () => addTeamMemberForm.reset(),\n    });\n};\n\nconst cancelTeamInvitation = (invitation) => {\n    router.delete(route('team-invitations.destroy', invitation), {\n        preserveScroll: true,\n    });\n};\n\nconst manageRole = (teamMember) => {\n    managingRoleFor.value = teamMember;\n    updateRoleForm.role = teamMember.membership.role;\n    currentlyManagingRole.value = true;\n};\n\nconst updateRole = () => {\n    updateRoleForm.put(route('team-members.update', [props.team, managingRoleFor.value]), {\n        preserveScroll: true,\n        onSuccess: () => currentlyManagingRole.value = false,\n    });\n};\n\nconst confirmLeavingTeam = () => {\n    confirmingLeavingTeam.value = true;\n};\n\nconst leaveTeam = () => {\n    leaveTeamForm.delete(route('team-members.destroy', [props.team, page.props.auth.user]));\n};\n\nconst confirmTeamMemberRemoval = (teamMember) => {\n    teamMemberBeingRemoved.value = teamMember;\n};\n\nconst removeTeamMember = () => {\n    removeTeamMemberForm.delete(route('team-members.destroy', [props.team, teamMemberBeingRemoved.value]), {\n        errorBag: 'removeTeamMember',\n        preserveScroll: true,\n        preserveState: true,\n        onSuccess: () => teamMemberBeingRemoved.value = null,\n    });\n};\n\nconst displayableRole = (role) => {\n    return props.availableRoles.find(r => r.key === role).name;\n};\n</script>\n\n<template>\n    <div>\n        <div v-if=\"userPermissions.canAddTeamMembers\">\n            <SectionBorder />\n\n            <!-- Add Team Member -->\n            <FormSection @submitted=\"addTeamMember\">\n                <template #title>\n                    Add Team Member\n                </template>\n\n                <template #description>\n                    Add a new team member to your team, allowing them to collaborate with you.\n                </template>\n\n                <template #form>\n                    <div class=\"col-span-6\">\n                        <div class=\"max-w-xl text-sm text-gray-600 dark:text-gray-400\">\n                            Please provide the email address of the person you would like to add to this team.\n                        </div>\n                    </div>\n\n                    <!-- Member Email -->\n                    <div class=\"col-span-6 sm:col-span-4\">\n                        <InputLabel for=\"email\" value=\"Email\" />\n                        <TextInput\n                            id=\"email\"\n                            v-model=\"addTeamMemberForm.email\"\n                            type=\"email\"\n                            class=\"mt-1 block w-full\"\n                        />\n                        <InputError :message=\"addTeamMemberForm.errors.email\" class=\"mt-2\" />\n                    </div>\n\n                    <!-- Role -->\n                    <div v-if=\"availableRoles.length > 0\" class=\"col-span-6 lg:col-span-4\">\n                        <InputLabel for=\"roles\" value=\"Role\" />\n                        <InputError :message=\"addTeamMemberForm.errors.role\" class=\"mt-2\" />\n\n                        <div class=\"relative z-0 mt-1 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer\">\n                            <button\n                                v-for=\"(role, i) in availableRoles\"\n                                :key=\"role.key\"\n                                type=\"button\"\n                                class=\"relative px-4 py-3 inline-flex w-full rounded-lg focus:z-10 focus:outline-none focus:border-indigo-500 dark:focus:border-indigo-600 focus:ring-2 focus:ring-indigo-500 dark:focus:ring-indigo-600\"\n                                :class=\"{'border-t border-gray-200 dark:border-gray-700 focus:border-none rounded-t-none': i > 0, 'rounded-b-none': i != Object.keys(availableRoles).length - 1}\"\n                                @click=\"addTeamMemberForm.role = role.key\"\n                            >\n                                <div :class=\"{'opacity-50': addTeamMemberForm.role && addTeamMemberForm.role != role.key}\">\n                                    <!-- Role Name -->\n                                    <div class=\"flex items-center\">\n                                        <div class=\"text-sm text-gray-600 dark:text-gray-400\" :class=\"{'font-semibold': addTeamMemberForm.role == role.key}\">\n                                            {{ role.name }}\n                                        </div>\n\n                                        <svg v-if=\"addTeamMemberForm.role == role.key\" class=\"ms-2 h-5 w-5 text-green-400\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n                                        </svg>\n                                    </div>\n\n                                    <!-- Role Description -->\n                                    <div class=\"mt-2 text-xs text-gray-600 dark:text-gray-400 text-start\">\n                                        {{ role.description }}\n                                    </div>\n                                </div>\n                            </button>\n                        </div>\n                    </div>\n                </template>\n\n                <template #actions>\n                    <ActionMessage :on=\"addTeamMemberForm.recentlySuccessful\" class=\"me-3\">\n                        Added.\n                    </ActionMessage>\n\n                    <PrimaryButton :class=\"{ 'opacity-25': addTeamMemberForm.processing }\" :disabled=\"addTeamMemberForm.processing\">\n                        Add\n                    </PrimaryButton>\n                </template>\n            </FormSection>\n        </div>\n\n        <div v-if=\"team.team_invitations.length > 0 && userPermissions.canAddTeamMembers\">\n            <SectionBorder />\n\n            <!-- Team Member Invitations -->\n            <ActionSection class=\"mt-10 sm:mt-0\">\n                <template #title>\n                    Pending Team Invitations\n                </template>\n\n                <template #description>\n                    These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\n                </template>\n\n                <!-- Pending Team Member Invitation List -->\n                <template #content>\n                    <div class=\"space-y-6\">\n                        <div v-for=\"invitation in team.team_invitations\" :key=\"invitation.id\" class=\"flex items-center justify-between\">\n                            <div class=\"text-gray-600 dark:text-gray-400\">\n                                {{ invitation.email }}\n                            </div>\n\n                            <div class=\"flex items-center\">\n                                <!-- Cancel Team Invitation -->\n                                <button\n                                    v-if=\"userPermissions.canRemoveTeamMembers\"\n                                    class=\"cursor-pointer ms-6 text-sm text-red-500 focus:outline-none\"\n                                    @click=\"cancelTeamInvitation(invitation)\"\n                                >\n                                    Cancel\n                                </button>\n                            </div>\n                        </div>\n                    </div>\n                </template>\n            </ActionSection>\n        </div>\n\n        <div v-if=\"team.users.length > 0\">\n            <SectionBorder />\n\n            <!-- Manage Team Members -->\n            <ActionSection class=\"mt-10 sm:mt-0\">\n                <template #title>\n                    Team Members\n                </template>\n\n                <template #description>\n                    All of the people that are part of this team.\n                </template>\n\n                <!-- Team Member List -->\n                <template #content>\n                    <div class=\"space-y-6\">\n                        <div v-for=\"user in team.users\" :key=\"user.id\" class=\"flex items-center justify-between\">\n                            <div class=\"flex items-center\">\n                                <img class=\"w-8 h-8 rounded-full object-cover\" :src=\"user.profile_photo_url\" :alt=\"user.name\">\n                                <div class=\"ms-4 dark:text-white\">\n                                    {{ user.name }}\n                                </div>\n                            </div>\n\n                            <div class=\"flex items-center\">\n                                <!-- Manage Team Member Role -->\n                                <button\n                                    v-if=\"userPermissions.canUpdateTeamMembers && availableRoles.length\"\n                                    class=\"ms-2 text-sm text-gray-400 underline\"\n                                    @click=\"manageRole(user)\"\n                                >\n                                    {{ displayableRole(user.membership.role) }}\n                                </button>\n\n                                <div v-else-if=\"availableRoles.length\" class=\"ms-2 text-sm text-gray-400\">\n                                    {{ displayableRole(user.membership.role) }}\n                                </div>\n\n                                <!-- Leave Team -->\n                                <button\n                                    v-if=\"$page.props.auth.user.id === user.id\"\n                                    class=\"cursor-pointer ms-6 text-sm text-red-500\"\n                                    @click=\"confirmLeavingTeam\"\n                                >\n                                    Leave\n                                </button>\n\n                                <!-- Remove Team Member -->\n                                <button\n                                    v-else-if=\"userPermissions.canRemoveTeamMembers\"\n                                    class=\"cursor-pointer ms-6 text-sm text-red-500\"\n                                    @click=\"confirmTeamMemberRemoval(user)\"\n                                >\n                                    Remove\n                                </button>\n                            </div>\n                        </div>\n                    </div>\n                </template>\n            </ActionSection>\n        </div>\n\n        <!-- Role Management Modal -->\n        <DialogModal :show=\"currentlyManagingRole\" @close=\"currentlyManagingRole = false\">\n            <template #title>\n                Manage Role\n            </template>\n\n            <template #content>\n                <div v-if=\"managingRoleFor\">\n                    <div class=\"relative z-0 mt-1 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer\">\n                        <button\n                            v-for=\"(role, i) in availableRoles\"\n                            :key=\"role.key\"\n                            type=\"button\"\n                            class=\"relative px-4 py-3 inline-flex w-full rounded-lg focus:z-10 focus:outline-none focus:border-indigo-500 dark:focus:border-indigo-600 focus:ring-2 focus:ring-indigo-500 dark:focus:ring-indigo-600\"\n                            :class=\"{'border-t border-gray-200 dark:border-gray-700 focus:border-none rounded-t-none': i > 0, 'rounded-b-none': i !== Object.keys(availableRoles).length - 1}\"\n                            @click=\"updateRoleForm.role = role.key\"\n                        >\n                            <div :class=\"{'opacity-50': updateRoleForm.role && updateRoleForm.role !== role.key}\">\n                                <!-- Role Name -->\n                                <div class=\"flex items-center\">\n                                    <div class=\"text-sm text-gray-600 dark:text-gray-400\" :class=\"{'font-semibold': updateRoleForm.role === role.key}\">\n                                        {{ role.name }}\n                                    </div>\n\n                                    <svg v-if=\"updateRoleForm.role == role.key\" class=\"ms-2 h-5 w-5 text-green-400\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n                                    </svg>\n                                </div>\n\n                                <!-- Role Description -->\n                                <div class=\"mt-2 text-xs text-gray-600 dark:text-gray-400\">\n                                    {{ role.description }}\n                                </div>\n                            </div>\n                        </button>\n                    </div>\n                </div>\n            </template>\n\n            <template #footer>\n                <SecondaryButton @click=\"currentlyManagingRole = false\">\n                    Cancel\n                </SecondaryButton>\n\n                <PrimaryButton\n                    class=\"ms-3\"\n                    :class=\"{ 'opacity-25': updateRoleForm.processing }\"\n                    :disabled=\"updateRoleForm.processing\"\n                    @click=\"updateRole\"\n                >\n                    Save\n                </PrimaryButton>\n            </template>\n        </DialogModal>\n\n        <!-- Leave Team Confirmation Modal -->\n        <ConfirmationModal :show=\"confirmingLeavingTeam\" @close=\"confirmingLeavingTeam = false\">\n            <template #title>\n                Leave Team\n            </template>\n\n            <template #content>\n                Are you sure you would like to leave this team?\n            </template>\n\n            <template #footer>\n                <SecondaryButton @click=\"confirmingLeavingTeam = false\">\n                    Cancel\n                </SecondaryButton>\n\n                <DangerButton\n                    class=\"ms-3\"\n                    :class=\"{ 'opacity-25': leaveTeamForm.processing }\"\n                    :disabled=\"leaveTeamForm.processing\"\n                    @click=\"leaveTeam\"\n                >\n                    Leave\n                </DangerButton>\n            </template>\n        </ConfirmationModal>\n\n        <!-- Remove Team Member Confirmation Modal -->\n        <ConfirmationModal :show=\"teamMemberBeingRemoved\" @close=\"teamMemberBeingRemoved = null\">\n            <template #title>\n                Remove Team Member\n            </template>\n\n            <template #content>\n                Are you sure you would like to remove this person from the team?\n            </template>\n\n            <template #footer>\n                <SecondaryButton @click=\"teamMemberBeingRemoved = null\">\n                    Cancel\n                </SecondaryButton>\n\n                <DangerButton\n                    class=\"ms-3\"\n                    :class=\"{ 'opacity-25': removeTeamMemberForm.processing }\"\n                    :disabled=\"removeTeamMemberForm.processing\"\n                    @click=\"removeTeamMember\"\n                >\n                    Remove\n                </DangerButton>\n            </template>\n        </ConfirmationModal>\n    </div>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Teams/Partials/UpdateTeamNameForm.vue",
    "content": "<script setup>\nimport { useForm } from '@inertiajs/vue3';\nimport ActionMessage from '@/Jetstream/ActionMessage.vue';\nimport FormSection from '@/Jetstream/FormSection.vue';\nimport InputError from '@/Jetstream/InputError.vue';\nimport InputLabel from '@/Jetstream/InputLabel.vue';\nimport PrimaryButton from '@/Jetstream/PrimaryButton.vue';\nimport TextInput from '@/Jetstream/TextInput.vue';\n\nconst props = defineProps({\n    team: Object,\n    permissions: Object,\n});\n\nconst form = useForm({\n    name: props.team.name,\n});\n\nconst updateTeamName = () => {\n    form.put(route('teams.update', props.team), {\n        errorBag: 'updateTeamName',\n        preserveScroll: true,\n    });\n};\n</script>\n\n<template>\n    <FormSection @submitted=\"updateTeamName\">\n        <template #title>\n            Team Name\n        </template>\n\n        <template #description>\n            The team's name and owner information.\n        </template>\n\n        <template #form>\n            <!-- Team Owner Information -->\n            <div class=\"col-span-6\">\n                <InputLabel value=\"Team Owner\" />\n\n                <div class=\"flex items-center mt-2\">\n                    <img class=\"w-12 h-12 rounded-full object-cover\" :src=\"team.owner.profile_photo_url\" :alt=\"team.owner.name\">\n\n                    <div class=\"ms-4 leading-tight\">\n                        <div class=\"text-gray-900 dark:text-white\">{{ team.owner.name }}</div>\n                        <div class=\"text-gray-700 dark:text-gray-300 text-sm\">\n                            {{ team.owner.email }}\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <!-- Team Name -->\n            <div class=\"col-span-6 sm:col-span-4\">\n                <InputLabel for=\"name\" value=\"Team Name\" />\n\n                <TextInput\n                    id=\"name\"\n                    v-model=\"form.name\"\n                    type=\"text\"\n                    class=\"mt-1 block w-full\"\n                    :disabled=\"! permissions.canUpdateTeam\"\n                />\n\n                <InputError :message=\"form.errors.name\" class=\"mt-2\" />\n            </div>\n        </template>\n\n        <template v-if=\"permissions.canUpdateTeam\" #actions>\n            <ActionMessage :on=\"form.recentlySuccessful\" class=\"me-3\">\n                Saved.\n            </ActionMessage>\n\n            <PrimaryButton :class=\"{ 'opacity-25': form.processing }\" :disabled=\"form.processing\">\n                Save\n            </PrimaryButton>\n        </template>\n    </FormSection>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/Teams/Show.vue",
    "content": "<script setup>\nimport AppLayout from '@/Layouts/AppLayout.vue';\nimport DeleteTeamForm from '@/Pages/Teams/Partials/DeleteTeamForm.vue';\nimport SectionBorder from '@/Jetstream/SectionBorder.vue';\nimport TeamMemberManager from '@/Pages/Teams/Partials/TeamMemberManager.vue';\nimport UpdateTeamNameForm from '@/Pages/Teams/Partials/UpdateTeamNameForm.vue';\n\ndefineProps({\n    team: Object,\n    availableRoles: Array,\n    permissions: Object,\n});\n</script>\n\n<template>\n    <AppLayout title=\"Team Settings\">\n        <template #header>\n            <h2 class=\"font-semibold text-xl text-gray-800 dark:text-gray-200 leading-tight\">\n                Team Settings\n            </h2>\n        </template>\n\n        <div>\n            <div class=\"max-w-7xl mx-auto py-10 sm:px-6 lg:px-8\">\n                <UpdateTeamNameForm :team=\"team\" :permissions=\"permissions\" />\n\n                <TeamMemberManager\n                    class=\"mt-10 sm:mt-0\"\n                    :team=\"team\"\n                    :available-roles=\"availableRoles\"\n                    :user-permissions=\"permissions\"\n                />\n\n                <template v-if=\"permissions.canDeleteTeam && ! team.personal_team\">\n                    <SectionBorder />\n\n                    <DeleteTeamForm class=\"mt-10 sm:mt-0\" :team=\"team\" />\n                </template>\n            </div>\n        </div>\n    </AppLayout>\n</template>\n"
  },
  {
    "path": "resources/js/Pages/TermsOfService.vue",
    "content": "<template>\n    <Head title=\"Terms of Service\" />\n\n    <div class=\"font-sans text-gray-900 antialiased\">\n        <div class=\"pt-4 bg-gray-100\">\n            <div class=\"min-h-screen flex flex-col items-center pt-6 sm:pt-0\">\n                <div>\n                    <jet-authentication-card-logo />\n                </div>\n\n                <div v-html=\"terms\" class=\"w-full sm:max-w-2xl mt-6 p-6 bg-white shadow-md overflow-hidden sm:rounded-lg prose\">\n                </div>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script setup>\nimport { Head } from '@inertiajs/vue3';\nimport JetAuthenticationCardLogo from '@/Jetstream/AuthenticationCardLogo.vue'\n\nconst terms = `\n    <h1>Terms of Service</h1>\n    <p>Welcome to our application. By using our services, you agree to comply with and be bound by the following terms and conditions.</p>\n    <h2>Use of Services</h2>\n    <ul>\n        <li>You must follow any policies made available to you within the services.</li>\n        <li>You may not misuse our services, for example, by interfering with them or accessing them using a method other than the interface and the instructions that we provide.</li>\n    </ul>\n    <h2>Your Content</h2>\n    <p>You retain ownership of any intellectual property rights that you hold in your content. When you upload or otherwise submit content to our services, you give us (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works, communicate, publish, publicly perform, publicly display and distribute such content.</p>\n    <h2>Modifications to the Service</h2>\n    <p>We are constantly changing and improving our services. We may add or remove functionalities or features, and we may suspend or stop a service altogether.</p>\n    <h2>Termination</h2>\n    <p>We may terminate or suspend your access to the services immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms.</p>\n    <h2>Contact</h2>\n    <p>If you have any questions about these Terms, please contact us.</p>\n`;\n</script>\n"
  },
  {
    "path": "resources/js/Pages/Welcome.vue",
    "content": "<template>\n    <Head title=\"Welcome\" />\n\n    <div class=\"relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0\">\n        <div v-if=\"canLogin\" class=\"hidden fixed top-0 right-0 px-6 py-4 sm:block\">\n            <Link v-if=\"$page.props.auth.user\" :href=\"route('dashboard')\" class=\"text-sm text-gray-700 underline\">\n                Dashboard\n            </Link>\n\n            <template v-else>\n                <Link :href=\"route('login')\" class=\"text-sm text-gray-700 underline\">\n                    Log in\n                </Link>\n\n                <Link v-if=\"canRegister\" :href=\"route('register')\" class=\"ml-4 text-sm text-gray-700 underline\">\n                    Register\n                </Link>\n            </template>\n        </div>\n\n        <div class=\"max-w-6xl mx-auto sm:px-6 lg:px-8\">\n            <div class=\"flex justify-center pt-8 sm:justify-start sm:pt-0\">\n                <svg viewBox=\"0 0 651 192\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-16 w-auto text-gray-700 sm:h-20\">\n                    <g clip-path=\"url(#clip0)\" fill=\"#EF3B2D\">\n                        <path d=\"M248.032 44.676h-16.466v100.23h47.394v-14.748h-30.928V44.676zM337.091 87.202c-2.101-3.341-5.083-5.965-8.949-7.875-3.865-1.909-7.756-2.864-11.669-2.864-5.062 0-9.69.931-13.89 2.792-4.201 1.861-7.804 4.417-10.811 7.661-3.007 3.246-5.347 6.993-7.016 11.239-1.672 4.249-2.506 8.713-2.506 13.389 0 4.774.834 9.26 2.506 13.459 1.669 4.202 4.009 7.925 7.016 11.169 3.007 3.246 6.609 5.799 10.811 7.66 4.199 1.861 8.828 2.792 13.89 2.792 3.913 0 7.804-.955 11.669-2.863 3.866-1.908 6.849-4.533 8.949-7.875v9.021h15.607V78.182h-15.607v9.02zm-1.431 32.503c-.955 2.578-2.291 4.821-4.009 6.73-1.719 1.91-3.795 3.437-6.229 4.582-2.435 1.146-5.133 1.718-8.091 1.718-2.96 0-5.633-.572-8.019-1.718-2.387-1.146-4.438-2.672-6.156-4.582-1.719-1.909-3.032-4.152-3.938-6.73-.909-2.577-1.36-5.298-1.36-8.161 0-2.864.451-5.585 1.36-8.162.905-2.577 2.219-4.819 3.938-6.729 1.718-1.908 3.77-3.437 6.156-4.582 2.386-1.146 5.059-1.718 8.019-1.718 2.958 0 5.656.572 8.091 1.718 2.434 1.146 4.51 2.674 6.229 4.582 1.718 1.91 3.054 4.152 4.009 6.729.953 2.577 1.432 5.298 1.432 8.162-.001 2.863-.479 5.584-1.432 8.161zM463.954 87.202c-2.101-3.341-5.083-5.965-8.949-7.875-3.865-1.909-7.756-2.864-11.669-2.864-5.062 0-9.69.931-13.89 2.792-4.201 1.861-7.804 4.417-10.811 7.661-3.007 3.246-5.347 6.993-7.016 11.239-1.672 4.249-2.506 8.713-2.506 13.389 0 4.774.834 9.26 2.506 13.459 1.669 4.202 4.009 7.925 7.016 11.169 3.007 3.246 6.609 5.799 10.811 7.66 4.199 1.861 8.828 2.792 13.89 2.792 3.913 0 7.804-.955 11.669-2.863 3.866-1.908 6.849-4.533 8.949-7.875v9.021h15.607V78.182h-15.607v9.02zm-1.432 32.503c-.955 2.578-2.291 4.821-4.009 6.73-1.719 1.91-3.795 3.437-6.229 4.582-2.435 1.146-5.133 1.718-8.091 1.718-2.96 0-5.633-.572-8.019-1.718-2.387-1.146-4.438-2.672-6.156-4.582-1.719-1.909-3.032-4.152-3.938-6.73-.909-2.577-1.36-5.298-1.36-8.161 0-2.864.451-5.585 1.36-8.162.905-2.577 2.219-4.819 3.938-6.729 1.718-1.908 3.77-3.437 6.156-4.582 2.386-1.146 5.059-1.718 8.019-1.718 2.958 0 5.656.572 8.091 1.718 2.434 1.146 4.51 2.674 6.229 4.582 1.718 1.91 3.054 4.152 4.009 6.729.953 2.577 1.432 5.298 1.432 8.162 0 2.863-.479 5.584-1.432 8.161zM650.772 44.676h-15.606v100.23h15.606V44.676zM365.013 144.906h15.607V93.538h26.776V78.182h-42.383v66.724zM542.133 78.182l-19.616 51.096-19.616-51.096h-15.808l25.617 66.724h19.614l25.617-66.724h-15.808zM591.98 76.466c-19.112 0-34.239 15.706-34.239 35.079 0 21.416 14.641 35.079 36.239 35.079 12.088 0 19.806-4.622 29.234-14.688l-10.544-8.158c-.006.008-7.958 10.449-19.832 10.449-13.802 0-19.612-11.127-19.612-16.884h51.777c2.72-22.043-11.772-40.877-33.023-40.877zm-18.713 29.28c.12-1.284 1.917-16.884 18.589-16.884 16.671 0 18.697 15.598 18.813 16.884h-37.402zM184.068 43.892c-.024-.088-.073-.165-.104-.25-.058-.157-.108-.316-.191-.46-.056-.097-.137-.176-.203-.265-.087-.117-.161-.242-.265-.345-.085-.086-.194-.148-.29-.223-.109-.085-.206-.182-.327-.252l-.002-.001-.002-.002-35.648-20.524a2.971 2.971 0 00-2.964 0l-35.647 20.522-.002.002-.002.001c-.121.07-.219.167-.327.252-.096.075-.205.138-.29.223-.103.103-.178.228-.265.345-.066.089-.147.169-.203.265-.083.144-.133.304-.191.46-.031.085-.08.162-.104.25-.067.249-.103.51-.103.776v38.979l-29.706 17.103V24.493a3 3 0 00-.103-.776c-.024-.088-.073-.165-.104-.25-.058-.157-.108-.316-.191-.46-.056-.097-.137-.176-.203-.265-.087-.117-.161-.242-.265-.345-.085-.086-.194-.148-.29-.223-.109-.085-.206-.182-.327-.252l-.002-.001-.002-.002L40.098 1.396a2.971 2.971 0 00-2.964 0L1.487 21.919l-.002.002-.002.001c-.121.07-.219.167-.327.252-.096.075-.205.138-.29.223-.103.103-.178.228-.265.345-.066.089-.147.169-.203.265-.083.144-.133.304-.191.46-.031.085-.08.162-.104.25-.067.249-.103.51-.103.776v122.09c0 1.063.568 2.044 1.489 2.575l71.293 41.045c.156.089.324.143.49.202.078.028.15.074.23.095a2.98 2.98 0 001.524 0c.069-.018.132-.059.2-.083.176-.061.354-.119.519-.214l71.293-41.045a2.971 2.971 0 001.489-2.575v-38.979l34.158-19.666a2.971 2.971 0 001.489-2.575V44.666a3.075 3.075 0 00-.106-.774zM74.255 143.167l-29.648-16.779 31.136-17.926.001-.001 34.164-19.669 29.674 17.084-21.772 12.428-43.555 24.863zm68.329-76.259v33.841l-12.475-7.182-17.231-9.92V49.806l12.475 7.182 17.231 9.92zm2.97-39.335l29.693 17.095-29.693 17.095-29.693-17.095 29.693-17.095zM54.06 114.089l-12.475 7.182V46.733l17.231-9.92 12.475-7.182v74.537l-17.231 9.921zM38.614 7.398l29.693 17.095-29.693 17.095L8.921 24.493 38.614 7.398zM5.938 29.632l12.475 7.182 17.231 9.92v79.676l.001.005-.001.006c0 .114.032.221.045.333.017.146.021.294.059.434l.002.007c.032.117.094.222.14.334.051.124.088.255.156.371a.036.036 0 00.004.009c.061.105.149.191.222.288.081.105.149.22.244.314l.008.01c.084.083.19.142.284.215.106.083.202.178.32.247l.013.005.011.008 34.139 19.321v34.175L5.939 144.867V29.632h-.001zm136.646 115.235l-65.352 37.625V148.31l48.399-27.628 16.953-9.677v33.862zm35.646-61.22l-29.706 17.102V66.908l17.231-9.92 12.475-7.182v33.841z\"/>\n                    </g>\n                </svg>\n            </div>\n\n            <div class=\"mt-8 bg-white dark:bg-gray-800 overflow-hidden shadow sm:rounded-lg\">\n                <div class=\"grid grid-cols-1 md:grid-cols-2\">\n                    <div class=\"p-6\">\n                        <div class=\"flex items-center\">\n                            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\" class=\"w-8 h-8 text-gray-500\"><path d=\"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253\"></path></svg>\n                            <div class=\"ml-4 text-lg leading-7 font-semibold\"><a href=\"https://laravel.com/docs\" class=\"underline text-gray-900 dark:text-white\">Documentation</a></div>\n                        </div>\n\n                        <div class=\"ml-12\">\n                            <div class=\"mt-2 text-gray-600 dark:text-gray-400 text-sm\">\n                                Laravel has wonderful, thorough documentation covering every aspect of the framework. Whether you are new to the framework or have previous experience with Laravel, we recommend reading all of the documentation from beginning to end.\n                            </div>\n                        </div>\n                    </div>\n\n                    <div class=\"p-6 border-t border-gray-200 dark:border-gray-700 md:border-t-0 md:border-l\">\n                        <div class=\"flex items-center\">\n                            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\" class=\"w-8 h-8 text-gray-500\"><path d=\"M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z\"></path><path d=\"M15 13a3 3 0 11-6 0 3 3 0 016 0z\"></path></svg>\n                            <div class=\"ml-4 text-lg leading-7 font-semibold\"><a href=\"https://laracasts.com\" class=\"underline text-gray-900 dark:text-white\">Laracasts</a></div>\n                        </div>\n\n                        <div class=\"ml-12\">\n                            <div class=\"mt-2 text-gray-600 dark:text-gray-400 text-sm\">\n                                Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.\n                            </div>\n                        </div>\n                    </div>\n\n                    <div class=\"p-6 border-t border-gray-200 dark:border-gray-700\">\n                        <div class=\"flex items-center\">\n                            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\" class=\"w-8 h-8 text-gray-500\"><path d=\"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z\"></path></svg>\n                            <div class=\"ml-4 text-lg leading-7 font-semibold\"><a href=\"https://laravel-news.com/\" class=\"underline text-gray-900 dark:text-white\">Laravel News</a></div>\n                        </div>\n\n                        <div class=\"ml-12\">\n                            <div class=\"mt-2 text-gray-600 dark:text-gray-400 text-sm\">\n                                Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials.\n                            </div>\n                        </div>\n                    </div>\n\n                    <div class=\"p-6 border-t border-gray-200 dark:border-gray-700 md:border-l\">\n                        <div class=\"flex items-center\">\n                            <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\" class=\"w-8 h-8 text-gray-500\"><path d=\"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"></path></svg>\n                            <div class=\"ml-4 text-lg leading-7 font-semibold text-gray-900 dark:text-white\">Vibrant Ecosystem</div>\n                        </div>\n\n                        <div class=\"ml-12\">\n                            <div class=\"mt-2 text-gray-600 dark:text-gray-400 text-sm\">\n                                Laravel's robust library of first-party tools and libraries, such as <a href=\"https://forge.laravel.com\" class=\"underline\">Forge</a>, <a href=\"https://vapor.laravel.com\" class=\"underline\">Vapor</a>, <a href=\"https://nova.laravel.com\" class=\"underline\">Nova</a>, and <a href=\"https://envoyer.io\" class=\"underline\">Envoyer</a> help you take your projects to the next level. Pair them with powerful open source libraries like <a href=\"https://laravel.com/docs/billing\" class=\"underline\">Cashier</a>, <a href=\"https://laravel.com/docs/dusk\" class=\"underline\">Dusk</a>, <a href=\"https://laravel.com/docs/broadcasting\" class=\"underline\">Echo</a>, <a href=\"https://laravel.com/docs/horizon\" class=\"underline\">Horizon</a>, <a href=\"https://laravel.com/docs/sanctum\" class=\"underline\">Sanctum</a>, <a href=\"https://laravel.com/docs/telescope\" class=\"underline\">Telescope</a>, and more.\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"flex justify-center mt-4 sm:items-center sm:justify-between\">\n                <div class=\"text-center text-sm text-gray-500 sm:text-left\">\n                    <div class=\"flex items-center\">\n                        <svg fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" class=\"-mt-px w-5 h-5 text-gray-400\">\n                            <path d=\"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z\"></path>\n                        </svg>\n\n                        <a href=\"https://laravel.bigcartel.com\" class=\"ml-1 underline\">\n                            Shop\n                        </a>\n\n                        <svg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\" class=\"ml-4 -mt-px w-5 h-5 text-gray-400\">\n                            <path d=\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\"></path>\n                        </svg>\n\n                        <a href=\"https://github.com/sponsors/taylorotwell\" class=\"ml-1 underline\">\n                            Sponsor\n                        </a>\n                    </div>\n                </div>\n\n                <div class=\"ml-4 text-center text-sm text-gray-500 sm:text-right sm:ml-0\">\n                    Laravel v{{ laravelVersion }} (PHP v{{ phpVersion }})\n                </div>\n            </div>\n        </div>\n    </div>\n</template>\n\n<style scoped>\n    .bg-gray-100 {\n        background-color: #f7fafc;\n        background-color: rgba(247, 250, 252, var(--tw-bg-opacity));\n    }\n\n    .border-gray-200 {\n        border-color: #edf2f7;\n        border-color: rgba(237, 242, 247, var(--tw-border-opacity));\n    }\n\n    .text-gray-400 {\n        color: #cbd5e0;\n        color: rgba(203, 213, 224, var(--tw-text-opacity));\n    }\n\n    .text-gray-500 {\n        color: #a0aec0;\n        color: rgba(160, 174, 192, var(--tw-text-opacity));\n    }\n\n    .text-gray-600 {\n        color: #718096;\n        color: rgba(113, 128, 150, var(--tw-text-opacity));\n    }\n\n    .text-gray-700 {\n        color: #4a5568;\n        color: rgba(74, 85, 104, var(--tw-text-opacity));\n    }\n\n    .text-gray-900 {\n        color: #1a202c;\n        color: rgba(26, 32, 44, var(--tw-text-opacity));\n    }\n\n    @media (prefers-color-scheme: dark) {\n        .dark\\:bg-gray-800 {\n            background-color: #2d3748;\n            background-color: rgba(45, 55, 72, var(--tw-bg-opacity));\n        }\n\n        .dark\\:bg-gray-900 {\n            background-color: #1a202c;\n            background-color: rgba(26, 32, 44, var(--tw-bg-opacity));\n        }\n\n        .dark\\:border-gray-700 {\n            border-color: #4a5568;\n            border-color: rgba(74, 85, 104, var(--tw-border-opacity));\n        }\n\n        .dark\\:text-white {\n            color: #fff;\n            color: rgba(255, 255, 255, var(--tw-text-opacity));\n        }\n\n        .dark\\:text-gray-400 {\n            color: #cbd5e0;\n            color: rgba(203, 213, 224, var(--tw-text-opacity));\n        }\n    }\n</style>\n\n<script>\n    import { defineComponent } from 'vue'\n    import { Head, Link } from '@inertiajs/vue3';\n\n    export default defineComponent({\n        components: {\n            Head,\n            Link,\n        },\n\n        props: {\n            canLogin: Boolean,\n            canRegister: Boolean,\n            laravelVersion: String,\n            phpVersion: String,\n        }\n    })\n</script>\n"
  },
  {
    "path": "resources/js/Sources/authScreenDesigns.js",
    "content": "const authDesigns = [\n    {\n        id: 'violetDream',\n        bgColor: ['bg-gradient-to-tl', 'from-violet-300','via-pink-400' , 'to-amber-300' ,'dark:bg-violet-400'],\n        bgImage: {\n            dark: 'https://unsplash.com/photos/DKDFBtmZSz8/download?force=true&w=1920',\n            light: 'https://unsplash.com/photos/nY14Fs8pxT8/download?force=true&w=1920',\n        },\n        logo: {\n            dark: '/img/light-logo.svg',\n            light: '/img/light-logo.svg'\n        },\n        header: ['bg-gradient-to-tl', 'from-violet-500','to-pink-600' , 'border-b-2', 'border-purple-800/50', 'dark:border-rose-700', 'dark:from-yellow-700/75', 'dark:via-rose-800/75', 'dark:to-violet-800/50', 'text-slate-100', 'dark:text-violet-100'],\n        body: ['bg-white/50','dark:bg-slate-800/50'],\n        radius: 3,\n        login: {\n            loginButton: {\n                dark: {\n                    design: 'filled',\n                    color: 'pink'\n                },\n                light: {\n                    design: 'light',\n                    color: 'pink'\n                }\n            },\n            registerButton: {\n                dark: {\n                    design: 'link',\n                    color: 'light'\n                },\n                light: {\n                    design: 'link',\n                    color: 'pink'\n                }\n            },\n        },\n        register: {\n            loginButton: {\n                dark: {\n                    design: 'link',\n                    color: 'light'\n                },\n                light: {\n                    design: 'link',\n                    color: 'pink'\n                }\n            },\n            registerButton: {\n                dark: {\n                    design: 'filled',\n                    color: 'pink'\n                },\n                light: {\n                    design: 'light',\n                    color: 'pink'\n                }\n            },\n        },\n        forgotPassword: {\n            sendButton: {\n                dark: {\n                    design: 'filled',\n                    color: 'pink'\n                },\n                light: {\n                    design: 'light',\n                    color: 'pink'\n                }\n            },\n            backButton: {\n                dark: {\n                    design: 'link',\n                    color: 'light'\n                },\n                light: {\n                    design: 'link',\n                    color: 'pink'\n                }\n            },\n        },\n        lock: {\n            reLoginButton: {\n                dark: {\n                    design: 'filled',\n                    color: 'pink'\n                },\n                light: {\n                    design: 'light',\n                    color: 'pink'\n                }\n            },\n        }\n    },\n    {\n        id: 'mountains',\n        bgColor: ['bg-blue-500', 'dark:bg-blue-800'],\n        bgImage: {\n            dark: 'https://unsplash.com/photos/JgOeRuGD_Y4/download?force=true&w=1920',\n            light: 'https://unsplash.com/photos/CSpjU6hYo_0/download?force=true&w=1920'\n        },\n        logo: {\n            dark: null,\n            light: '/img/brown-logo.svg'\n        },\n        header: ['bg-sky-100/75', 'dark:bg-red-800/20', 'text-yellow-800', 'dark:text-violet-100'],\n        body: ['bg-slate-100/75','dark:bg-slate-800/50'],\n        radius: 3,\n        login: {\n            loginButton: {\n                dark: {\n                    design: 'filled',\n                    color: 'red'\n                },\n                light: {\n                    design: 'filled',\n                    color: 'yellow'\n                }\n            },\n            registerButton: {\n                dark: {\n                    design: 'link',\n                    color: 'light'\n                },\n                light: {\n                    design: 'link',\n                    color: 'yellow'\n                }\n            },\n        },\n        register: {\n            loginButton: {\n                dark: {\n                    design: 'link',\n                    color: 'light'\n                },\n                light: {\n                    design: 'link',\n                    color: 'yellow'\n                }\n            },\n            registerButton: {\n                dark: {\n                    design: 'filled',\n                    color: 'red'\n                },\n                light: {\n                    design: 'filled',\n                    color: 'yellow'\n                }\n            },\n        },\n        forgotPassword: {\n            sendButton: {\n                dark: {\n                    design: 'filled',\n                    color: 'red'\n                },\n                light: {\n                    design: 'filled',\n                    color: 'yellow'\n                }\n            },\n            backButton: {\n                dark: {\n                    design: 'link',\n                    color: 'light'\n                },\n                light: {\n                    design: 'link',\n                    color: 'yellow'\n                }\n            },\n        },\n        lock: {\n            reLoginButton: {\n                dark: {\n                    design: 'filled',\n                    color: 'red'\n                },\n                light: {\n                    design: 'filled',\n                    color: 'yellow'\n                }\n            },\n        }\n    }\n]\n\nexport {authDesigns}\n"
  },
  {
    "path": "resources/js/Sources/icons.js",
    "content": "/*Import FontAwesomeIcon*/\nimport {library} from \"@fortawesome/fontawesome-svg-core\";\nimport {\n    faTv,\n    faPlug,\n    faWindowRestore,\n    faChartBar,\n    faTable,\n    faWindowMaximize,\n    faLayerGroup,\n    faGripHorizontal,\n    faEdit,\n    faRetweet,\n    faClock,\n    faCode,\n    faQuestion,\n    faCog,\n    faStar,\n    faChevronDown,\n    faEllipsisVertical\n} from \"@fortawesome/free-solid-svg-icons\";\n\n\nlibrary.add(\n    faTv,\n    faPlug,\n    faWindowRestore,\n    faChartBar,\n    faTable,\n    faWindowMaximize,\n    faLayerGroup,\n    faGripHorizontal,\n    faEdit,\n    faRetweet,\n    faClock,\n    faCode,\n    faQuestion,\n    faCog,\n    faStar,\n    faChevronDown,\n    faEllipsisVertical\n)\n"
  },
  {
    "path": "resources/js/Sources/mainMenuLinks.js",
    "content": "/* Multi-language */\nimport {useI18n} from \"vue-i18n\";\nimport {mainMenuTranslates} from \"@/Lang/languages\";\nimport {computed} from \"vue\";\n\nexport default function ({roles,permissions}) {\n\n    const {tm} = useI18n({\n        inheritLocale: true,\n        messages: mainMenuTranslates\n    })\n\n    /*Main Menu Links*/\n    const mainMenuLinks = computed(()=>{\n        return [\n            {\n                id: \"externalGitHubRepo\",\n                label:  tm(\"externalGitHubRepo\"),\n                icon: \"star\",\n                link: \"https://github.com/sinan-aydogan/anemon-laravel\",\n                type: \"simple-link\",\n                target: \"_blank\",\n                visibleFor: roles.includes('Super Admin'),\n            },\n            {\n                id: \"authPages\",\n                label:  tm(\"authPages\"),\n                icon: \"tv\",\n                link: null,\n                type: \"dropdown\",\n                links: [\n                    {\n                        id:\"authLogin\",\n                        label:  tm(\"authLogin\"),\n                        icon: null,\n                        link: \"login-app\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"authRegister\",\n                        label:  tm(\"authRegister\"),\n                        icon: null,\n                        link: \"register-app\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"authForgotPassword\",\n                        label:  tm(\"authForgotPassword\"),\n                        icon: null,\n                        link: \"forgot-password-app\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"authLockScreen\",\n                        label:  tm(\"authLockScreen\"),\n                        icon: null,\n                        link: \"lock-app\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"authProfile\",\n                        label:  tm(\"authProfile\"),\n                        icon: null,\n                        link: \"profile.show\",\n                        type: \"route\"\n                    }\n                ]\n            },\n            {\n                id: \"components\",\n                label:  tm(\"components\"),\n                icon: \"plug\",\n                link: null,\n                type: \"dropdown\",\n                links: [\n                    {\n                        id: \"componentAlert\",\n                        label:  tm(\"componentAlert\"),\n                        icon: null,\n                        link: \"alert\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentAvatar\",\n                        label:  tm(\"componentAvatar\"),\n                        icon: null,\n                        link: \"avatar\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentBadge\",\n                        label:  tm(\"componentBadge\"),\n                        icon: null,\n                        link: \"badge\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentBreadcrumb\",\n                        label:  tm(\"componentBreadcrumb\"),\n                        icon: null,\n                        link: \"breadcrumb\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentButton\",\n                        label:  tm(\"componentButton\"),\n                        icon: null,\n                        link: \"button\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentCollapsible\",\n                        label:  tm(\"componentCollapsible\"),\n                        icon: null,\n                        link: \"collapsible\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentDropdown\",\n                        label:  tm(\"componentDropdown\"),\n                        icon: null,\n                        link: \"dropdown\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentList\",\n                        label:  tm(\"componentList\"),\n                        icon: null,\n                        link: \"list\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentLoading\",\n                        label:  tm(\"componentLoading\"),\n                        icon: null,\n                        link: \"loading\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentModal\",\n                        label:  tm(\"componentModal\"),\n                        icon: null,\n                        link: \"modal\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentProgressBar\",\n                        label:  tm(\"componentProgressBar\"),\n                        icon: null,\n                        link: \"progress\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentStatisticWidget\",\n                        label:  tm(\"componentStatisticWidget\"),\n                        icon: \"chart-bar\",\n                        link: \"layout-statistic-widget\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentTab\",\n                        label:  tm(\"componentTab\"),\n                        icon: null,\n                        link: \"tab\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"componentTable\",\n                        label:  tm(\"componentTable\"),\n                        icon: \"table\",\n                        link: null,\n                        type: \"dropdown\",\n                        links: [\n                            {\n                                id: \"componentTableJson\",\n                                label:  tm(\"componentTableJson\"),\n                                icon: null,\n                                link: \"table\",\n                                type: \"route\"\n                            },\n                            {\n                                id: \"componentTableBackend\",\n                                label:  tm(\"componentTableBackend\"),\n                                icon: null,\n                                link: \"back-end-table\",\n                                type: \"route\"\n                            },\n                            {\n                                id: \"componentPagination\",\n                                label:  tm(\"componentPagination\"),\n                                icon: null,\n                                link: \"pagination\",\n                                type: \"route\"\n                            }\n                        ]\n                    },\n                    {\n                        id: \"componentTooltip\",\n                        label:  tm(\"componentTooltip\"),\n                        icon: null,\n                        link: \"tooltip\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"layoutElements\",\n                        label:  tm(\"layoutElements\"),\n                        icon: \"window-maximize\",\n                        link: null,\n                        type: \"dropdown\",\n                        links: [\n                            {\n                                id: \"layoutStructure\",\n                                label:  tm(\"layoutStructure\"),\n                                icon: \"layer-group\",\n                                link: \"layout-structure\",\n                                type: \"route\"\n                            },\n                            {\n                                id: \"layoutGrid\",\n                                label:  tm(\"layoutGrid\"),\n                                icon: \"grip-horizontal\",\n                                link: \"layout-grid\",\n                                type: \"route\"\n                            },\n                            {\n                                id: \"componentContentBox\",\n                                label:  tm(\"componentContentBox\"),\n                                icon: \"window-restore\",\n                                link: \"content-box\",\n                                type: \"route\"\n                            },\n                        ]\n                    },\n                ]\n            },\n            {\n                id: \"formElements\",\n                label:  tm(\"formElements\"),\n                icon: \"edit\",\n                link: null,\n                type: \"dropdown\",\n                links: [\n                    {\n                        id: \"formStructure\",\n                        label:  tm(\"formStructure\"),\n                        icon: null,\n                        link: \"form-structure\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"formInputGroup\",\n                        label:  tm(\"formInputGroup\"),\n                        icon: null,\n                        link: \"form-input-group\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"formSimpleInputs\",\n                        label:  tm(\"formSimpleInputs\"),\n                        icon: null,\n                        link: \"form-simple-field\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"formRepeatableInput\",\n                        label:  tm(\"formRepeatableInput\"),\n                        icon: \"retweet\",\n                        link: \"form-repeatable-field\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"formDateTimeInput\",\n                        label:  tm(\"formDateTimeInput\"),\n                        icon: \"clock\",\n                        link: \"form-date-field\",\n                        type: \"route\"\n                    },\n                    {\n                        id: \"formSelectInput\",\n                        label:  tm(\"formSelectInput\"),\n                        icon: null,\n                        link: \"form-select-input\",\n                        type: \"route\"\n                    }\n                ]\n            },\n            {\n                id: \"externalSources\",\n                label:  tm(\"externalSources\"),\n                icon: \"code\",\n                type: \"dropdown\",\n                links: [\n                    {\n                        id: \"externalLaravelDocument\",\n                        label:  tm(\"externalLaravelDocument\"),\n                        icon: null,\n                        link: \"https://laravel.com/docs\",\n                        type: \"simple-link\",\n                        target: \"_blank\"\n                    },\n                    {\n                        id: \"externalInertiaDocument\",\n                        label:  tm(\"externalInertiaDocument\"),\n                        icon: null,\n                        link: \"https://inertiajs.com/\",\n                        type: \"simple-link\",\n                        target: \"_blank\"\n                    },\n                    {\n                        id: \"externalVuejsDocument\",\n                        label:  tm(\"externalVuejsDocument\"),\n                        icon: null,\n                        link: \"https://v3.vuejs.org/\",\n                        type: \"simple-link\",\n                        target: \"_blank\"\n                    },\n                    {\n                        id: \"externalTailwindcssDocument\",\n                        label:  tm(\"externalTailwindcssDocument\"),\n                        icon: null,\n                        link: \"https://tailwindcss.com/docs\",\n                        type: \"simple-link\",\n                        target: \"_blank\"\n                    }\n                ]\n            }\n        ]\n    });\n\n    /*Main Menu Footer*/\n    const mainMenuFooterLinks = computed(()=>{\n        return [\n            {\n                id: \"footerHelp\",\n                label:  tm(\"footerHelp\"),\n                linkType: \"simple-link\",\n                link: \"https://github.com/sinan-aydogan\",\n                icon: \"question\",\n                target: \"_blank\"\n            },\n            {\n                id: \"footerSettings\",\n                label:  tm(\"footerSettings\"),\n                showWhenFolded: true,\n                linkType: \"route\",\n                link: \"settings\",\n                icon: \"cog\"\n            }\n        ]\n    });\n\n    return {mainMenuLinks, mainMenuFooterLinks}\n\n};\n"
  },
  {
    "path": "resources/js/Stores/darkMode.js",
    "content": "import { defineStore } from \"pinia\";\nimport { onBeforeMount, ref, watch } from \"vue\";\n\nexport const useDarkModeStore = defineStore('darkMode',()=>{\n    /*Dark Mode*/\n    const darkMode = ref(\"auto\");\n    const appearingMode = ref(\"auto\");\n\n    /*Dark Mode: Check Local Variables*/\n    onBeforeMount(() => {\n        if (localStorage.theme === \"dark\") {\n            makeDark();\n            darkMode.value = \"dark\";\n        } else if (localStorage.theme === \"light\") {\n            makeLight();\n            darkMode.value = \"light\";\n        } else {\n            makeAuto();\n            darkMode.value = \"auto\";\n        }\n    });\n\n    /*Dark Mode: Set Functions*/\n    const makeDark = () => {\n        document.documentElement.classList.add(\"dark\");\n        document.documentElement.classList.remove(\"light\");\n        document.documentElement.classList.remove(\"auto\");\n        appearingMode.value = \"dark\";\n    };\n    const makeLight = () => {\n        document.documentElement.classList.add(\"light\");\n        document.documentElement.classList.remove(\"dark\");\n        document.documentElement.classList.remove(\"auto\");\n        appearingMode.value = \"light\";\n    };\n\n    const makeAuto = () => {\n        let darkMedia = window.matchMedia(\"(prefers-color-scheme: dark)\");\n        const changeAutoTheme = () => {\n            if (darkMedia.matches) {\n                makeDark();\n                appearingMode.value = \"dark\";\n            } else {\n                makeLight();\n                appearingMode.value = \"light\";\n            }\n        };\n        changeAutoTheme();\n        darkMedia.onchange = () => {\n            changeAutoTheme();\n        };\n    };\n    const darkModeStorage = () => {\n        localStorage.setItem(\"theme\", darkMode.value);\n    };\n    /*Dark Mode: Watch*/\n    watch(darkMode, () => {\n        if (darkMode.value === \"dark\") {\n            makeDark();\n            darkModeStorage();\n        } else if (darkMode.value === \"light\") {\n            makeLight();\n            darkModeStorage();\n        } else {\n            makeAuto();\n            localStorage.setItem(\"theme\", \"auto\");\n        }\n    });\n\n    /* Change Dark Mode */\n    const changeTheme = () => {\n        if (darkMode.value === \"light\") {\n            darkMode.value = \"dark\";\n        } else if (darkMode.value === \"dark\") {\n            darkMode.value = \"auto\";\n        } else {\n            darkMode.value = \"light\";\n        }\n    };\n    /*Change Dark Mode with user value*/\n    const changeThemeUser = (value) => {\n        darkMode.value = value;\n    };\n\n    return { darkMode, appearingMode, changeTheme, changeThemeUser };\n})\n"
  },
  {
    "path": "resources/js/Stores/displayLanguage.js",
    "content": "import { defineStore } from \"pinia\";\nimport { onBeforeMount, ref } from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nimport { router } from \"@inertiajs/vue3\";\n\nexport const useDisplayLanguageStore = defineStore(\"displayLanguage\", () => {\n    /*Language Selector*/\n    const loadingTranslations = ref(false);\n\n    const { locale } = useI18n({\n        useScope: \"global\",\n        missingWarn: false,\n        warnHtmlMessage: false,\n        fallbackWarn: false\n    });\n\n    onBeforeMount(() => {\n        if (localStorage.lang) {\n            locale.value = localStorage.lang;\n        }\n    });\n    const changeLang = (key) => {\n        locale.value = key;\n        localStorage.setItem(\"lang\", key);\n        router.visit(route(\"lang\", key), {\n            onStart: () => (loadingTranslations.value = true),\n            onSuccess: () => (loadingTranslations.value = false),\n            preserveScroll: true\n        });\n    };\n\n    return { locale, loadingTranslations, changeLang };\n})\n"
  },
  {
    "path": "resources/js/Stores/exampleStore.js",
    "content": "import { defineStore } from \"pinia\";\n\nexport const useCounterStore = defineStore(\"counter\", {\n  state: () => ({\n    counter: 0,\n  }),\n  getters: {\n    doubleCount: (state) => state.counter * 2,\n  },\n  actions: {\n    increment() {\n      this.counter++;\n    },\n  },\n});\n"
  },
  {
    "path": "resources/js/Stores/index.js",
    "content": "import { createPinia } from 'pinia'\n\nexport default ()=>{\n    const pinia = createPinia()\n\n    return pinia\n}\n"
  },
  {
    "path": "resources/js/app.js",
    "content": "import './bootstrap';\nimport '../css/app.css';\n\nimport { createApp, h } from 'vue';\nimport { createInertiaApp } from '@inertiajs/vue3';\nimport { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers';\nimport { ZiggyVue } from '../../vendor/tightenco/ziggy';\n\n/* FontAwesome */\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport \"@/Sources/icons\";\n\n/* Multi-language */\nimport { createI18n } from \"vue-i18n\";\nimport generalLangBg from \"@/Lang/bg/general_lang_bg\";\nimport generalLangDe from \"@/Lang/de/general_lang_de\";\nimport generalLangEn from \"@/Lang/en/general_lang_en\";\nimport generalLangFr from \"@/Lang/fr/general_lang_fr\";\nimport generalLangRu from \"@/Lang/ru/general_lang_ru\";\nimport generalLangTr from \"@/Lang/tr/general_lang_tr\";\nimport generalLangZh from \"@/Lang/zh/general_lang_zh\";\n\nconst i18n = createI18n({\n    legacy: false,\n    locale: \"en\",\n    fallbackLocale: \"en\",\n    fallbackRoot: \"en\",\n    messages: {\n        bg: generalLangBg,\n        de: generalLangDe,\n        en: generalLangEn,\n        fr: generalLangFr,\n        ru: generalLangRu,\n        tr: generalLangTr,\n        zh: generalLangZh,\n    },\n});\n\n/* Highlighter */\nimport VueHighlightJS from 'vue3-highlightjs'\n\n/* Pinia */\nimport setupPinia from './Stores';\n\nconst appName = import.meta.env.VITE_APP_NAME || 'TailAdmin';\n\ncreateInertiaApp({\n    title: (title) => `${title} - ${appName}`,\n    resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')),\n    setup({ el, App, props, plugin }) {\n        return createApp({ render: () => h(App, props) })\n            .use(plugin)\n            .use(i18n)\n            .use(setupPinia())\n            .use(VueHighlightJS)\n            .component(\"icon\", FontAwesomeIcon)\n            .use(ZiggyVue)\n            .mount(el);\n    },\n    progress: {\n        color: '#4B5563',\n    },\n});\n"
  },
  {
    "path": "resources/js/bootstrap.js",
    "content": "import axios from 'axios';\nwindow.axios = axios;\n\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n"
  },
  {
    "path": "resources/js/config.js",
    "content": "/*Default Settings*/\nconst appConf = {\n    appName: 'TailAdmin',\n    catchPhrase: 'Peace at Home, Peace in the World',\n    logo: {\n      dark: '/img/dark-logo.svg',\n      light: '/img/light-logo.svg'\n    },\n    logoAreaClasses: null,\n    appNameClasses: null,\n    logoClasses: null,\n    radius: 3,\n    mainMenuDesign: 'umay'\n};\n\n/*Layout Settings*/\nconst authScreenConf = {\n    appName: null,\n    logo: {\n        dark: null,\n        light: null,\n    },\n    logoAreaClasses: ['flex', 'flex-col', 'justify-center', 'items-center', 'space-x-2', 'min-w-[25rem]'],\n    appNameClasses: ['text-3xl', 'font-semibold'],\n    logoClasses: ['w-12', 'text-white', 'h-auto'],\n    showDesignChanger: true,\n    showDarkModeSelector: true,\n    showLanguageSelector: true,\n};\n\nconst mainMenuConf = {\n    /*Logo Area*/\n    appName: null,\n    catchPhrase: null,\n    umay: {\n        logo: {\n            dark: '/img/dark-logo.svg',\n            light: '/img/dark-logo.svg',\n        },\n        logoAreaRadius: null,\n        logoAreaClasses: ['flex', 'flex-col', 'justify-center', 'items-center', 'space-x-6', 'bg-blue-500'],\n        appNameClasses: ['text-6xl', 'font-semibold', 'text-white'],\n        logoClasses: ['w-10', 'text-white', 'h-auto'],\n        /*Menu*/\n        menuRadius: 3,\n        rootLinkClasses: {\n            activeBg: ['border', 'border-slate-400/30'],\n            normal: ['hover:bg-sky-200', 'hover:text-sky-800'],\n            active: ['text-white', 'bg-sky-500/75', 'hover:bg-sky-400', 'hover:text-sky-800'],\n        },\n        secondLinkClasses: {\n            activeBg: [],\n            normal: ['hover:bg-sky-200/10', 'hover:text-sky-400','hover:text-slate-800'],\n            active: ['bg-slate-600', 'hover:bg-sky-500/20'],\n        },\n        thirdLinkClasses: {\n            activeBg: ['border', 'bg-emerald-500/20', 'border-slate-500/50'],\n            normal: ['hover:bg-emerald-200', 'hover:text-emerald-800'],\n            active: ['text-white', 'bg-emerald-500', 'hover:bg-emerald-600'],\n        },\n    },\n    abay: {\n        logo: {\n            dark: '/img/rose-logo.svg',\n            light: '/img/rose-logo.svg',\n        },\n        logoAreaRadius: null,\n        logoAreaClasses: ['flex', 'flex-col', 'justify-center', 'items-center', 'space-x-6', 'bg-blue-500'],\n        appNameClasses: ['text-6xl', 'font-semibold', 'text-white'],\n        logoClasses: ['w-10', 'text-white', 'h-auto'],\n        /*Menu*/\n        menuRadius: 3,\n        rootLinkClasses: {\n            activeBg: ['border', 'border-slate-400/30'],\n            normal: ['hover:bg-sky-200', 'hover:text-sky-800'],\n            active: ['text-white', 'bg-sky-500/75', 'hover:bg-sky-400', 'hover:text-sky-800'],\n        },\n        secondLinkClasses: {\n            activeBg: [],\n            normal: ['hover:bg-sky-200/10', 'hover:text-sky-400','hover:text-slate-800'],\n            active: ['text-sky-400', 'bg-slate-600', 'hover:bg-sky-500/20'],\n        },\n        thirdLinkClasses: {\n            activeBg: ['border', 'bg-emerald-500/20', 'border-slate-500/50'],\n            normal: ['hover:bg-emerald-200', 'hover:text-emerald-800'],\n            active: ['text-white', 'bg-emerald-500', 'hover:bg-emerald-600'],\n        },\n    }\n};\n\nconst topBarConf = {\n    radius: null,\n    languageSelector: true,\n    darkModeSelector: true,\n    searchPlaceHolderText: 'type and search'\n};\n\nconst footerConf = {\n    visible: true,\n    content: \"<a\\n\" +\n        \"              class=\\\"text-blue-600 hover:underline\\\"\\n\" +\n        \"              href=\\\"https://tailadmin.dev/\\\"\\n\" +\n        \"              target=\\\"_blank\\\"\\n\" +\n        \"            >\\n\" +\n        \"              TailAdmin v2\\n\" +\n        \"              </a>\\n\" +\n        \"            <span>by</span>\\n\" +\n        \"            <a\\n\" +\n        \"              class=\\\"text-teal-400 hover:underline\\\"\\n\" +\n        \"              href=\\\"https://github.com/sinan-aydogan\\\"\\n\" +\n        \"              target=\\\"_blank\\\"\\n\" +\n        \"            >\\n\" +\n        \"              Sinan AYDOĞAN\\n\" +\n        \"            </a>\"\n};\n\n/*Module Settings*/\nconst alertConf = {\n    design: 'filled',\n    color: 'light',\n    radius: null,\n    closeable: false,\n    timer: 4000\n};\n\nconst avatarConf = {\n    defaultPhotoSrc: '/img/samples/dummyAvatar.svg',\n    size: 3,\n    radius: null,\n};\n\nconst badgeConf = {\n    color: 'light',\n    design: 'filled',\n    radius: 5,\n};\n\nconst formContentConf = {\n    radius: null\n};\n\nconst inputDateConf = {\n    radius: null\n};\n\nexport {\n    appConf,\n    /*Layout*/\n    authScreenConf,\n    mainMenuConf,\n    topBarConf,\n    footerConf,\n    /*Component*/\n    alertConf,\n    avatarConf,\n    badgeConf,\n    formContentConf,\n    inputDateConf\n}\n\n"
  },
  {
    "path": "resources/js/language.js",
    "content": "const messages = {\n    en: {\n        component: {\n            input: {\n                select:{\n                    select: 'Select',\n                    search: 'Search...',\n                    manyResults: 'You\\'re looking {showingMaxOptions} options from {totalOptions}, please search...',\n                    addSource: 'Please add a source'\n                }\n            }\n        },\n        auth: {},\n        topMenu: {\n            notification: {},\n            userMenu: {\n                manageAccount: \"Manage Account\",\n                manageTeam: \"Manage Team\",\n                switchTeams: \"Switch Team\",\n                language: \"Language\",\n                darkMode: \"Dark Mode\",\n                profile: \"Profile\",\n                api: \"API Tokens\",\n                teamSettings: \"Team Settings\",\n                createNewTeam: \"Create New Team\",\n                auto: \"Auto\",\n                dark: \"Dark\",\n                light: \"Light\",\n                logout: \"Logout\"\n            }\n        },\n        leftMenu: {\n            authPages: {\n                authPages: \"Auth Pages\",\n                login: \"Login\",\n                register: \"Register\",\n                forgotPassword: \"Forgot Password\",\n                lockScreen: \"Lock Screen\",\n                profile: \"Profile\"\n            },\n            components: {\n                components: \"Components\",\n                alert: \"Alert\",\n                avatar: \"Avatar\",\n                badge: \"Badge\",\n                breadcrumb: \"Breadcrumb\",\n                button: \"Button\",\n                collapsible: \"Collapsible\",\n                dropdown: \"Dropdown\",\n                list: \"List\",\n                loading: \"Loading\",\n                modal: \"Modal\",\n                pagination: \"Pagination\",\n                popover: \"Popover\",\n                progressBar: \"Progress Bar\",\n                statisticWidget: \"Statistic Widget\",\n                tab: \"Tab\",\n                tableJson: \"Table(JSON)\",\n                tableBackend: \"Table(BackEnd)\",\n                tooltip: \"Tooltip\"\n            },\n            layoutElements: {\n                layoutElements: \"Layout Elements\",\n                layoutStructure: \"Layout Structure\",\n                grid: \"Grid\",\n                contentCard: \"Content Card\",\n                tailwindcssDocument: \"TailwindCSS Document\"\n            },\n            formElements: {\n                formElements: \"Form Elements\",\n                formStructure: \"Form Structure\",\n                inputGroup: \"Input Group\",\n                simpleInputs: \"Simple Inputs\",\n                repeatableInput: \"Repeatable Input\",\n                inlineRepeatableInput: \"Inline Repeat. Input\",\n                dateTimeInput: \"Date/Time Input\",\n                selectInput: \"Select Input\",\n                multiSelectInput: \"Multi Select Input\"\n            },\n            footer: {\n                help: \"Help\",\n                settings: \"Settings\"\n            }\n        },\n        title: {\n            page: {\n                welcomeMessage: \"Welcome to TailAdmin\"\n            }\n        },\n        message: {},\n        error: {},\n        global: {},\n        demoContent: {\n            topMenu: {\n                pendingWorks: \"Pending Works\",\n                activeTodos: \"2 To-Do's\",\n                calibrationTasks: \"5 Calibration Task's\",\n                unreadMessages: \"9 Messages\"\n            },\n            selectTest: 'Search user'\n        }\n    },\n    tr: {\n        component: {\n            input: {\n                select:{\n                    select: 'Seç',\n                    search: 'Ara...',\n                    manyResults: '{totalOptions} kayıttan {showingMaxOptions} tanesi gösteriliyor, lütfen arama yapınız...',\n                    addSource: 'Lütfen kaynak yükleyin'\n                }\n            }\n        },\n        auth: {},\n        topMenu: {\n            notification: {},\n            userMenu: {\n                manageAccount: \"Hesap Yönetimi\",\n                manageTeam: \"Takım Yönetimi\",\n                switchTeams: \"Takım Değiştir\",\n                language: \"Dil\",\n                darkMode: \"Koyu Mod\",\n                profile: \"Profil\",\n                api: \"API Anahtarları\",\n                teamSettings: \"Takım Ayarları\",\n                createNewTeam: \"Yeni Takım Oluştur\",\n                auto: \"Otomatik\",\n                dark: \"Koyu\",\n                light: \"Açık\",\n                logout: \"Çıkış\"\n            }\n        },\n        leftMenu: {\n            authPages: {\n                authPages: \"Üyelik Sayfaları\",\n                login: \"Giriş\",\n                register: \"Kayıt\",\n                forgotPassword: \"Şifremi Unuttum\",\n                lockScreen: \"Kilit Ekranı\",\n                profile: \"Profil\"\n            },\n            components: {\n                components: \"Bileşenler\",\n                alert: \"Uyarı Kutusu/Alert\",\n                avatar: \"Profil Fotoğrafı/Avatar\",\n                badge: \"Rozet/Badge\",\n                breadcrumb: \"Breadcrumb\",\n                button: \"Düğme\",\n                collapsible: \"Açılır Liste/Collapsible\",\n                dropdown: \"Açılır Düğme/Dropdown\",\n                list: \"Liste\",\n                loading: \"Yükleniyor Ekranı\",\n                modal: \"Açılır Pencere/Modal\",\n                pagination: \"Sayfalandırma\",\n                popover: \"Bilgi Baloncuğu/Popover\",\n                progressBar: \"İlerleme Çubuğu/Progress\",\n                statisticWidget: \"İstatistik Kutusu\",\n                tab: \"Sekmeli İçerik/Tab\",\n                tableJson: \"Tablo (Kullanıcı)\",\n                tableBackend: \"Tablo (Sunucu)\",\n                tooltip: \"Tooltip\"\n            },\n            layoutElements: {\n                layoutElements: \"Yerleşim Bileşenleri\",\n                layoutStructure: \"Yerleşim Yapısı\",\n                grid: \"Izgara/Grid\",\n                contentCard: \"Content Card\",\n                tailwindcssDocument: \"TailwindCSS Döküman\"\n            },\n            formElements: {\n                formElements: \"Form Bileşenleri\",\n                formStructure: \"Form Yapısı\",\n                inputGroup: \"Input Grup\",\n                simpleInputs: \"Klasik Inputlar\",\n                repeatableInput: \"Tekrarlı Input\",\n                inlineRepeatableInput: \"Düzenlenebilir Tek. Input\",\n                dateTimeInput: \"Zaman/Saat Input\",\n                selectInput: \"Select Input\",\n                multiSelectInput: \"Multi Select Input\"\n            },\n            footer: {\n                help: \"Yardım\",\n                settings: \"Ayarlar\"\n            }\n        },\n        title: {\n            page: {\n                welcomeMessage: \"TailAdmin'e Hoşgeldiniz\"\n            }\n        },\n        message: {},\n        error: {},\n        global: {},\n        demoContent: {\n            topMenu: {\n                pendingWorks: \"Bekleyen İşler\",\n                activeTodos: \"2 Atanmış Görev\",\n                calibrationTasks: \"5 Kalibrasyon İşlemi\",\n                unreadMessages: \"9 Mesaj\"\n            },\n            selectTest: 'Kulllanıcı ara'\n        }\n    },\n    component: {\n        form: {\n            select: {\n                addSOurce: 'Please add a options source'\n            }\n        }\n    }\n};\n\nexport default messages;\n"
  },
  {
    "path": "resources/js/ssr.js",
    "content": "import { createSSRApp, h } from 'vue';\nimport { renderToString } from '@vue/server-renderer';\nimport { createInertiaApp } from '@inertiajs/vue3';\nimport createServer from '@inertiajs/vue3/server';\nimport { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers';\nimport { ZiggyVue } from '../../vendor/tightenco/ziggy';\n\nconst appName = import.meta.env.VITE_APP_NAME || 'Laravel';\n\ncreateServer((page) =>\n    createInertiaApp({\n        page,\n        render: renderToString,\n        title: (title) => `${title} - ${appName}`,\n        resolve: (name) => resolvePageComponent(`./Pages/${name}.vue`, import.meta.glob('./Pages/**/*.vue')),\n        setup({ App, props, plugin }) {\n            return createSSRApp({ render: () => h(App, props) })\n                .use(plugin)\n                .use(ZiggyVue, {\n                    ...page.props.ziggy,\n                    location: new URL(page.props.ziggy.location),\n                });\n        },\n    })\n);\n"
  },
  {
    "path": "resources/lang/bg/actions.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accept'          => 'Приеми',\n    'action'          => 'Действие',\n    'actions'         => 'Действия',\n    'add'             => 'Добавете',\n    'admin'           => 'Админ',\n    'agree'           => 'Съгласен',\n    'archive'         => 'Архив',\n    'assign'          => 'Присвояване',\n    'associate'       => 'Сътрудник',\n    'attach'          => 'Прикрепете',\n    'browse'          => 'Прегледайте',\n    'cancel'          => 'Отказ',\n    'choose'          => 'Избирам',\n    'choose_file'     => 'Изберете файл',\n    'choose_image'    => 'Изберете Изображение',\n    'click_to_copy'   => 'Кликнете, за да копирате',\n    'close'           => 'Близо',\n    'collapse'        => 'Свиване',\n    'collapse_all'    => 'Свиване на всички',\n    'comment'         => 'Коментирайте',\n    'confirm'         => 'Потвърдете',\n    'connect'         => 'Свържете се',\n    'create'          => 'Създавайте',\n    'delete'          => 'Изтрий',\n    'detach'          => 'Отделяне',\n    'details'         => 'Подробности',\n    'disable'         => 'Деактивиране',\n    'discard'         => 'Изхвърлете',\n    'done'            => 'Свършен',\n    'down'            => 'Надолу',\n    'duplicate'       => 'Дубликат',\n    'edit'            => 'редактиране',\n    'enable'          => 'Активирайте',\n    'expand'          => 'Разширяване',\n    'expand_all'      => 'Разгънете всички',\n    'explanation'     => 'Обяснение',\n    'export'          => 'Експортиране',\n    'file'            => 'Файл',\n    'files'           => 'файлове',\n    'go_home'         => 'Прибирай се',\n    'hide'            => 'Крия',\n    'home'            => 'У дома',\n    'image'           => 'Изображение',\n    'impersonate'     => 'Имитирайте се',\n    'impersonation'   => 'Имитиране',\n    'import'          => 'Импортиране',\n    'introduction'    => 'Въведение',\n    'like'            => 'като',\n    'load'            => 'Заредете',\n    'localize'        => 'Локализирайте',\n    'log_in'          => 'Влизам',\n    'log_out'         => 'Излез от профила си',\n    'named'           => [\n        'add'       => 'Добавете :name',\n        'choose'    => 'Изберете :name',\n        'create'    => 'Създайте :name',\n        'delete'    => 'Изтрий :name',\n        'duplicate' => 'Дубликат: име',\n        'edit'      => 'Редактиране :name',\n        'export'    => 'Export :name',\n        'hide'      => 'Скриване :name',\n        'import'    => 'Импортиране :name',\n        'new'       => 'Ново :name',\n        'restore'   => 'Възстановяване :name',\n        'save'      => 'Спестете :name',\n        'search'    => 'Търсене :name',\n        'show'      => 'Покажи :name',\n        'update'    => 'Актуализация :name',\n        'view'      => 'Преглед :name',\n    ],\n    'new'             => 'Нов',\n    'no'              => 'Не',\n    'open'            => 'Отворете',\n    'open_website'    => 'Отворете на уебсайта',\n    'preview'         => 'Преглед',\n    'price'           => 'Цена',\n    'record'          => 'Записвайте',\n    'restore'         => 'Възстанови',\n    'save'            => 'Запазване',\n    'save_and_close'  => 'Запазване и затваряне',\n    'save_and_return' => 'Запазване и връщане',\n    'search'          => 'Търсене',\n    'select'          => 'Изберете',\n    'select_all'      => 'Избери всички',\n    'send'            => 'Изпратете',\n    'settings'        => 'Настройки',\n    'show'            => 'Покажи',\n    'show_all'        => 'Покажи всички',\n    'sign_in'         => 'Впиши се',\n    'solve'           => 'Решете',\n    'start'           => 'Започнете',\n    'stop'            => 'Спри се',\n    'submit'          => 'Изпращане',\n    'subscribe'       => 'Абонирай се',\n    'switch'          => 'Превключване',\n    'switch_to_role'  => 'Превключване към роля',\n    'tag'             => 'Етикет',\n    'tags'            => 'Етикети',\n    'target_link'     => [\n        'blank'  => 'Отворете в нов прозорец',\n        'parent' => 'Отворете в родителска рамка',\n        'self'   => 'Отворете в текущия прозорец',\n        'top'    => 'Отворете в най-горната рамка',\n    ],\n    'translate'       => 'Превеждай',\n    'translate_it'    => 'Преведи го',\n    'unpack'          => 'Разопаковайте',\n    'unsubscribe'     => 'Отписване',\n    'up'              => 'нагоре',\n    'update'          => 'Актуализация',\n    'user'            => 'Потребител',\n    'view'            => 'Преглед',\n    'yes'             => 'да',\n];\n"
  },
  {
    "path": "resources/lang/bg/auth.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'failed'   => 'Неуспешно удостоверяване на потребител.',\n    'password' => 'Паролата е грешна.',\n    'throttle' => 'Твърде много опити за вход. Моля, опитайте отново след :seconds секунди.',\n];\n"
  },
  {
    "path": "resources/lang/bg/http-statuses.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    '0'            => 'Неизвестна грешка',\n    '100'          => 'продължи',\n    '101'          => 'Протоколи за превключване',\n    '102'          => 'Обработка',\n    '200'          => 'Добре',\n    '201'          => 'Създаден',\n    '202'          => 'Приема се',\n    '203'          => 'Неавторитетна информация',\n    '204'          => 'Няма съдържание',\n    '205'          => 'Нулиране на съдържанието',\n    '206'          => 'Частично съдържание',\n    '207'          => 'Мултистатус',\n    '208'          => 'Вече е докладвано',\n    '226'          => 'Използван съм',\n    '300'          => 'Множество възможности за избор',\n    '301'          => 'преместен за постоянно',\n    '302'          => 'Намерени',\n    '303'          => 'Вижте Други',\n    '304'          => 'Непроменено',\n    '305'          => 'Използвай прокси',\n    '307'          => 'Временно пренасочване',\n    '308'          => 'Постоянно пренасочване',\n    '400'          => 'Неправилна заявка',\n    '401'          => 'Неразрешено',\n    '402'          => 'изисква се плащане',\n    '403'          => 'Забранен',\n    '404'          => 'Не е намерено',\n    '405'          => 'Методът не е разрешен',\n    '406'          => 'Неприемливо',\n    '407'          => 'Изисква се удостоверяване на прокси',\n    '408'          => 'Искането е изтекло',\n    '409'          => 'Конфликт',\n    '410'          => 'Си отиде',\n    '411'          => 'Необходима дължина',\n    '412'          => 'Неуспешно предварително условие',\n    '413'          => 'Твърде голям полезен товар',\n    '414'          => 'Твърде дълъг URI',\n    '415'          => 'Неподдържан тип медия',\n    '416'          => 'Диапазонът не е задоволим',\n    '417'          => 'Неуспешно очакване',\n    '418'          => 'Аз съм чайник',\n    '419'          => 'Сесията е изтекла',\n    '421'          => 'Неправилно насочена заявка',\n    '422'          => 'Необработваем субект',\n    '423'          => 'Заключено',\n    '424'          => 'Неуспешна зависимост',\n    '425'          => 'Твърде рано',\n    '426'          => 'Изисква се надграждане',\n    '428'          => 'Изисква се предварително условие',\n    '429'          => 'Твърде много заявки',\n    '431'          => 'Заглавните полета на заявката са твърде големи',\n    '444'          => 'Връзката затворена без отговор',\n    '449'          => 'Опитайте отново с',\n    '451'          => 'Недостъпно поради правни причини',\n    '499'          => 'Затворена заявка от клиента',\n    '500'          => 'Вътрешна грешка на сървъра',\n    '501'          => 'Не е изпълнено',\n    '502'          => 'лош изход',\n    '503'          => 'режим на поддръжка',\n    '504'          => 'Изчакване на шлюза',\n    '505'          => 'HTTP версията не се поддържа',\n    '506'          => 'Вариантът също се договаря',\n    '507'          => 'Недостатъчно място за съхранение',\n    '508'          => 'Открит цикъл',\n    '509'          => 'Лимитът на честотната лента е надвишен',\n    '510'          => 'Не е удължен',\n    '511'          => 'Изисква се мрежово удостоверяване',\n    '520'          => 'Неизвестна грешка',\n    '521'          => 'Уеб сървърът не работи',\n    '522'          => 'Времето за изчакване на връзката изтече',\n    '523'          => 'Произходът е недостижим',\n    '524'          => 'Възникна изчакване',\n    '525'          => 'Неуспешно SSL ръкостискане',\n    '526'          => 'Невалиден SSL сертификат',\n    '527'          => 'Грешка с релсов пистолет',\n    '598'          => 'Грешка при изчакване при четене на мрежата',\n    '599'          => 'Грешка при изчакване на мрежовата връзка',\n    'unknownError' => 'Неизвестна грешка',\n];\n"
  },
  {
    "path": "resources/lang/bg/pagination.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'next'     => 'Напред &raquo;',\n    'previous' => '&laquo; Назад',\n];\n"
  },
  {
    "path": "resources/lang/bg/passwords.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'reset'     => 'Паролата е нулирана!',\n    'sent'      => 'Изпратено е напомняне за вашата парола!',\n    'throttled' => 'Моля изчакайте, преди да опитате отново.',\n    'token'     => 'Този токен за нулиране на парола е невалиден.',\n    'user'      => 'Потребител с такъв e-mail адрес не може да бъде открит.',\n];\n"
  },
  {
    "path": "resources/lang/bg/validation.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accepted'             => 'Трябва да приемете :attribute.',\n    'accepted_if'          => 'Полето :attribute трябва да е прието, когато :other е :value.',\n    'active_url'           => 'Полето :attribute не е валиден URL адрес.',\n    'after'                => 'Полето :attribute трябва да бъде дата след :date.',\n    'after_or_equal'       => 'Полето :attribute трябва да бъде дата след или равна на :date.',\n    'alpha'                => 'Полето :attribute трябва да съдържа само букви.',\n    'alpha_dash'           => 'Полето :attribute трябва да съдържа само букви, цифри, долна черта и тире.',\n    'alpha_num'            => 'Полето :attribute трябва да съдържа само букви и цифри.',\n    'array'                => 'Полето :attribute трябва да бъде масив.',\n    'ascii'                => ':Attribute-те трябва да съдържат само еднобайтови буквено-цифрови знаци и символи.',\n    'attached'             => 'Този номер :attribute вече е прикачен.',\n    'before'               => 'Полето :attribute трябва да бъде дата преди :date.',\n    'before_or_equal'      => 'Полето :attribute трябва да бъде дата преди или равна на :date.',\n    'between'              => [\n        'array'   => 'Полето :attribute трябва да има между :min - :max елемента.',\n        'file'    => 'Полето :attribute трябва да бъде между :min и :max килобайта.',\n        'numeric' => 'Полето :attribute трябва да бъде между :min и :max.',\n        'string'  => 'Полето :attribute трябва да бъде между :min и :max знака.',\n    ],\n    'boolean'              => 'Полето :attribute трябва да съдържа Да или Не',\n    'can'                  => 'Полето :attribute съдържа неразрешена стойност.',\n    'confirmed'            => 'Полето :attribute не е потвърдено.',\n    'contains'             => 'The :attribute field is missing a required value.',\n    'current_password'     => 'Паролата е неправилна.',\n    'date'                 => 'Полето :attribute не е валидна дата.',\n    'date_equals'          => ':Attribute трябва да бъде дата, еднаква с :date.',\n    'date_format'          => 'Полето :attribute не е във формат :format.',\n    'decimal'              => ':Attribute-те трябва да имат :decimal знака след десетичната запетая.',\n    'declined'             => ':Attribute-те трябва да бъдат отхвърлени.',\n    'declined_if'          => ':Attribute трябва да се отклони, когато :other е :value.',\n    'different'            => 'Полетата :attribute и :other трябва да са различни.',\n    'digits'               => 'Полето :attribute трябва да има :digits цифри.',\n    'digits_between'       => 'Полето :attribute трябва да има между :min и :max цифри.',\n    'dimensions'           => 'Невалидни размери за снимка :attribute.',\n    'distinct'             => 'Данните в полето :attribute се дублират.',\n    'doesnt_end_with'      => ':Attribute-те може да не завършват с едно от следните: :values.',\n    'doesnt_start_with'    => ':Attribute-те може да не започват с едно от следните: :values.',\n    'email'                => 'Полето :attribute е в невалиден формат.',\n    'ends_with'            => ':Attribute трябва да завършва с една от следните стойности: :values.',\n    'enum'                 => 'Избраните :attribute са невалидни.',\n    'exists'               => 'Избранато поле :attribute вече съществува.',\n    'extensions'           => 'Полето :attribute трябва да има едно от следните разширения: :values.',\n    'file'                 => 'Полето :attribute трябва да бъде файл.',\n    'filled'               => 'Полето :attribute е задължително.',\n    'gt'                   => [\n        'array'   => ':Attribute трябва да разполага с повече от :value елемента.',\n        'file'    => ':Attribute трябва да бъде по-голяма от :value килобайта.',\n        'numeric' => ':Attribute трябва да бъде по-голяма от :value.',\n        'string'  => ':Attribute трябва да бъде по-голяма от :value знака.',\n    ],\n    'gte'                  => [\n        'array'   => ':Attribute трябва да разполага с :value елемента или повече.',\n        'file'    => ':Attribute трябва да бъде по-голяма от или равна на :value килобайта.',\n        'numeric' => ':Attribute трябва да бъде по-голяма от или равна на :value.',\n        'string'  => ':Attribute трябва да бъде по-голяма от или равна на :value знака.',\n    ],\n    'hex_color'            => 'Полето :attribute трябва да е с валиден шестнадесетичен цвят.',\n    'image'                => 'Полето :attribute трябва да бъде изображение.',\n    'in'                   => 'Избраното поле :attribute е невалидно.',\n    'in_array'             => 'Полето :attribute не съществува в :other.',\n    'integer'              => 'Полето :attribute трябва да бъде цяло число.',\n    'ip'                   => 'Полето :attribute трябва да бъде IP адрес.',\n    'ipv4'                 => 'Полето :attribute трябва да бъде IPv4 адрес.',\n    'ipv6'                 => 'Полето :attribute трябва да бъде IPv6 адрес.',\n    'json'                 => 'Полето :attribute трябва да бъде JSON низ.',\n    'list'                 => 'Полето :attribute трябва да е списък.',\n    'lowercase'            => ':Attribute трябва да са малки букви.',\n    'lt'                   => [\n        'array'   => ':Attribute трябва да разполага с по-малко от :value елемента.',\n        'file'    => ':Attribute трябва да бъде по-малка от :value килобайта.',\n        'numeric' => ':Attribute трябва да бъде по-малка от :value.',\n        'string'  => ':Attribute трябва да бъде по-малка от :value знака.',\n    ],\n    'lte'                  => [\n        'array'   => ':Attribute не трябва да разполага с повече от :value елемента.',\n        'file'    => ':Attribute трябва да бъде по-малка от или равна на :value килобайта.',\n        'numeric' => ':Attribute трябва да бъде по-малка от или равна на :value.',\n        'string'  => ':Attribute трябва да бъде по-малка от или равна на :value знака.',\n    ],\n    'mac_address'          => ':Attribute трябва да е валиден MAC адрес.',\n    'max'                  => [\n        'array'   => 'Полето :attribute трябва да има по-малко от :max елемента.',\n        'file'    => 'Полето :attribute трябва да бъде по-малко от :max килобайта.',\n        'numeric' => 'Полето :attribute трябва да бъде по-малко от :max.',\n        'string'  => 'Полето :attribute трябва да бъде по-малко от :max знака.',\n    ],\n    'max_digits'           => ':Attribute-те не трябва да имат повече от :max цифри.',\n    'mimes'                => 'Полето :attribute трябва да бъде файл от тип: :values.',\n    'mimetypes'            => 'Полето :attribute трябва да бъде файл от тип: :values.',\n    'min'                  => [\n        'array'   => 'Полето :attribute трябва има минимум :min елемента.',\n        'file'    => 'Полето :attribute трябва да бъде минимум :min килобайта.',\n        'numeric' => 'Полето :attribute трябва да бъде минимум :min.',\n        'string'  => 'Полето :attribute трябва да бъде минимум :min знака.',\n    ],\n    'min_digits'           => ':Attribute-те трябва да имат поне :min цифри.',\n    'missing'              => 'Полето :attribute трябва да липсва.',\n    'missing_if'           => 'Полето :attribute трябва да липсва, когато :other е :value.',\n    'missing_unless'       => 'Полето :attribute трябва да липсва, освен ако :other не е :value.',\n    'missing_with'         => 'Полето :attribute трябва да липсва, когато :values присъства.',\n    'missing_with_all'     => 'Полето :attribute трябва да липсва, когато има :values.',\n    'multiple_of'          => 'Числото :attribute трябва да бъде кратно на :value',\n    'not_in'               => 'Избраното поле :attribute е невалидно.',\n    'not_regex'            => 'Форматът на :attribute е невалиден.',\n    'numeric'              => 'Полето :attribute трябва да бъде число.',\n    'password'             => [\n        'letters'       => ':Attribute-те трябва да съдържат поне една буква.',\n        'mixed'         => ':Attribute-те трябва да съдържат поне една главна и една малка буква.',\n        'numbers'       => ':Attribute-те трябва да съдържат поне едно число.',\n        'symbols'       => ':Attribute-те трябва да съдържат поне един символ.',\n        'uncompromised' => 'Дадените :attribute се появиха при изтичане на данни. Моля, изберете различни :attribute.',\n    ],\n    'present'              => 'Полето :attribute трябва да съествува.',\n    'present_if'           => 'Полето :attribute трябва да присъства, когато :other е :value.',\n    'present_unless'       => 'Полето :attribute трябва да присъства, освен ако :other не е :value.',\n    'present_with'         => 'Полето :attribute трябва да присъства, когато присъства :values.',\n    'present_with_all'     => 'Полето :attribute трябва да присъства, когато има :values.',\n    'prohibited'           => 'Поле :attribute е забранено.',\n    'prohibited_if'        => 'Полето :attribute е забранено, когато :other е равно на :value.',\n    'prohibited_unless'    => 'Полето :attribute е забранено, освен ако :other не е в :values.',\n    'prohibits'            => 'Полето :attribute изключва наличието на :other.',\n    'regex'                => 'Полето :attribute е в невалиден формат.',\n    'relatable'            => 'Този :attribute може да не е свързан с този ресурс.',\n    'required'             => 'Полето :attribute е задължително.',\n    'required_array_keys'  => 'Полето :attribute трябва да съдържа записи за: :values.',\n    'required_if'          => 'Полето :attribute се изисква, когато :other е :value.',\n    'required_if_accepted' => 'Полето :attribute е задължително, когато се приема :other.',\n    'required_if_declined' => 'The :attribute field is required when :other is declined.',\n    'required_unless'      => 'Полето :attribute се изисква, освен ако :other не е в :values.',\n    'required_with'        => 'Полето :attribute се изисква, когато :values има стойност.',\n    'required_with_all'    => 'Полето :attribute е задължително, когато :values имат стойност.',\n    'required_without'     => 'Полето :attribute се изисква, когато :values няма стойност.',\n    'required_without_all' => 'Полето :attribute се изисква, когато никое от полетата :values няма стойност.',\n    'same'                 => 'Полетата :attribute и :other трябва да съвпадат.',\n    'size'                 => [\n        'array'   => 'Полето :attribute трябва да има :size елемента.',\n        'file'    => 'Полето :attribute трябва да бъде :size килобайта.',\n        'numeric' => 'Полето :attribute трябва да бъде :size.',\n        'string'  => 'Полето :attribute трябва да бъде :size знака.',\n    ],\n    'starts_with'          => ':Attribute трябва да започва с едно от следните: :values.',\n    'string'               => 'Полето :attribute трябва да бъде знаков низ.',\n    'timezone'             => 'Полето :attribute трябва да съдържа валидна часова зона.',\n    'ulid'                 => ':Attribute трябва да е валиден ULID.',\n    'unique'               => 'Полето :attribute вече съществува.',\n    'uploaded'             => 'Неуспешно качване на :attribute.',\n    'uppercase'            => ':Attribute трябва да са главни букви.',\n    'url'                  => 'Полето :attribute е в невалиден формат.',\n    'uuid'                 => ':Attribute трябва да бъде валиден UUID.',\n    'attributes'           => [\n        'address'                  => 'адрес',\n        'affiliate_url'            => 'URL адрес на партньор',\n        'age'                      => 'възраст',\n        'amount'                   => 'количество',\n        'announcement'             => 'съобщение',\n        'area'                     => '■ площ',\n        'audience_prize'           => 'награда на публиката',\n        'available'                => 'достъпен',\n        'birthday'                 => 'рожден ден',\n        'body'                     => 'тяло',\n        'city'                     => 'град',\n        'compilation'              => 'компилация',\n        'concept'                  => 'концепция',\n        'conditions'               => 'условия',\n        'content'                  => 'съдържание',\n        'country'                  => 'държава',\n        'cover'                    => 'Покрийте',\n        'created_at'               => 'създаден в',\n        'creator'                  => 'създател',\n        'currency'                 => 'валута',\n        'current_password'         => 'Настояща парола',\n        'customer'                 => 'клиент',\n        'date'                     => 'дата',\n        'date_of_birth'            => 'дата на раждане',\n        'dates'                    => 'дати',\n        'day'                      => 'ден',\n        'deleted_at'               => 'изтрит на',\n        'description'              => 'описание',\n        'display_type'             => 'тип дисплей',\n        'district'                 => 'окръг',\n        'duration'                 => 'продължителност',\n        'email'                    => 'e-mail',\n        'excerpt'                  => 'откъс',\n        'filter'                   => 'филтър',\n        'finished_at'              => 'завърши на',\n        'first_name'               => 'име',\n        'gender'                   => 'пол',\n        'grand_prize'              => 'Голяма награда',\n        'group'                    => 'група',\n        'hour'                     => 'час',\n        'image'                    => 'образ',\n        'image_desktop'            => 'изображение на работния плот',\n        'image_main'               => 'основно изображение',\n        'image_mobile'             => 'мобилно изображение',\n        'images'                   => 'изображения',\n        'is_audience_winner'       => 'е победител сред публиката',\n        'is_hidden'                => 'е скрито',\n        'is_subscribed'            => 'е абониран',\n        'is_visible'               => 'се вижда',\n        'is_winner'                => 'е победител',\n        'items'                    => 'елементи',\n        'key'                      => 'ключ',\n        'last_name'                => 'фамилия',\n        'lesson'                   => 'урок',\n        'line_address_1'           => 'адрес на линия 1',\n        'line_address_2'           => 'адрес на линия 2',\n        'login'                    => 'Влизам',\n        'message'                  => 'съобщение',\n        'middle_name'              => 'презиме',\n        'minute'                   => 'минута',\n        'mobile'                   => 'gsm',\n        'month'                    => 'месец',\n        'name'                     => 'име',\n        'national_code'            => 'национален код',\n        'number'                   => 'номер',\n        'password'                 => 'парола',\n        'password_confirmation'    => 'Потвърждение на парола',\n        'phone'                    => 'телефон',\n        'photo'                    => 'снимка',\n        'portfolio'                => 'портфолио',\n        'postal_code'              => 'пощенски код',\n        'preview'                  => 'предварителен преглед',\n        'price'                    => 'цена',\n        'product_id'               => 'идентификация на продукта',\n        'product_uid'              => 'UID на продукта',\n        'product_uuid'             => 'UUID на продукта',\n        'promo_code'               => 'промо код',\n        'province'                 => 'провинция',\n        'quantity'                 => 'количество',\n        'reason'                   => 'причина',\n        'recaptcha_response_field' => 'рекапча',\n        'referee'                  => 'рефер',\n        'referees'                 => 'рефери',\n        'reject_reason'            => 'отхвърлете разума',\n        'remember'                 => 'помня',\n        'restored_at'              => 'възстановен при',\n        'result_text_under_image'  => 'текст на резултата под изображението',\n        'role'                     => 'роля',\n        'rule'                     => 'правило',\n        'rules'                    => 'правила',\n        'second'                   => 'секунда',\n        'sex'                      => 'пол',\n        'shipment'                 => 'пратка',\n        'short_text'               => 'кратък текст',\n        'size'                     => 'размер',\n        'skills'                   => 'умения',\n        'slug'                     => 'плужек',\n        'specialization'           => 'специализация',\n        'started_at'               => 'започна в',\n        'state'                    => 'състояние',\n        'status'                   => 'състояние',\n        'street'                   => 'улица',\n        'student'                  => 'студент',\n        'subject'                  => 'заглавие',\n        'tag'                      => 'етикет',\n        'tags'                     => 'етикети',\n        'teacher'                  => 'учител',\n        'terms'                    => 'условия',\n        'test_description'         => 'описание на теста',\n        'test_locale'              => 'тест локал',\n        'test_name'                => 'име на теста',\n        'text'                     => 'текст',\n        'time'                     => 'време',\n        'title'                    => 'заглавие',\n        'type'                     => 'Тип',\n        'updated_at'               => 'актуализиран на',\n        'user'                     => 'потребител',\n        'username'                 => 'потребител',\n        'value'                    => 'стойност',\n        'year'                     => 'година',\n    ],\n];\n"
  },
  {
    "path": "resources/lang/bg.json",
    "content": "{\n    \"(and :count more error)\": \"(и още :count грешки)\",\n    \"(and :count more errors)\": \"(и още :count грешки)|(и още :count грешки)|(и още :count грешки)\",\n    \"A new verification link has been sent to the email address you provided in your profile settings.\": \"Нова връзка за потвърждение е изпратена на имейл адреса, който сте предоставили в настройките на вашия профил.\",\n    \"A new verification link has been sent to your email address.\": \"Нова връзка за потвърждение е изпратена на вашия имейл адрес.\",\n    \"A Timeout Occurred\": \"Възникна изчакване\",\n    \"Accept\": \"Приеми\",\n    \"Accept Invitation\": \"Приемане На Поканата\",\n    \"Accepted\": \"Приема се\",\n    \"Action\": \"Действие\",\n    \"Actions\": \"Действия\",\n    \"Add\": \"Добави\",\n    \"Add :name\": \"Добавете :name\",\n    \"Add a new team member to your team, allowing them to collaborate with you.\": \"Добавете нов член на екипа към екипа си, за да може да си сътрудничи с вас.\",\n    \"Add additional security to your account using two factor authentication.\": \"Добавете допълнителна сигурност към профила си чрез двуфакторно удостоверяване.\",\n    \"Add Team Member\": \"Добавяне на член на екипа\",\n    \"Added.\": \"Добавено.\",\n    \"Admin\": \"Админ\",\n    \"Administrator\": \"Администратор\",\n    \"Administrator users can perform any action.\": \"Администраторите могат да извършват всякакви действия.\",\n    \"Agree\": \"Съгласен\",\n    \"All of the people that are part of this team.\": \"Всички хора, които са част от този екип.\",\n    \"All rights reserved.\": \"Всички права запазени.\",\n    \"Already registered?\": \"Вече си се регистрирал?\",\n    \"Already Reported\": \"Вече е докладвано\",\n    \"API Token\": \"API Ключ\",\n    \"API Token Permissions\": \"API Ключ Права\",\n    \"API Tokens\": \"API Ключове\",\n    \"API tokens allow third-party services to authenticate with our application on your behalf.\": \"API ключовете позволяват на услугите на трети страни да бъдат удостоверени в нашето приложение от ваше име.\",\n    \"Archive\": \"Архив\",\n    \"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\": \"Сигурни ли сте, че искате да изтриете този екип? След като екипа бъде изтрит, всичките му ресурси и данни ще бъдат изтрити завинаги.\",\n    \"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\": \"Сигурни ли сте, че искате да изтриете профила си? След като профилът ви бъде изтрит, всичките му ресурси и данни ще бъдат изтрити безвъзвратно. Моля, въведете паролата си, за да потвърдите, че искате да изтриете завинаги профила си.\",\n    \"Are you sure you would like to delete this API token?\": \"Сигурни ли сте, че искате да премахнете този API ключ?\",\n    \"Are you sure you would like to leave this team?\": \"Сигурен ли си, че искаш да напуснеш този екип?\",\n    \"Are you sure you would like to remove this person from the team?\": \"Сигурни ли сте, че искате да премахнете този човек от екипа?\",\n    \"Assign\": \"Присвояване\",\n    \"Associate\": \"Сътрудник\",\n    \"Attach\": \"Прикачи\",\n    \"Bad Gateway\": \"лош изход\",\n    \"Bad Request\": \"Неправилна заявка\",\n    \"Bandwidth Limit Exceeded\": \"Лимитът на честотната лента е надвишен\",\n    \"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\": \"Преди да продължите, можете ли да потвърдите своя имейл адрес, като щракнете върху връзката, която току-що ви изпратихме? Ако не сте получили имейла, с удоволствие ще ви изпратим друг.\",\n    \"Browse\": \"Прегледайте\",\n    \"Browser Sessions\": \"Браузърни сесии\",\n    \"Cancel\": \"Отмени\",\n    \"Choose\": \"Избери\",\n    \"Choose :name\": \"Изберете :name\",\n    \"Choose File\": \"Изберете файл\",\n    \"Choose Image\": \"Изберете Изображение\",\n    \"Click here to re-send the verification email.\": \"Щракнете тук, за да изпратите повторно имейла за потвърждение.\",\n    \"Click to copy\": \"Кликнете, за да копирате\",\n    \"Client Closed Request\": \"Затворена заявка от клиента\",\n    \"Close\": \"Затвори\",\n    \"Code\": \"Код\",\n    \"Collapse\": \"Свиване\",\n    \"Collapse All\": \"Свиване на всички\",\n    \"Comment\": \"Коментирайте\",\n    \"Confirm\": \"Потвърди\",\n    \"Confirm Password\": \"Потвърдете паролата\",\n    \"Conflict\": \"Конфликт\",\n    \"Connect\": \"Свържете се\",\n    \"Connection Closed Without Response\": \"Връзката затворена без отговор\",\n    \"Connection Timed Out\": \"Времето за изчакване на връзката изтече\",\n    \"Continue\": \"продължи\",\n    \"Create\": \"Създай\",\n    \"Create :name\": \"Създайте :name\",\n    \"Create a new team to collaborate with others on projects.\": \"Създайте нов екип, с който да работите заедно по проекти.\",\n    \"Create Account\": \"създаване на профил\",\n    \"Create API Token\": \"Създаване на API ключ\",\n    \"Create New Team\": \"Създаване на нов екип\",\n    \"Create Team\": \"Създаване на екип\",\n    \"Created\": \"Създаден\",\n    \"Created.\": \"Създаден.\",\n    \"Current Password\": \"Текуща парола\",\n    \"Dashboard\": \"Табло\",\n    \"Delete\": \"Изтрий\",\n    \"Delete :name\": \"Изтрий :name\",\n    \"Delete Account\": \"Изтриване на акаунт\",\n    \"Delete API Token\": \"Изтриване на API Ключ\",\n    \"Delete Team\": \"Изтриване на отбор\",\n    \"Detach\": \"Разкачи\",\n    \"Details\": \"Информация\",\n    \"Disable\": \"Изключвам\",\n    \"Discard\": \"Изхвърлете\",\n    \"Done\": \"Свършен\",\n    \"Done.\": \"Направя.\",\n    \"Down\": \"Надолу\",\n    \"Duplicate\": \"Дубликат\",\n    \"Duplicate :name\": \"Дубликат: име\",\n    \"Edit\": \"Редактирам\",\n    \"Edit :name\": \"Редактиране :name\",\n    \"Edit Profile\": \"Редактирай профил\",\n    \"Editor\": \"Редактор\",\n    \"Editor users have the ability to read, create, and update.\": \"Редокторите имат възможност да четат, създават и актуализират.\",\n    \"Email\": \"Имейл\",\n    \"Email Password Reset Link\": \"Връзка за нулиране на паролата за електронна поща\",\n    \"Enable\": \"Включа\",\n    \"Ensure your account is using a long, random password to stay secure.\": \"Уверете се, че профилът ви използва дълга случайна парола, за да остане в безопасност.\",\n    \"errors\": \"грешки\",\n    \"Expand\": \"Разширяване\",\n    \"Expand All\": \"Разгънете всички\",\n    \"Expectation Failed\": \"Неуспешно очакване\",\n    \"Explanation\": \"Обяснение\",\n    \"Export\": \"Експортиране\",\n    \"Export :name\": \"Export :name\",\n    \"Failed Dependency\": \"Неуспешна зависимост\",\n    \"File\": \"Файл\",\n    \"Files\": \"файлове\",\n    \"Finish enabling two factor authentication.\": \"Завършете активирането на двуфакторно удостоверяване.\",\n    \"For your security, please confirm your password to continue.\": \"За вашата сигурност, моля потвърдете паролата си, за да продължите.\",\n    \"Forbidden\": \"Забранено\",\n    \"Forgot your password?\": \"Забравихте паролата си?\",\n    \"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.\": \"Забравихте паролата си? Няма проблем. Просто ни кажете имейл адреса си и ще ви изпратим връзка за нулиране на паролата, която ви позволява да изберете нова.\",\n    \"Found\": \"Намерени\",\n    \"Gateway Timeout\": \"Изчакване на шлюза\",\n    \"Go Home\": \"Отиди в началото.\",\n    \"Go to page :page\": \"Отидете на страница :page\",\n    \"Gone\": \"Си отиде\",\n    \"Great! You have accepted the invitation to join the :team team.\": \"Страхотно! Приехте поканата да се присъедините към екипа на :team.\",\n    \"Hello!\": \"Здравей!\",\n    \"Hide\": \"Крия\",\n    \"Hide :name\": \"Скриване :name\",\n    \"Home\": \"У дома\",\n    \"HTTP Version Not Supported\": \"HTTP версията не се поддържа\",\n    \"I agree to the :terms_of_service and :privacy_policy\": \"Съгласен съм със :terms_of_service и :privacy_policy\",\n    \"I'm a teapot\": \"Аз съм чайник\",\n    \"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\": \"Ако е необходимо, можете да излезете от всички други сесии на браузъра на всичките си устройства. Някои от последните ви сесии са изброени по-долу; този списък обаче може да не е изчерпателен. Ако смятате, че профилът Ви е компрометиран, трябва да актуализирате и паролата си.\",\n    \"If you already have an account, you may accept this invitation by clicking the button below:\": \"Ако вече имате профил, можете да приемете тази покана, като кликнете върху бутона по-долу:\",\n    \"If you did not create an account, no further action is required.\": \"Ако не сте създали профил, не са необходими допълнителни действия.\",\n    \"If you did not expect to receive an invitation to this team, you may discard this email.\": \"Ако не сте очаквали да получите покана за този отбор, можете да се откажете от това писмо.\",\n    \"If you did not request a password reset, no further action is required.\": \"Ако не сте поискали Нулиране на паролата, не са необходими допълнителни действия.\",\n    \"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:\": \"Ако нямате профил, можете да го създадете, като кликнете върху бутона по-долу. След като създадете профил, можете да кликнете върху бутона за приемане на покана в този имейл, за да приемете поканата на екипа:\",\n    \"If you're having trouble clicking the \\\":actionText\\\" button, copy and paste the URL below\\ninto your web browser:\": \"Ако имате проблеми с натискането на бутона \\\":actiontext\\\", копирайте и поставете URL адреса по-долу\\nкъм вашия уеб браузър:\",\n    \"IM Used\": \"Използван съм\",\n    \"Image\": \"Изображение\",\n    \"Impersonate\": \"Имитирайте се\",\n    \"Impersonation\": \"Имитиране\",\n    \"Import\": \"Импортиране\",\n    \"Import :name\": \"Импортиране :name\",\n    \"Insufficient Storage\": \"Недостатъчно място за съхранение\",\n    \"Internal Server Error\": \"Вътрешна грешка на сървъра\",\n    \"Introduction\": \"Въведение\",\n    \"Invalid JSON was returned from the route.\": \"От маршрута е върнат невалиден JSON.\",\n    \"Invalid SSL Certificate\": \"Невалиден SSL сертификат\",\n    \"Last active\": \"Последно активен\",\n    \"Last used\": \"Последно използван\",\n    \"Leave\": \"Напускам\",\n    \"Leave Team\": \"Напускане на екипа\",\n    \"length\": \"length\",\n    \"Length Required\": \"Необходима дължина\",\n    \"Like\": \"като\",\n    \"Load\": \"Заредете\",\n    \"Localize\": \"Локализирайте\",\n    \"Location\": \"Местоположение\",\n    \"Locked\": \"Заключено\",\n    \"Log In\": \"Влизане\",\n    \"Log in\": \"Влез\",\n    \"Log Out\": \"Излез\",\n    \"Log Out Other Browser Sessions\": \"Излезте от други браузърни сесии\",\n    \"Login\": \"Упълномощя\",\n    \"Logout\": \"Излизане\",\n    \"Loop Detected\": \"Открит цикъл\",\n    \"Maintenance Mode\": \"режим на поддръжка\",\n    \"Manage Account\": \"Управление на профила\",\n    \"Manage and log out your active sessions on other browsers and devices.\": \"Управлявайте активни сесии и излизайте от тях в други браузъри и устройства.\",\n    \"Manage API Tokens\": \"Управление на API Жетони\",\n    \"Manage Role\": \"Управление на ролята\",\n    \"Manage Team\": \"Управление на екип\",\n    \"Method Not Allowed\": \"Методът не е разрешен\",\n    \"Misdirected Request\": \"Неправилно насочена заявка\",\n    \"Moved Permanently\": \"преместен за постоянно\",\n    \"Multi-Status\": \"Мултистатус\",\n    \"Multiple Choices\": \"Множество възможности за избор\",\n    \"Name\": \"Име\",\n    \"Network Authentication Required\": \"Изисква се мрежово удостоверяване\",\n    \"Network Connect Timeout Error\": \"Грешка при изчакване на мрежовата връзка\",\n    \"Network Read Timeout Error\": \"Грешка при изчакване при четене на мрежата\",\n    \"New\": \"Нов\",\n    \"New :name\": \"Ново :name\",\n    \"New Password\": \"Парола\",\n    \"No\": \"Не.\",\n    \"No Content\": \"Няма съдържание\",\n    \"Non-Authoritative Information\": \"Неавторитетна информация\",\n    \"Not Acceptable\": \"Неприемливо\",\n    \"Not Extended\": \"Не е удължен\",\n    \"Not Found\": \"Не е намерен\",\n    \"Not Implemented\": \"Не е изпълнено\",\n    \"Not Modified\": \"Непроменено\",\n    \"of\": \"от\",\n    \"OK\": \"Добре\",\n    \"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\": \"След като екип бъде изтрит, всичките му ресурси и данни ще бъдат изтрити завинаги. Преди да изтриете тази команда, моля, качете всички данни или информация за този екип, които искате да запазите.\",\n    \"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\": \"След като профилът ви бъде изтрит, всичките му ресурси и данни ще бъдат изтрити безвъзвратно. Преди да изтриете профила си, моля, качете всички данни или информация, които искате да запазите.\",\n    \"Open\": \"Отворете\",\n    \"Open in a current window\": \"Отворете в текущия прозорец\",\n    \"Open in a new window\": \"Отворете в нов прозорец\",\n    \"Open in a parent frame\": \"Отворете в родителска рамка\",\n    \"Open in the topmost frame\": \"Отворете в най-горната рамка\",\n    \"Open on the website\": \"Отворете на уебсайта\",\n    \"Origin Is Unreachable\": \"Произходът е недостижим\",\n    \"Page Expired\": \"Страницата е просрочена\",\n    \"Pagination Navigation\": \"Навигация на страници\",\n    \"Partial Content\": \"Частично съдържание\",\n    \"Password\": \"Парола\",\n    \"Payload Too Large\": \"Твърде голям полезен товар\",\n    \"Payment Required\": \"изисква се плащане\",\n    \"Pending Team Invitations\": \"Чакащи Покани На Екипа\",\n    \"Permanent Redirect\": \"Постоянно пренасочване\",\n    \"Permanently delete this team.\": \"Изтрийте тази команда завинаги.\",\n    \"Permanently delete your account.\": \"Изтрийте профила си завинаги.\",\n    \"Permissions\": \"Разрешение\",\n    \"Photo\": \"Снимка\",\n    \"Please click the button below to verify your email address.\": \"Моля, кликнете върху бутона по-долу, за да потвърдите имейл адреса си.\",\n    \"Please confirm access to your account by entering one of your emergency recovery codes.\": \"Моля, потвърдете достъпа до профила си, като въведете един от кодовете за възстановяване при бедствия.\",\n    \"Please confirm access to your account by entering the authentication code provided by your authenticator application.\": \"Моля, потвърдете достъпа до профила си, като въведете кода за удостоверяване, предоставен от вашето приложение за удостоверяване.\",\n    \"Please copy your new API token. For your security, it won't be shown again.\": \"Моля, копирайте новия си API знак. За вашата безопасност, тя вече няма да бъде показана.\",\n    \"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\": \"Моля, въведете паролата си, за да потвърдите, че искате да излезете от други сесии на браузъра на всичките си устройства.\",\n    \"Please provide the email address of the person you would like to add to this team.\": \"Моля, посочете имейл адреса на лицето, което искате да добавите към тази команда.\",\n    \"Precondition Failed\": \"Неуспешно предварително условие\",\n    \"Precondition Required\": \"Изисква се предварително условие\",\n    \"Preview\": \"Визуализация\",\n    \"Price\": \"Цена\",\n    \"Privacy Policy\": \"Политика за поверителност\",\n    \"Processing\": \"Обработка\",\n    \"Profile\": \"Профил\",\n    \"Profile Information\": \"Информация за профила\",\n    \"Proxy Authentication Required\": \"Изисква се удостоверяване на прокси\",\n    \"Railgun Error\": \"Грешка с релсов пистолет\",\n    \"Range Not Satisfiable\": \"Диапазонът не е задоволим\",\n    \"Record\": \"Записвайте\",\n    \"Recovery Code\": \"Код за възстановяване\",\n    \"Regards\": \"С уважение\",\n    \"Regenerate Recovery Codes\": \"Регенериране на кодовете за възстановяване\",\n    \"Register\": \"Регистрирам\",\n    \"Remember me\": \"Запомни ме.\",\n    \"Remove\": \"Премахвам\",\n    \"Remove Photo\": \"Премахни снимка\",\n    \"Remove Team Member\": \"Премахни член на екипа\",\n    \"Request Header Fields Too Large\": \"Заглавните полета на заявката са твърде големи\",\n    \"Request Timeout\": \"Искането е изтекло\",\n    \"Resend Verification Email\": \"Изпрати повторно писмо за потвърждение\",\n    \"Reset Content\": \"Нулиране на съдържанието\",\n    \"Reset Password\": \"парола\",\n    \"Reset Password Notification\": \"Известие за нулиране на паролата\",\n    \"Restore\": \"Възстановявам\",\n    \"Restore :name\": \"Възстановяване :name\",\n    \"results\": \"резултат\",\n    \"Retry With\": \"Опитайте отново с\",\n    \"Role\": \"Роля\",\n    \"Save\": \"Запазя\",\n    \"Save & Close\": \"Запазване и затваряне\",\n    \"Save & Return\": \"Запазване и връщане\",\n    \"Save :name\": \"Спестете :name\",\n    \"Saved.\": \"Запазено.\",\n    \"Search\": \"Търсене\",\n    \"Search :name\": \"Търсене :name\",\n    \"See Other\": \"Вижте Други\",\n    \"Select\": \"Избери\",\n    \"Select A New Photo\": \"Избери нова снимка\",\n    \"Select All\": \"Избери всички\",\n    \"Send\": \"Изпратете\",\n    \"Server Error\": \"Грешка\",\n    \"Service Unavailable\": \"Услугата е недостъпна\",\n    \"Session Has Expired\": \"Сесията е изтекла\",\n    \"Settings\": \"Настройки\",\n    \"Setup Key\": \"Ключ за настройка\",\n    \"Show\": \"Покажи\",\n    \"Show :name\": \"Покажи :name\",\n    \"Show All\": \"Покажи всички\",\n    \"Show Recovery Codes\": \"Показване На Кодове За Възстановяване\",\n    \"Showing\": \"Импресия\",\n    \"Sign In\": \"Впиши се\",\n    \"Solve\": \"Решете\",\n    \"SSL Handshake Failed\": \"Неуспешно SSL ръкостискане\",\n    \"Start\": \"Започнете\",\n    \"Stop\": \"Спри се\",\n    \"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\": \"Съхранявайте тези кодове за възстановяване в сигурен мениджър на пароли. Те могат да бъдат използвани за възстановяване на достъпа до профила ви, ако вашето устройство за двуфакторно удостоверяване е загубено.\",\n    \"Submit\": \"Изпращане\",\n    \"Subscribe\": \"Абонирай се\",\n    \"Switch\": \"Превключване\",\n    \"Switch Teams\": \"Превключване на команди\",\n    \"Switch To Role\": \"Превключване към роля\",\n    \"Switching Protocols\": \"Протоколи за превключване\",\n    \"Tag\": \"Етикет\",\n    \"Tags\": \"Етикети\",\n    \"Team Details\": \"Подробности за екипа\",\n    \"Team Invitation\": \"Покана за екип\",\n    \"Team Members\": \"Екип\",\n    \"Team Name\": \"Име на екип\",\n    \"Team Owner\": \"Собственикът на отбора\",\n    \"Team Settings\": \"Настройки на команда\",\n    \"Temporary Redirect\": \"Временно пренасочване\",\n    \"Terms of Service\": \"условие\",\n    \"The :attribute must be a valid role.\": \":Attribute трябва да бъде валидна роля.\",\n    \"The :attribute must be at least :length characters and contain at least one number.\": \":Attribute трябва да съдържа най-малко :length знака и да съдържа поне един номер.\",\n    \"The :attribute must be at least :length characters and contain at least one special character and one number.\": \":Attribute трябва да съдържа най-малко :length знака и да съдържа най-малко един специален символ и един номер.\",\n    \"The :attribute must be at least :length characters and contain at least one special character.\": \":Attribute трябва да съдържа най-малко :length знака и да съдържа поне един специален символ.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one number.\": \":Attribute трябва да съдържа най-малко :length знака и да съдържа най-малко един главен символ и едно число.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.\": \":Attribute трябва да съдържа най-малко :length знака и да съдържа най-малко един главен символ и един специален символ.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.\": \":Attribute трябва да съдържа най-малко :length символа и да съдържа най-малко един главен символ, един номер и един специален символ.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character.\": \":Attribute трябва да съдържа най-малко :length знака и най-малко един главни букви.\",\n    \"The :attribute must be at least :length characters.\": \":Attribute трябва да съдържа най-малко :length знака.\",\n    \"The given data was invalid.\": \"Дадените данни бяха невалидни.\",\n    \"The password is incorrect.\": \"Паролата е неправилна.\",\n    \"The provided password does not match your current password.\": \"Предоставената парола не съответства на текущата ви парола.\",\n    \"The provided password was incorrect.\": \"Предоставената парола е грешна.\",\n    \"The provided two factor authentication code was invalid.\": \"Предоставеният код за двуфакторно удостоверяване е невалиден.\",\n    \"The provided two factor recovery code was invalid.\": \"Предоставеният двуфакторен код за възстановяване е невалиден.\",\n    \"The response is not a streamed response.\": \"Отговорът не е поточен отговор.\",\n    \"The response is not a view.\": \"Отговорът не е изглед.\",\n    \"The team's name and owner information.\": \"Име на екипа и информация за собственика.\",\n    \"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\": \"Тези хора бяха поканени във вашия екип и получиха покана по имейл. Те могат да се присъединят към екипа, като приемат покана по имейл.\",\n    \"This action is unauthorized.\": \"Това действие е неразрешено.\",\n    \"This device\": \"Това устройство\",\n    \"This is a secure area of the application. Please confirm your password before continuing.\": \"Това е безопасна област на приложение. Моля, потвърдете паролата си, преди да продължите.\",\n    \"This password does not match our records.\": \"Тази парола не съвпада с нашите записи.\",\n    \"This password reset link will expire in :count minutes.\": \"Тази връзка за нулиране на паролата изтича след :count минути.\",\n    \"This user already belongs to the team.\": \"Този потребител вече принадлежи на екипа.\",\n    \"This user has already been invited to the team.\": \"Този потребител вече е поканен в екипа.\",\n    \"to\": \"към\",\n    \"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\": \"За да завършите активирането на двуфакторно удостоверяване, сканирайте следния QR код, като използвате приложението за удостоверяване на телефона си или въведете ключа за настройка и предоставете генерирания OTP код.\",\n    \"Toggle navigation\": \"Превключване на навигацията\",\n    \"Token Name\": \"Име на символ\",\n    \"Too Early\": \"Твърде рано\",\n    \"Too Many Requests\": \"Твърде много заявки\",\n    \"Translate\": \"Превеждай\",\n    \"Translate It\": \"Преведи го\",\n    \"Two Factor Authentication\": \"Двуфакторно удостоверяване\",\n    \"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\": \"Двуфакторното удостоверяване вече е активирано. Сканирайте следния QR код, като използвате приложението за удостоверяване на телефона си или въведете ключа за настройка.\",\n    \"Unauthorized\": \"Неоторизиран\",\n    \"Unavailable For Legal Reasons\": \"Недостъпно поради правни причини\",\n    \"Unknown\": \"Неизвестен\",\n    \"Unknown Error\": \"Неизвестна грешка\",\n    \"Unpack\": \"Разопаковайте\",\n    \"Unprocessable Entity\": \"Необработваем субект\",\n    \"Unsubscribe\": \"Отписване\",\n    \"Unsupported Media Type\": \"Неподдържан тип медия\",\n    \"Up\": \"нагоре\",\n    \"Update\": \"Актуализация\",\n    \"Update :name\": \"Актуализация :name\",\n    \"Update Password\": \"Обновяване на паролата\",\n    \"Update your account's profile information and email address.\": \"Актуализирайте информацията за профила на профила и имейл адреса си.\",\n    \"Upgrade Required\": \"Изисква се надграждане\",\n    \"URI Too Long\": \"Твърде дълъг URI\",\n    \"Use a recovery code\": \"Използвайте кода за възстановяване\",\n    \"Use an authentication code\": \"Използвайте кода за удостоверяване\",\n    \"Use Proxy\": \"Използвай прокси\",\n    \"User\": \"Потребител\",\n    \"Variant Also Negotiates\": \"Вариантът също се договаря\",\n    \"Verify Email Address\": \"Потвърди имейл адреса\",\n    \"View\": \"Виж\",\n    \"View :name\": \"Преглед :name\",\n    \"We were unable to find a registered user with this email address.\": \"Не успяхме да намерим регистриран потребител с този имейл адрес.\",\n    \"Web Server is Down\": \"Уеб сървърът не работи\",\n    \"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\": \"Ако е активирано двуфакторно удостоверяване, по време на удостоверяването ще бъдете подканени да въведете защитен произволен символ. Можете да получите този знак от приложението Google Authenticator на телефона си.\",\n    \"Whoops!\": \"Опа!\",\n    \"Whoops! Something went wrong.\": \"Опа! Нещо се обърка.\",\n    \"Yes\": \"А\",\n    \"You are receiving this email because we received a password reset request for your account.\": \"Получавате този имейл, защото сте заявили искане за нулиране на паролата за профила ви.\",\n    \"You have been invited to join the :team team!\": \"Вие сте поканени да се присъедините към екип :team!\",\n    \"You have enabled two factor authentication.\": \"Включихте двуфакторно удостоверяване.\",\n    \"You have not enabled two factor authentication.\": \"Не сте активирали двуфакторното удостоверяване.\",\n    \"You may accept this invitation by clicking the button below:\": \"Можете да приемете тази покана, кликайки бутона по-долу:\",\n    \"You may delete any of your existing tokens if they are no longer needed.\": \"Можете да изтриете някой от съществуващите си символи, ако вече не са необходими.\",\n    \"You may not delete your personal team.\": \"Нямате право да изтривате личната си команда.\",\n    \"You may not leave a team that you created.\": \"Не можете да напуснете създадения от вас екип.\",\n    \"Your email address is unverified.\": \"Вашият имейл адрес не е потвърден.\"\n}"
  },
  {
    "path": "resources/lang/de/actions.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accept'          => 'Akzeptieren',\n    'action'          => 'Aktion',\n    'actions'         => 'Aktionen',\n    'add'             => 'Hinzufügen',\n    'admin'           => 'Administrator',\n    'agree'           => 'Zustimmen',\n    'archive'         => 'Archiv',\n    'assign'          => 'Zuordnen',\n    'associate'       => 'Assoziieren',\n    'attach'          => 'Anfügen',\n    'browse'          => 'Durchsuche',\n    'cancel'          => 'Stornieren',\n    'choose'          => 'Wählen',\n    'choose_file'     => 'Datei wählen',\n    'choose_image'    => 'Wählen Sie Bild',\n    'click_to_copy'   => 'Klicken Sie zum Kopieren',\n    'close'           => 'Schließen',\n    'collapse'        => 'Zusammenbruch',\n    'collapse_all'    => 'Alles reduzieren',\n    'comment'         => 'Kommentar',\n    'confirm'         => 'Bestätigen',\n    'connect'         => 'Verbinden',\n    'create'          => 'Erstellen',\n    'delete'          => 'Löschen',\n    'detach'          => 'Ablösen',\n    'details'         => 'Einzelheiten',\n    'disable'         => 'Deaktivieren',\n    'discard'         => 'Verwerfen',\n    'done'            => 'Erledigt',\n    'down'            => 'Runter',\n    'duplicate'       => 'Duplikat',\n    'edit'            => 'Bearbeiten',\n    'enable'          => 'Aktivieren',\n    'expand'          => 'Expandieren',\n    'expand_all'      => 'Alle erweitern',\n    'explanation'     => 'Erläuterung',\n    'export'          => 'Export',\n    'file'            => 'Datei',\n    'files'           => 'Dateien',\n    'go_home'         => 'Nach Hause gehen',\n    'hide'            => 'Verstecken',\n    'home'            => 'Heim',\n    'image'           => 'Bild',\n    'impersonate'     => 'Imitieren',\n    'impersonation'   => 'Identitätswechsel',\n    'import'          => 'Importieren',\n    'introduction'    => 'Einführung',\n    'like'            => 'Wie',\n    'load'            => 'Belastung',\n    'localize'        => 'Lokalisieren',\n    'log_in'          => 'Anmeldung',\n    'log_out'         => 'Ausloggen',\n    'named'           => [\n        'add'       => 'Addiere :name',\n        'choose'    => 'Wählen Sie :name',\n        'create'    => 'Erstellen Sie :name',\n        'delete'    => ':name löschen',\n        'duplicate' => 'Duplikat :name',\n        'edit'      => 'Bearbeiten :name',\n        'export'    => 'Export :name',\n        'hide'      => ':name ausblenden',\n        'import'    => 'Importieren Sie :name',\n        'new'       => 'Neu :name',\n        'restore'   => ':name wiederherstellen',\n        'save'      => 'Sparen Sie :name',\n        'search'    => 'Suche :name',\n        'show'      => ':name anzeigen',\n        'update'    => 'Update :name',\n        'view'      => 'Ansicht :name',\n    ],\n    'new'             => 'Neu',\n    'no'              => 'NEIN',\n    'open'            => 'Offen',\n    'open_website'    => 'Auf der Website öffnen',\n    'preview'         => 'Vorschau',\n    'price'           => 'Preis',\n    'record'          => 'Aufzeichnen',\n    'restore'         => 'Wiederherstellen',\n    'save'            => 'Speichern',\n    'save_and_close'  => 'Speichern und schließen',\n    'save_and_return' => 'Speichern und zurückgeben',\n    'search'          => 'Suchen',\n    'select'          => 'Wählen',\n    'select_all'      => 'Wählen Sie Alle',\n    'send'            => 'Schicken',\n    'settings'        => 'Einstellungen',\n    'show'            => 'Zeigen',\n    'show_all'        => 'Zeige alles',\n    'sign_in'         => 'Anmelden',\n    'solve'           => 'Lösen',\n    'start'           => 'Start',\n    'stop'            => 'Stoppen',\n    'submit'          => 'Einreichen',\n    'subscribe'       => 'Abonnieren',\n    'switch'          => 'Schalten',\n    'switch_to_role'  => 'Zur Rolle wechseln',\n    'tag'             => 'Etikett',\n    'tags'            => 'Stichworte',\n    'target_link'     => [\n        'blank'  => 'In einem neuen Fenster öffnen',\n        'parent' => 'In einem übergeordneten Frame öffnen',\n        'self'   => 'In einem aktuellen Fenster öffnen',\n        'top'    => 'Im obersten Rahmen öffnen',\n    ],\n    'translate'       => 'Übersetzen',\n    'translate_it'    => 'Übersetze es',\n    'unpack'          => 'Auspacken',\n    'unsubscribe'     => 'Abbestellen',\n    'up'              => 'Hoch',\n    'update'          => 'Aktualisieren',\n    'user'            => 'Benutzer',\n    'view'            => 'Sicht',\n    'yes'             => 'Ja',\n];\n"
  },
  {
    "path": "resources/lang/de/auth.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'failed'   => 'Diese Kombination aus Zugangsdaten wurde nicht in unserer Datenbank gefunden.',\n    'password' => 'Das Passwort ist falsch.',\n    'throttle' => 'Zu viele Loginversuche. Versuchen Sie es bitte in :seconds Sekunden nochmal.',\n];\n"
  },
  {
    "path": "resources/lang/de/http-statuses.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    '0'            => 'Unbekannter Fehler',\n    '100'          => 'Weiter',\n    '101'          => 'Schaltprotokolle',\n    '102'          => 'Verarbeitung',\n    '200'          => 'OK',\n    '201'          => 'Erstellt',\n    '202'          => 'Akzeptiert',\n    '203'          => 'Nicht maßgebende Informationen',\n    '204'          => 'Kein Inhalt',\n    '205'          => 'Inhalt zurücksetzen',\n    '206'          => 'Teilinhalt',\n    '207'          => 'Multistatus',\n    '208'          => 'Bereits gemeldet',\n    '226'          => 'IM verwendet',\n    '300'          => 'Mehrfachauswahl',\n    '301'          => 'Permanent verschoben',\n    '302'          => 'Gefunden',\n    '303'          => 'Andere sehen',\n    '304'          => 'Nicht modifiziert',\n    '305'          => 'Proxy verwenden',\n    '307'          => 'Temporäre Weiterleitung',\n    '308'          => 'Permanente Weiterleitung',\n    '400'          => 'Schlechte Anfrage',\n    '401'          => 'Nicht autorisiert',\n    '402'          => 'Zahlung erforderlich',\n    '403'          => 'Verboten',\n    '404'          => 'Seite nicht gefunden',\n    '405'          => 'Methode nicht erlaubt',\n    '406'          => 'Nicht annehmbar',\n    '407'          => 'Proxy-Authentifizierung erforderlich',\n    '408'          => 'Zeitüberschreitung anfordern',\n    '409'          => 'Konflikt',\n    '410'          => 'Gegangen',\n    '411'          => 'Länge erforderlich',\n    '412'          => 'Vorbedingung fehlgeschlagen',\n    '413'          => 'Nutzlast zu groß',\n    '414'          => 'URI zu lang',\n    '415'          => 'Nicht unterstützter Medientyp',\n    '416'          => 'Bereich nicht erfüllbar',\n    '417'          => 'Erwartung gescheitert',\n    '418'          => 'Ich bin eine Teekanne',\n    '419'          => 'Sitzung ist abgelaufen',\n    '421'          => 'Fehlgeleitete Anfrage',\n    '422'          => 'Unverfügbare Entität',\n    '423'          => 'Gesperrt',\n    '424'          => 'Fehlgeschlagene Abhängigkeit',\n    '425'          => 'Zu früh',\n    '426'          => 'Upgrade erforderlich',\n    '428'          => 'Voraussetzung erforderlich',\n    '429'          => 'Zu viele Anfragen',\n    '431'          => 'Kopfzeilenfelder zu groß anfordern',\n    '444'          => 'Verbindung ohne Antwort geschlossen',\n    '449'          => 'Wiederhole mit',\n    '451'          => 'Aus rechtlichen Gründen nicht verfügbar',\n    '499'          => 'Client-Closed-Request',\n    '500'          => 'Interner Serverfehler',\n    '501'          => 'Nicht implementiert',\n    '502'          => 'Schlechtes Tor',\n    '503'          => 'Wartungsmodus',\n    '504'          => 'Gateway-Zeitüberschreitung',\n    '505'          => 'HTTP Version nicht unterstützt',\n    '506'          => 'Variante verhandelt auch',\n    '507'          => 'Ungenügende Speicherung',\n    '508'          => 'Schleife erkannt',\n    '509'          => 'Bandbreitengrenze überschritten',\n    '510'          => 'Nicht erweitert',\n    '511'          => 'Netzwerkauthentifizierung erforderlich',\n    '520'          => 'Unbekannter Fehler',\n    '521'          => 'Webserver ist ausgefallen',\n    '522'          => 'Verbindung abgelaufen',\n    '523'          => 'Ursprung ist nicht erreichbar',\n    '524'          => 'Ein Timeout ist aufgetreten',\n    '525'          => 'SSL Handshake fehlgeschlagen',\n    '526'          => 'Ungültiges SSL-Zertifikat',\n    '527'          => 'Railgun-Fehler',\n    '598'          => 'Zeitüberschreitungsfehler beim Lesen des Netzwerks',\n    '599'          => 'Zeitüberschreitungsfehler bei Netzwerkverbindung',\n    'unknownError' => 'Unbekannter Fehler',\n];\n"
  },
  {
    "path": "resources/lang/de/pagination.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'next'     => 'Weiter &raquo;',\n    'previous' => '&laquo; Zurück',\n];\n"
  },
  {
    "path": "resources/lang/de/passwords.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'reset'     => 'Das Passwort wurde zurückgesetzt!',\n    'sent'      => 'E-Mail zum Zurücksetzen des Passworts wurde gesendet!',\n    'throttled' => 'Bitte warten Sie, bevor Sie es erneut versuchen.',\n    'token'     => 'Der Passwort-Wiederherstellungsschlüssel ist ungültig oder abgelaufen.',\n    'user'      => 'Es konnte leider kein Nutzer mit dieser E-Mail-Adresse gefunden werden.',\n];\n"
  },
  {
    "path": "resources/lang/de/validation.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accepted'             => ':Attribute muss akzeptiert werden.',\n    'accepted_if'          => ':Attribute muss akzeptiert werden, wenn :other :value ist.',\n    'active_url'           => ':Attribute ist keine gültige Internet-Adresse.',\n    'after'                => ':Attribute muss ein Datum nach :date sein.',\n    'after_or_equal'       => ':Attribute muss ein Datum nach :date oder gleich :date sein.',\n    'alpha'                => ':Attribute darf nur aus Buchstaben bestehen.',\n    'alpha_dash'           => ':Attribute darf nur aus Buchstaben, Zahlen, Binde- und Unterstrichen bestehen.',\n    'alpha_num'            => ':Attribute darf nur aus Buchstaben und Zahlen bestehen.',\n    'array'                => ':Attribute muss ein Array sein.',\n    'ascii'                => 'Die :attribute darf nur alphanumerische Single-Byte-Zeichen und -Symbole enthalten.',\n    'attached'             => ':attribute ist bereits angehängt.',\n    'before'               => ':Attribute muss ein Datum vor :date sein.',\n    'before_or_equal'      => ':Attribute muss ein Datum vor :date oder gleich :date sein.',\n    'between'              => [\n        'array'   => ':Attribute muss zwischen :min & :max Elemente haben.',\n        'file'    => ':Attribute muss zwischen :min & :max Kilobytes groß sein.',\n        'numeric' => ':Attribute muss zwischen :min & :max liegen.',\n        'string'  => ':Attribute muss zwischen :min & :max Zeichen lang sein.',\n    ],\n    'boolean'              => ':Attribute muss entweder \\'true\\' oder \\'false\\' sein.',\n    'can'                  => 'Das Feld :attribute enthält einen nicht autorisierten Wert.',\n    'confirmed'            => ':Attribute stimmt nicht mit der Bestätigung überein.',\n    'contains'             => 'Dem Feld :attribute fehlt ein erforderlicher Wert.',\n    'current_password'     => 'Das Passwort ist falsch.',\n    'date'                 => ':Attribute muss ein gültiges Datum sein.',\n    'date_equals'          => ':Attribute muss ein Datum gleich :date sein.',\n    'date_format'          => ':Attribute entspricht nicht dem gültigen Format für :format.',\n    'decimal'              => 'Die :attribute muss :decimal Dezimalstellen haben.',\n    'declined'             => ':Attribute muss abgelehnt werden.',\n    'declined_if'          => ':Attribute muss abgelehnt werden wenn :other :value ist.',\n    'different'            => ':Attribute und :other müssen sich unterscheiden.',\n    'digits'               => ':Attribute muss :digits Stellen haben.',\n    'digits_between'       => ':Attribute muss zwischen :min und :max Stellen haben.',\n    'dimensions'           => ':Attribute hat ungültige Bildabmessungen.',\n    'distinct'             => ':Attribute beinhaltet einen bereits vorhandenen Wert.',\n    'doesnt_end_with'      => ':Attribute darf nicht mit einem der folgenden enden: :values.',\n    'doesnt_start_with'    => ':Attribute darf nicht mit einem der folgenden beginnen: :values.',\n    'email'                => ':Attribute muss eine gültige E-Mail-Adresse sein.',\n    'ends_with'            => ':Attribute muss eine der folgenden Endungen aufweisen: :values',\n    'enum'                 => 'Der ausgewählte Wert ist ungültig.',\n    'exists'               => 'Der gewählte Wert für :attribute ist ungültig.',\n    'extensions'           => 'Das Feld :attribute muss eine der folgenden Erweiterungen haben: :values.',\n    'file'                 => ':Attribute muss eine Datei sein.',\n    'filled'               => ':Attribute muss ausgefüllt sein.',\n    'gt'                   => [\n        'array'   => ':Attribute muss mehr als :value Elemente haben.',\n        'file'    => ':Attribute muss größer als :value Kilobytes sein.',\n        'numeric' => ':Attribute muss größer als :value sein.',\n        'string'  => ':Attribute muss länger als :value Zeichen sein.',\n    ],\n    'gte'                  => [\n        'array'   => ':Attribute muss mindestens :value Elemente haben.',\n        'file'    => ':Attribute muss größer oder gleich :value Kilobytes sein.',\n        'numeric' => ':Attribute muss größer oder gleich :value sein.',\n        'string'  => ':Attribute muss mindestens :value Zeichen lang sein.',\n    ],\n    'hex_color'            => 'Das Feld :attribute muss eine gültige Hexadezimalfarbe sein.',\n    'image'                => ':Attribute muss ein Bild sein.',\n    'in'                   => 'Der gewählte Wert für :attribute ist ungültig.',\n    'in_array'             => 'Der gewählte Wert für :attribute kommt nicht in :other vor.',\n    'integer'              => ':Attribute muss eine ganze Zahl sein.',\n    'ip'                   => ':Attribute muss eine gültige IP-Adresse sein.',\n    'ipv4'                 => ':Attribute muss eine gültige IPv4-Adresse sein.',\n    'ipv6'                 => ':Attribute muss eine gültige IPv6-Adresse sein.',\n    'json'                 => ':Attribute muss ein gültiger JSON-String sein.',\n    'list'                 => ':Attribute muss eine Liste sein.',\n    'lowercase'            => ':Attribute muss in Kleinbuchstaben sein.',\n    'lt'                   => [\n        'array'   => ':Attribute muss weniger als :value Elemente haben.',\n        'file'    => ':Attribute muss kleiner als :value Kilobytes sein.',\n        'numeric' => ':Attribute muss kleiner als :value sein.',\n        'string'  => ':Attribute muss kürzer als :value Zeichen sein.',\n    ],\n    'lte'                  => [\n        'array'   => ':Attribute darf maximal :value Elemente haben.',\n        'file'    => ':Attribute muss kleiner oder gleich :value Kilobytes sein.',\n        'numeric' => ':Attribute muss kleiner oder gleich :value sein.',\n        'string'  => ':Attribute darf maximal :value Zeichen lang sein.',\n    ],\n    'mac_address'          => 'Der Wert muss eine gültige MAC-Adresse sein.',\n    'max'                  => [\n        'array'   => ':Attribute darf maximal :max Elemente haben.',\n        'file'    => ':Attribute darf maximal :max Kilobytes groß sein.',\n        'numeric' => ':Attribute darf maximal :max sein.',\n        'string'  => ':Attribute darf maximal :max Zeichen haben.',\n    ],\n    'max_digits'           => ':Attribute darf maximal :max Ziffern lang sein.',\n    'mimes'                => ':Attribute muss den Dateityp :values haben.',\n    'mimetypes'            => ':Attribute muss den Dateityp :values haben.',\n    'min'                  => [\n        'array'   => ':Attribute muss mindestens :min Elemente haben.',\n        'file'    => ':Attribute muss mindestens :min Kilobytes groß sein.',\n        'numeric' => ':Attribute muss mindestens :min sein.',\n        'string'  => ':Attribute muss mindestens :min Zeichen lang sein.',\n    ],\n    'min_digits'           => ':Attribute muss mindestens :min Ziffern lang sein.',\n    'missing'              => 'Das Feld :attribute muss fehlen.',\n    'missing_if'           => 'Das Feld :attribute muss fehlen, wenn :other gleich :value ist.',\n    'missing_unless'       => 'Das Feld :attribute muss fehlen, es sei denn, :other ist :value.',\n    'missing_with'         => 'Das Feld :attribute muss fehlen, wenn :values vorhanden ist.',\n    'missing_with_all'     => 'Das Feld :attribute muss fehlen, wenn :values vorhanden sind.',\n    'multiple_of'          => ':Attribute muss ein Vielfaches von :value sein.',\n    'not_in'               => 'Der gewählte Wert für :attribute ist ungültig.',\n    'not_regex'            => ':Attribute hat ein ungültiges Format.',\n    'numeric'              => ':Attribute muss eine Zahl sein.',\n    'password'             => [\n        'letters'       => ':Attribute muss mindestens einen Buchstaben beinhalten.',\n        'mixed'         => ':Attribute muss mindestens einen Großbuchstaben und einen Kleinbuchstaben beinhalten.',\n        'numbers'       => ':Attribute muss mindestens eine Zahl beinhalten.',\n        'symbols'       => ':Attribute muss mindestens ein Sonderzeichen beinhalten.',\n        'uncompromised' => ':Attribute wurde in einem Datenleck gefunden. Bitte wählen Sie ein anderes :attribute.',\n    ],\n    'present'              => ':Attribute muss vorhanden sein.',\n    'present_if'           => 'Das Feld :attribute muss vorhanden sein, wenn :other gleich :value ist.',\n    'present_unless'       => 'Das Feld :attribute muss vorhanden sein, es sei denn, :other ist :value.',\n    'present_with'         => 'Das Feld :attribute muss vorhanden sein, wenn :values vorhanden ist.',\n    'present_with_all'     => 'Das Feld :attribute muss vorhanden sein, wenn :values vorhanden sind.',\n    'prohibited'           => ':Attribute ist unzulässig.',\n    'prohibited_if'        => ':Attribute ist unzulässig, wenn :other :value ist.',\n    'prohibited_unless'    => ':Attribute ist unzulässig, wenn :other nicht :values ist.',\n    'prohibits'            => ':Attribute verbietet die Angabe von :other.',\n    'regex'                => ':Attribute Format ist ungültig.',\n    'relatable'            => ':attribute kann nicht mit dieser Ressource verbunden werden.',\n    'required'             => ':Attribute muss ausgefüllt werden.',\n    'required_array_keys'  => 'Dieses Feld muss Einträge enthalten für: :values.',\n    'required_if'          => ':Attribute muss ausgefüllt werden, wenn :other den Wert :value hat.',\n    'required_if_accepted' => ':Attribute muss ausgefüllt werden, wenn :other gewählt ist.',\n    'required_if_declined' => 'Das Feld :attribute ist erforderlich, wenn :other abgelehnt wird.',\n    'required_unless'      => ':Attribute muss ausgefüllt werden, wenn :other nicht den Wert :values hat.',\n    'required_with'        => ':Attribute muss ausgefüllt werden, wenn :values ausgefüllt wurde.',\n    'required_with_all'    => ':Attribute muss ausgefüllt werden, wenn :values ausgefüllt wurde.',\n    'required_without'     => ':Attribute muss ausgefüllt werden, wenn :values nicht ausgefüllt wurde.',\n    'required_without_all' => ':Attribute muss ausgefüllt werden, wenn keines der Felder :values ausgefüllt wurde.',\n    'same'                 => ':Attribute und :other müssen übereinstimmen.',\n    'size'                 => [\n        'array'   => ':Attribute muss genau :size Elemente haben.',\n        'file'    => ':Attribute muss :size Kilobyte groß sein.',\n        'numeric' => ':Attribute muss gleich :size sein.',\n        'string'  => ':Attribute muss :size Zeichen lang sein.',\n    ],\n    'starts_with'          => ':Attribute muss mit einem der folgenden Anfänge aufweisen: :values',\n    'string'               => ':Attribute muss ein String sein.',\n    'timezone'             => ':Attribute muss eine gültige Zeitzone sein.',\n    'ulid'                 => 'Die :attribute muss eine gültige ULID sein.',\n    'unique'               => ':Attribute ist bereits vergeben.',\n    'uploaded'             => ':Attribute konnte nicht hochgeladen werden.',\n    'uppercase'            => ':Attribute muss in Großbuchstaben sein.',\n    'url'                  => ':Attribute muss eine URL sein.',\n    'uuid'                 => ':Attribute muss ein UUID sein.',\n    'attributes'           => [\n        'address'                  => 'Adresse',\n        'affiliate_url'            => 'Affiliate-URL',\n        'age'                      => 'Alter',\n        'amount'                   => 'Höhe',\n        'announcement'             => 'Bekanntmachung',\n        'area'                     => 'Gebiet',\n        'audience_prize'           => 'Publikumspreis',\n        'available'                => 'Verfügbar',\n        'birthday'                 => 'Geburtstag',\n        'body'                     => 'Körper',\n        'city'                     => 'Stadt',\n        'compilation'              => 'Zusammenstellung',\n        'concept'                  => 'Konzept',\n        'conditions'               => 'Bedingungen',\n        'content'                  => 'Inhalt',\n        'country'                  => 'Land',\n        'cover'                    => 'Abdeckung',\n        'created_at'               => 'Erstellt am',\n        'creator'                  => 'Ersteller',\n        'currency'                 => 'Währung',\n        'current_password'         => 'Derzeitiges Passwort',\n        'customer'                 => 'Kunde',\n        'date'                     => 'Datum',\n        'date_of_birth'            => 'Geburtsdatum',\n        'dates'                    => 'Termine',\n        'day'                      => 'Tag',\n        'deleted_at'               => 'Gelöscht am',\n        'description'              => 'Beschreibung',\n        'display_type'             => 'Anzeigetyp',\n        'district'                 => 'Bezirk',\n        'duration'                 => 'Dauer',\n        'email'                    => 'E-Mail-Adresse',\n        'excerpt'                  => 'Auszug',\n        'filter'                   => 'Filter',\n        'finished_at'              => 'fertig um',\n        'first_name'               => 'Vorname',\n        'gender'                   => 'Geschlecht',\n        'grand_prize'              => 'Hauptpreis',\n        'group'                    => 'Gruppe',\n        'hour'                     => 'Stunde',\n        'image'                    => 'Bild',\n        'image_desktop'            => 'Desktop-Bild',\n        'image_main'               => 'Hauptbild',\n        'image_mobile'             => 'mobiles Bild',\n        'images'                   => 'Bilder',\n        'is_audience_winner'       => 'ist Publikumssieger',\n        'is_hidden'                => 'ist versteckt',\n        'is_subscribed'            => 'ist abonniert',\n        'is_visible'               => 'ist sichtbar',\n        'is_winner'                => 'ist Gewinner',\n        'items'                    => 'Artikel',\n        'key'                      => 'Schlüssel',\n        'last_name'                => 'Nachname',\n        'lesson'                   => 'Lektion',\n        'line_address_1'           => 'Adresszeile 1',\n        'line_address_2'           => 'Adresszeile 2',\n        'login'                    => 'Anmeldung',\n        'message'                  => 'Nachricht',\n        'middle_name'              => 'Zweitname',\n        'minute'                   => 'Minute',\n        'mobile'                   => 'Handynummer',\n        'month'                    => 'Monat',\n        'name'                     => 'Name',\n        'national_code'            => 'Länderkennung',\n        'number'                   => 'Nummer',\n        'password'                 => 'Passwort',\n        'password_confirmation'    => 'Passwortbestätigung',\n        'phone'                    => 'Telefonnummer',\n        'photo'                    => 'Foto',\n        'portfolio'                => 'Portfolio',\n        'postal_code'              => 'Postleitzahl',\n        'preview'                  => 'Vorschau',\n        'price'                    => 'Preis',\n        'product_id'               => 'Produkt ID',\n        'product_uid'              => 'Produkt-UID',\n        'product_uuid'             => 'Produkt-UUID',\n        'promo_code'               => 'Aktionscode',\n        'province'                 => 'Provinz',\n        'quantity'                 => 'Menge',\n        'reason'                   => 'Grund',\n        'recaptcha_response_field' => 'Captcha-Feld',\n        'referee'                  => 'Schiedsrichter',\n        'referees'                 => 'Schiedsrichter',\n        'reject_reason'            => 'Ablehnungsgrund',\n        'remember'                 => 'Erinnern',\n        'restored_at'              => 'Wiederhergestellt am',\n        'result_text_under_image'  => 'Ergebnistext unter Bild',\n        'role'                     => 'Rolle',\n        'rule'                     => 'Regel',\n        'rules'                    => 'Regeln',\n        'second'                   => 'Sekunde',\n        'sex'                      => 'Geschlecht',\n        'shipment'                 => 'Sendung',\n        'short_text'               => 'Kurzer Text',\n        'size'                     => 'Größe',\n        'skills'                   => 'Fähigkeiten',\n        'slug'                     => 'Schnecke',\n        'specialization'           => 'Spezialisierung',\n        'started_at'               => 'fing an bei',\n        'state'                    => 'Bundesland',\n        'status'                   => 'Status',\n        'street'                   => 'Straße',\n        'student'                  => 'Schüler/Student',\n        'subject'                  => 'Gegenstand',\n        'tag'                      => 'Etikett',\n        'tags'                     => 'Stichworte',\n        'teacher'                  => 'Lehrer',\n        'terms'                    => 'Bedingungen',\n        'test_description'         => 'Test Beschreibung',\n        'test_locale'              => 'Test Region',\n        'test_name'                => 'Testname',\n        'text'                     => 'Text',\n        'time'                     => 'Uhrzeit',\n        'title'                    => 'Titel',\n        'type'                     => 'Typ',\n        'updated_at'               => 'Aktualisiert am',\n        'user'                     => 'Benutzer',\n        'username'                 => 'Benutzername',\n        'value'                    => 'Wert',\n        'year'                     => 'Jahr',\n    ],\n];\n"
  },
  {
    "path": "resources/lang/de.json",
    "content": "{\n    \"(and :count more error)\": \"(und :count weiterer Fehler)\",\n    \"(and :count more errors)\": \"(und :count weiterer Fehler)|(und :count weitere Fehler)|(und :count weitere Fehler)\",\n    \"A new verification link has been sent to the email address you provided in your profile settings.\": \"Ein neuer Bestätigungslink wurde an die E-Mail-Adresse, die in Ihrem Profil hinterlegt ist, gesendet.\",\n    \"A new verification link has been sent to your email address.\": \"Ein neuer Bestätigungslink wurde an Ihre E-Mail-Adresse versendet.\",\n    \"A Timeout Occurred\": \"Ein Timeout ist aufgetreten\",\n    \"Accept\": \"Akzeptieren\",\n    \"Accept Invitation\": \"Einladung annehmen\",\n    \"Accepted\": \"Akzeptiert\",\n    \"Action\": \"Aktion\",\n    \"Actions\": \"Aktionen\",\n    \"Add\": \"Hinzufügen\",\n    \"Add :name\": \"Addiere :name\",\n    \"Add a new team member to your team, allowing them to collaborate with you.\": \"Fügen Sie ein neues Teammitglied zu Ihrem Team hinzu und erlauben Sie ihm mit Ihnen zusammenzuarbeiten.\",\n    \"Add additional security to your account using two factor authentication.\": \"Fügen Sie Ihrem Konto zusätzliche Sicherheit hinzu, indem Sie die Zwei-Faktor-Authentifizierung verwenden.\",\n    \"Add Team Member\": \"Teammitglied hinzufügen\",\n    \"Added.\": \"Hinzugefügt.\",\n    \"Admin\": \"Administrator\",\n    \"Administrator\": \"Administrator\",\n    \"Administrator users can perform any action.\": \"Administratoren können jede Aktion durchführen.\",\n    \"Agree\": \"Zustimmen\",\n    \"All of the people that are part of this team.\": \"Alle Personen, die Teil dieses Teams sind.\",\n    \"All rights reserved.\": \"Alle Rechte vorbehalten.\",\n    \"Already registered?\": \"Bereits registriert?\",\n    \"Already Reported\": \"Bereits gemeldet\",\n    \"API Token\": \"API-Token\",\n    \"API Token Permissions\": \"API-Token-Berechtigungen\",\n    \"API Tokens\": \"API-Token\",\n    \"API tokens allow third-party services to authenticate with our application on your behalf.\": \"Mit API-Token können sich Dienste von Drittanbietern in Ihrem Namen bei unserer Anwendung authentifizieren.\",\n    \"Archive\": \"Archiv\",\n    \"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\": \"Möchten Sie dieses Team wirklich löschen? Sobald ein Team gelöscht wird, werden alle Ressourcen und Daten dauerhaft gelöscht.\",\n    \"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\": \"Möchten Sie Ihr Konto wirklich löschen? Sobald Ihr Konto gelöscht wurde, werden alle Ressourcen und Daten dauerhaft gelöscht. Bitte geben Sie Ihr Passwort ein, um zu bestätigen, dass Sie Ihr Konto dauerhaft löschen möchten.\",\n    \"Are you sure you would like to delete this API token?\": \"Möchten Sie dieses API-Token wirklich löschen?\",\n    \"Are you sure you would like to leave this team?\": \"Sind Sie sicher, dass Sie dieses Team verlassen möchten?\",\n    \"Are you sure you would like to remove this person from the team?\": \"Sind Sie sicher, dass Sie diese Person aus dem Team entfernen möchten?\",\n    \"Assign\": \"Zuordnen\",\n    \"Associate\": \"Assoziieren\",\n    \"Attach\": \"Anhängen\",\n    \"Bad Gateway\": \"Schlechtes Tor\",\n    \"Bad Request\": \"Schlechte Anfrage\",\n    \"Bandwidth Limit Exceeded\": \"Bandbreitengrenze überschritten\",\n    \"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\": \"Bitte bestätigen Sie Ihre E-Mail-Adresse mit dem zugesandten Link, bevor Sie fortfahren. Sollten Sie keine E-Mail erhalten haben, senden wir Ihnen diese gerne erneut.\",\n    \"Browse\": \"Durchsuche\",\n    \"Browser Sessions\": \"Browsersitzungen\",\n    \"Cancel\": \"Abbrechen\",\n    \"Choose\": \"Wählen Sie\",\n    \"Choose :name\": \"Wählen Sie :name\",\n    \"Choose File\": \"Datei wählen\",\n    \"Choose Image\": \"Wählen Sie Bild\",\n    \"Click here to re-send the verification email.\": \"Klicke hier, um eine neue Verifizierungs-E-Mail zu erhalten.\",\n    \"Click to copy\": \"Klicken Sie zum Kopieren\",\n    \"Client Closed Request\": \"Client-Closed-Request\",\n    \"Close\": \"Schließen\",\n    \"Code\": \"Code\",\n    \"Collapse\": \"Zusammenbruch\",\n    \"Collapse All\": \"Alles reduzieren\",\n    \"Comment\": \"Kommentar\",\n    \"Confirm\": \"Bestätigen\",\n    \"Confirm Password\": \"Passwort bestätigen\",\n    \"Conflict\": \"Konflikt\",\n    \"Connect\": \"Verbinden\",\n    \"Connection Closed Without Response\": \"Verbindung ohne Antwort geschlossen\",\n    \"Connection Timed Out\": \"Verbindung abgelaufen\",\n    \"Continue\": \"Weiter\",\n    \"Create\": \"Erstellen\",\n    \"Create :name\": \"Erstellen Sie :name\",\n    \"Create a new team to collaborate with others on projects.\": \"Erstellen Sie ein neues Team, um mit anderen an Projekten zusammenzuarbeiten.\",\n    \"Create Account\": \"Neues Konto registrieren\",\n    \"Create API Token\": \"API-Token erstellen\",\n    \"Create New Team\": \"Neues Team erstellen\",\n    \"Create Team\": \"Team erstellen\",\n    \"Created\": \"Erstellt\",\n    \"Created.\": \"Erstellt.\",\n    \"Current Password\": \"Derzeitiges Passwort\",\n    \"Dashboard\": \"Dashboard\",\n    \"Delete\": \"Löschen\",\n    \"Delete :name\": \":name löschen\",\n    \"Delete Account\": \"Account löschen\",\n    \"Delete API Token\": \"API-Token löschen\",\n    \"Delete Team\": \"Team löschen\",\n    \"Detach\": \"Trennen\",\n    \"Details\": \"Details\",\n    \"Disable\": \"Deaktivieren\",\n    \"Discard\": \"Verwerfen\",\n    \"Done\": \"Erledigt\",\n    \"Done.\": \"Erledigt.\",\n    \"Down\": \"Runter\",\n    \"Duplicate\": \"Duplikat\",\n    \"Duplicate :name\": \"Duplikat :name\",\n    \"Edit\": \"Bearbeiten\",\n    \"Edit :name\": \"Bearbeiten :name\",\n    \"Edit Profile\": \"Profil bearbeiten\",\n    \"Editor\": \"Editor\",\n    \"Editor users have the ability to read, create, and update.\": \"Editor-Benutzer haben die Möglichkeit, zu lesen, zu erstellen und zu aktualisieren.\",\n    \"Email\": \"E-Mail\",\n    \"Email Password Reset Link\": \"Link zum Zurücksetzen des Passwortes zusenden\",\n    \"Enable\": \"Aktivieren\",\n    \"Ensure your account is using a long, random password to stay secure.\": \"Stellen Sie sicher, dass Ihr Konto ein langes, zufälliges Passwort verwendet, um die Sicherheit zu gewährleisten.\",\n    \"errors\": \"Fehler\",\n    \"Expand\": \"Expandieren\",\n    \"Expand All\": \"Alle erweitern\",\n    \"Expectation Failed\": \"Erwartung gescheitert\",\n    \"Explanation\": \"Erläuterung\",\n    \"Export\": \"Export\",\n    \"Export :name\": \"Export :name\",\n    \"Failed Dependency\": \"Fehlgeschlagene Abhängigkeit\",\n    \"File\": \"Datei\",\n    \"Files\": \"Dateien\",\n    \"Finish enabling two factor authentication.\": \"Aktivierung der Zwei-Faktor-Authentifizierung abschließen.\",\n    \"For your security, please confirm your password to continue.\": \"Um fortzufahren, bestätigen Sie zu Ihrer Sicherheit bitte Ihr Passwort.\",\n    \"Forbidden\": \"Verboten\",\n    \"Forgot your password?\": \"Passwort vergessen?\",\n    \"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.\": \"Haben Sie Ihr Passwort vergessen? Kein Problem. Teilen Sie uns einfach Ihre E-Mail-Adresse mit und wir senden Ihnen per E-Mail einen Link zum Zurücksetzen des Passworts, über den Sie ein Neues auswählen können.\",\n    \"Found\": \"Gefunden\",\n    \"Gateway Timeout\": \"Gateway-Zeitüberschreitung\",\n    \"Go Home\": \"Zur Startseite\",\n    \"Go to page :page\": \"Gehe zur Seite :page\",\n    \"Gone\": \"Gegangen\",\n    \"Great! You have accepted the invitation to join the :team team.\": \"Großartig! Sie haben die Einladung zur Teilnahme am :team angenommen.\",\n    \"Hello!\": \"Hallo!\",\n    \"Hide\": \"Verstecken\",\n    \"Hide :name\": \":name ausblenden\",\n    \"Home\": \"Heim\",\n    \"HTTP Version Not Supported\": \"HTTP Version nicht unterstützt\",\n    \"I agree to the :terms_of_service and :privacy_policy\": \"Ich akzeptiere die :terms_of_service und die :privacy_policy\",\n    \"I'm a teapot\": \"Ich bin eine Teekanne\",\n    \"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\": \"Bei Bedarf können Sie sich von allen anderen Browsersitzungen auf allen Ihren Geräten abmelden. Einige Ihrer letzten Sitzungen sind unten aufgelistet, diese Liste ist jedoch möglicherweise nicht vollständig. Wenn Sie der Meinung sind, dass Ihr Konto kompromittiert wurde, sollten Sie auch Ihr Kennwort aktualisieren.\",\n    \"If you already have an account, you may accept this invitation by clicking the button below:\": \"Wenn Sie bereits ein Konto haben, können Sie diese Einladung annehmen, indem Sie auf die Schaltfläche unten klicken:\",\n    \"If you did not create an account, no further action is required.\": \"Wenn Sie kein Konto erstellt haben, sind keine weiteren Handlungen nötig.\",\n    \"If you did not expect to receive an invitation to this team, you may discard this email.\": \"Wenn Sie keine Einladung zu diesem Team erwartet haben, kann die E-Mail gelöscht werden.\",\n    \"If you did not request a password reset, no further action is required.\": \"Wenn Sie kein Zurücksetzen des Passworts beantragt haben, sind keine weiteren Handlungen nötig.\",\n    \"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:\": \"Wenn Sie kein Konto haben, können Sie ein Konto erstellen, indem Sie auf die Schaltfläche unten klicken. Nach dem Erstellen eines Kontos können Sie in dieser E-Mail auf die Schaltfläche zur Annahme der Einladung klicken, um die Teameinladung anzunehmen:\",\n    \"If you're having trouble clicking the \\\":actionText\\\" button, copy and paste the URL below\\ninto your web browser:\": \"Sollten Sie Schwierigkeiten haben, die Schaltfläche \\\":actionText\\\" zu klicken, kopieren Sie den nachfolgenden Link\\n in Ihre Adresszeile des Browsers.\",\n    \"IM Used\": \"IM verwendet\",\n    \"Image\": \"Bild\",\n    \"Impersonate\": \"Imitieren\",\n    \"Impersonation\": \"Identitätswechsel\",\n    \"Import\": \"Importieren\",\n    \"Import :name\": \"Importieren Sie :name\",\n    \"Insufficient Storage\": \"Ungenügende Speicherung\",\n    \"Internal Server Error\": \"Interner Serverfehler\",\n    \"Introduction\": \"Einführung\",\n    \"Invalid JSON was returned from the route.\": \"Von der Route wurde ein ungültiger JSON-Code zurückgegeben.\",\n    \"Invalid SSL Certificate\": \"Ungültiges SSL-Zertifikat\",\n    \"Last active\": \"Zuletzt aktiv\",\n    \"Last used\": \"Zuletzt verwendet\",\n    \"Leave\": \"Verlassen\",\n    \"Leave Team\": \"Team verlassen\",\n    \"length\": \"Länge\",\n    \"Length Required\": \"Länge erforderlich\",\n    \"Like\": \"Wie\",\n    \"Load\": \"Belastung\",\n    \"Localize\": \"Lokalisieren\",\n    \"Location\": \"Standort\",\n    \"Locked\": \"Gesperrt\",\n    \"Log In\": \"Einloggen\",\n    \"Log in\": \"Einloggen\",\n    \"Log Out\": \"Abmelden\",\n    \"Log Out Other Browser Sessions\": \"Andere Browser-Sitzungen abmelden\",\n    \"Login\": \"Anmelden\",\n    \"Logout\": \"Abmelden\",\n    \"Loop Detected\": \"Schleife erkannt\",\n    \"Maintenance Mode\": \"Wartungsmodus\",\n    \"Manage Account\": \"Account verwalten\",\n    \"Manage and log out your active sessions on other browsers and devices.\": \"Verwalten und Abmelden Ihrer aktiven Sitzungen in anderen Browsern und auf anderen Geräten.\",\n    \"Manage API Tokens\": \"API-Token verwalten\",\n    \"Manage Role\": \"Rolle verwalten\",\n    \"Manage Team\": \"Team verwalten\",\n    \"Method Not Allowed\": \"Methode nicht erlaubt\",\n    \"Misdirected Request\": \"Fehlgeleitete Anfrage\",\n    \"Moved Permanently\": \"Permanent verschoben\",\n    \"Multi-Status\": \"Multistatus\",\n    \"Multiple Choices\": \"Mehrfachauswahl\",\n    \"Name\": \"Name\",\n    \"Network Authentication Required\": \"Netzwerkauthentifizierung erforderlich\",\n    \"Network Connect Timeout Error\": \"Zeitüberschreitungsfehler bei Netzwerkverbindung\",\n    \"Network Read Timeout Error\": \"Zeitüberschreitungsfehler beim Lesen des Netzwerks\",\n    \"New\": \"Neu\",\n    \"New :name\": \"Neu :name\",\n    \"New Password\": \"Neues Passwort\",\n    \"No\": \"Keine\",\n    \"No Content\": \"Kein Inhalt\",\n    \"Non-Authoritative Information\": \"Nicht maßgebende Informationen\",\n    \"Not Acceptable\": \"Nicht annehmbar\",\n    \"Not Extended\": \"Nicht erweitert\",\n    \"Not Found\": \"Nicht gefunden\",\n    \"Not Implemented\": \"Nicht implementiert\",\n    \"Not Modified\": \"Nicht modifiziert\",\n    \"of\": \"von\",\n    \"OK\": \"OK\",\n    \"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\": \"Sobald ein Team gelöscht wird, werden alle Ressourcen und Daten dauerhaft gelöscht. Laden Sie vor dem Löschen dieses Teams alle Daten oder Informationen zu diesem Team herunter, die Sie behalten möchten.\",\n    \"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\": \"Sobald Ihr Konto gelöscht wurde, werden alle Ressourcen und Daten dauerhaft gelöscht. Laden Sie vor dem Löschen Ihres Kontos alle Daten oder Informationen herunter, die Sie behalten möchten.\",\n    \"Open\": \"Offen\",\n    \"Open in a current window\": \"In einem aktuellen Fenster öffnen\",\n    \"Open in a new window\": \"In einem neuen Fenster öffnen\",\n    \"Open in a parent frame\": \"In einem übergeordneten Frame öffnen\",\n    \"Open in the topmost frame\": \"Im obersten Rahmen öffnen\",\n    \"Open on the website\": \"Auf der Website öffnen\",\n    \"Origin Is Unreachable\": \"Ursprung ist nicht erreichbar\",\n    \"Page Expired\": \"Seite abgelaufen\",\n    \"Pagination Navigation\": \"Seiten-Navigation\",\n    \"Partial Content\": \"Teilinhalt\",\n    \"Password\": \"Passwort\",\n    \"Payload Too Large\": \"Nutzlast zu groß\",\n    \"Payment Required\": \"Zahlung erforderlich\",\n    \"Pending Team Invitations\": \"Ausstehende Team Einladungen\",\n    \"Permanent Redirect\": \"Permanente Weiterleitung\",\n    \"Permanently delete this team.\": \"Löschen Sie dieses Team dauerhaft.\",\n    \"Permanently delete your account.\": \"Löschen Sie Ihren Account dauerhaft.\",\n    \"Permissions\": \"Berechtigungen\",\n    \"Photo\": \"Foto\",\n    \"Please click the button below to verify your email address.\": \"Bitte klicken Sie auf die Schaltfläche, um Ihre E-Mail-Adresse zu bestätigen.\",\n    \"Please confirm access to your account by entering one of your emergency recovery codes.\": \"Bitte bestätigen Sie den Zugriff auf Ihr Konto, indem Sie einen Ihrer Notfall-Wiederherstellungscodes eingeben.\",\n    \"Please confirm access to your account by entering the authentication code provided by your authenticator application.\": \"Bitte bestätigen Sie den Zugriff auf Ihr Konto, indem Sie den von Ihrer Authentifizierungsanwendung bereitgestellten Authentifizierungscode eingeben.\",\n    \"Please copy your new API token. For your security, it won't be shown again.\": \"Bitte kopieren Sie Ihren neuen API-Token. Zu Ihrer Sicherheit wird er nicht mehr angezeigt\",\n    \"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\": \"Bitte geben Sie Ihr Passwort ein, um zu bestätigen, dass Sie sich von Ihren anderen Browser-Sitzungen auf allen Ihren Geräten abmelden möchten.\",\n    \"Please provide the email address of the person you would like to add to this team.\": \"Bitte geben Sie die E-Mail-Adresse der Person an, die Sie diesem Team hinzufügen möchten.\",\n    \"Precondition Failed\": \"Vorbedingung fehlgeschlagen\",\n    \"Precondition Required\": \"Voraussetzung erforderlich\",\n    \"Preview\": \"Vorschau\",\n    \"Price\": \"Preis\",\n    \"Privacy Policy\": \"Datenschutzerklärung\",\n    \"Processing\": \"Verarbeitung\",\n    \"Profile\": \"Profil\",\n    \"Profile Information\": \"Profilinformationen\",\n    \"Proxy Authentication Required\": \"Proxy-Authentifizierung erforderlich\",\n    \"Railgun Error\": \"Railgun-Fehler\",\n    \"Range Not Satisfiable\": \"Bereich nicht erfüllbar\",\n    \"Record\": \"Aufzeichnen\",\n    \"Recovery Code\": \"Wiederherstellungscode\",\n    \"Regards\": \"Mit freundlichen Grüßen\",\n    \"Regenerate Recovery Codes\": \"Wiederherstellungscodes neu generieren\",\n    \"Register\": \"Registrieren\",\n    \"Remember me\": \"Angemeldet bleiben\",\n    \"Remove\": \"Entfernen\",\n    \"Remove Photo\": \"Foto entfernen\",\n    \"Remove Team Member\": \"Teammitglied entfernen\",\n    \"Request Header Fields Too Large\": \"Kopfzeilenfelder zu groß anfordern\",\n    \"Request Timeout\": \"Zeitüberschreitung anfordern\",\n    \"Resend Verification Email\": \"Bestätigungslink erneut senden\",\n    \"Reset Content\": \"Inhalt zurücksetzen\",\n    \"Reset Password\": \"Passwort zurücksetzen\",\n    \"Reset Password Notification\": \"Benachrichtigung zum Zurücksetzen des Passworts\",\n    \"Restore\": \"Wiederherstellen\",\n    \"Restore :name\": \":name wiederherstellen\",\n    \"results\": \"Ergebnissen\",\n    \"Retry With\": \"Wiederhole mit\",\n    \"Role\": \"Rolle\",\n    \"Save\": \"Speichern\",\n    \"Save & Close\": \"Speichern und schließen\",\n    \"Save & Return\": \"Speichern und zurückgeben\",\n    \"Save :name\": \"Sparen Sie :name\",\n    \"Saved.\": \"Gespeichert.\",\n    \"Search\": \"Suchen\",\n    \"Search :name\": \"Suche :name\",\n    \"See Other\": \"Andere sehen\",\n    \"Select\": \"Wählen Sie\",\n    \"Select A New Photo\": \"Wählen Sie ein neues Foto aus\",\n    \"Select All\": \"Wählen Sie Alle\",\n    \"Send\": \"Schicken\",\n    \"Server Error\": \"Interner Fehler\",\n    \"Service Unavailable\": \"Service nicht verfügbar\",\n    \"Session Has Expired\": \"Sitzung ist abgelaufen\",\n    \"Settings\": \"Einstellungen\",\n    \"Setup Key\": \"Einrichtungsschlüssel\",\n    \"Show\": \"Zeigen\",\n    \"Show :name\": \":name anzeigen\",\n    \"Show All\": \"Zeige alles\",\n    \"Show Recovery Codes\": \"Zeige die Wiederherstellungscodes\",\n    \"Showing\": \"Zeige\",\n    \"Sign In\": \"Anmelden\",\n    \"Solve\": \"Lösen\",\n    \"SSL Handshake Failed\": \"SSL Handshake fehlgeschlagen\",\n    \"Start\": \"Start\",\n    \"Stop\": \"Stoppen\",\n    \"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\": \"Speichern Sie diese Wiederherstellungscodes in einem sicheren Passwortmanager. Sie können verwendet werden, um den Zugriff auf Ihr Konto wiederherzustellen, wenn Ihr Zwei-Faktor-Authentifizierungsgerät verloren geht.\",\n    \"Submit\": \"Einreichen\",\n    \"Subscribe\": \"Abonnieren\",\n    \"Switch\": \"Schalten\",\n    \"Switch Teams\": \"Teams wechseln\",\n    \"Switch To Role\": \"Zur Rolle wechseln\",\n    \"Switching Protocols\": \"Schaltprotokolle\",\n    \"Tag\": \"Etikett\",\n    \"Tags\": \"Stichworte\",\n    \"Team Details\": \"Teamdetails\",\n    \"Team Invitation\": \"Teameinladung\",\n    \"Team Members\": \"Teammitglieder\",\n    \"Team Name\": \"Teamname\",\n    \"Team Owner\": \"Teambesitzer\",\n    \"Team Settings\": \"Teameinstellungen\",\n    \"Temporary Redirect\": \"Temporäre Weiterleitung\",\n    \"Terms of Service\": \"Nutzungsbedingungen\",\n    \"The :attribute must be a valid role.\": \":Attribute muss eine gültige Rolle sein.\",\n    \"The :attribute must be at least :length characters and contain at least one number.\": \":Attribute muss aus mindestens :length Zeichen bestehen und mindestens eine Zahl enthalten.\",\n    \"The :attribute must be at least :length characters and contain at least one special character and one number.\": \":Attribute muss mindestens :length Zeichen lang sein und mindestens ein Sonderzeichen und eine Zahl enthalten.\",\n    \"The :attribute must be at least :length characters and contain at least one special character.\": \":Attribute muss aus mindestens :length Zeichen bestehen und mindestens ein Sonderzeichen enthalten.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one number.\": \":Attribute muss aus mindestens :length Zeichen bestehen und mindestens einen Großbuchstaben und eine Zahl enthalten.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.\": \":Attribute muss aus mindestens :length Zeichen bestehen und mindestens einen Großbuchstaben und ein Sonderzeichen enthalten.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.\": \":Attribute muss aus mindestens :length Zeichen bestehen und mindestens einen Großbuchstaben, eine Zahl und ein Sonderzeichen enthalten.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character.\": \":Attribute muss aus mindestens :length Zeichen bestehen und mindestens einen Großbuchstaben enthalten.\",\n    \"The :attribute must be at least :length characters.\": \":Attribute muss aus mindestens :length Zeichen bestehen.\",\n    \"The given data was invalid.\": \"Die gegebenen Daten waren ungültig.\",\n    \"The password is incorrect.\": \"Das Passwort ist falsch.\",\n    \"The provided password does not match your current password.\": \"Das angegebene Passwort stimmt nicht mit Ihrem aktuellen Passwort überein.\",\n    \"The provided password was incorrect.\": \"Das angegebene Passwort war falsch.\",\n    \"The provided two factor authentication code was invalid.\": \"Der angegebene Zwei-Faktor-Authentifizierungscode war ungültig.\",\n    \"The provided two factor recovery code was invalid.\": \"Der angegebene Zwei-Faktor-Wiederherstellungscode war ungültig.\",\n    \"The response is not a streamed response.\": \"Die Antwort ist keine gestreamte Antwort.\",\n    \"The response is not a view.\": \"Die Antwort ist keine Ansicht.\",\n    \"The team's name and owner information.\": \"Teamname und Informationen zum Besitzer.\",\n    \"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\": \"Diese Personen wurden zu Ihrem Team eingeladen und haben eine Einladungs-E-Mail erhalten. Sie können dem Team beitreten, indem sie die E-Mail-Einladung annehmen.\",\n    \"This action is unauthorized.\": \"Diese Aktion ist nicht autorisiert.\",\n    \"This device\": \"Dieses Gerät\",\n    \"This is a secure area of the application. Please confirm your password before continuing.\": \"Dies ist ein sicherer Bereich der Anwendung. Bitte geben Sie Ihr Passwort ein, bevor Sie fortfahren.\",\n    \"This password does not match our records.\": \"Dieses Passwort ist uns nicht bekannt.\",\n    \"This password reset link will expire in :count minutes.\": \"Dieser Link zum Zurücksetzen des Passworts läuft in :count Minuten ab.\",\n    \"This user already belongs to the team.\": \"Dieser Benutzer gehört bereits zum Team.\",\n    \"This user has already been invited to the team.\": \"Dieser Benutzer wurde bereits in dieses Team eingeladen.\",\n    \"to\": \"bis\",\n    \"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\": \"Um die Aktivierung der Zwei-Faktor-Authentifizierung abzuschließen, scannen Sie den folgenden QR-Code mit der Authentifizierungsanwendung Ihres Smartphones oder geben Sie den Einrichtungsschlüssel ein und geben Sie den generierten OTP-Code ein.\",\n    \"Toggle navigation\": \"Navigation umschalten\",\n    \"Token Name\": \"Tokenname\",\n    \"Too Early\": \"Zu früh\",\n    \"Too Many Requests\": \"Zu viele Anfragen\",\n    \"Translate\": \"Übersetzen\",\n    \"Translate It\": \"Übersetze es\",\n    \"Two Factor Authentication\": \"Zwei-Faktor-Authentifizierung\",\n    \"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\": \"Die Zwei-Faktor-Authentifizierung ist jetzt aktiviert. Scannen Sie den folgenden QR-Code mit der Authentifizierungsanwendung Ihres Smartphones oder geben Sie den Einrichtungsschlüssel ein.\",\n    \"Unauthorized\": \"Nicht autorisiert\",\n    \"Unavailable For Legal Reasons\": \"Aus rechtlichen Gründen nicht verfügbar\",\n    \"Unknown\": \"Unbekannt\",\n    \"Unknown Error\": \"Unbekannter Fehler\",\n    \"Unpack\": \"Auspacken\",\n    \"Unprocessable Entity\": \"Unverfügbare Entität\",\n    \"Unsubscribe\": \"Abbestellen\",\n    \"Unsupported Media Type\": \"Nicht unterstützter Medientyp\",\n    \"Up\": \"Hoch\",\n    \"Update\": \"Aktualisieren\",\n    \"Update :name\": \"Update :name\",\n    \"Update Password\": \"Passwort aktualisieren\",\n    \"Update your account's profile information and email address.\": \"Aktualisieren Sie die Profilinformationen und die E-Mail-Adresse Ihres Kontos.\",\n    \"Upgrade Required\": \"Upgrade erforderlich\",\n    \"URI Too Long\": \"URI zu lang\",\n    \"Use a recovery code\": \"Verwenden Sie einen Wiederherstellungscode\",\n    \"Use an authentication code\": \"Verwenden Sie einen Authentifizierungscode\",\n    \"Use Proxy\": \"Proxy verwenden\",\n    \"User\": \"Benutzer\",\n    \"Variant Also Negotiates\": \"Variante verhandelt auch\",\n    \"Verify Email Address\": \"E-Mail-Adresse bestätigen\",\n    \"View\": \"Ansicht\",\n    \"View :name\": \"Ansicht :name\",\n    \"We were unable to find a registered user with this email address.\": \"Wir konnten keinen registrierten Benutzer mit dieser E-Mail-Adresse finden.\",\n    \"Web Server is Down\": \"Webserver ist ausgefallen\",\n    \"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\": \"Wenn die Zwei-Faktor-Authentifizierung aktiviert ist, werden Sie während der Authentifizierung zur Eingabe eines sicheren, zufälligen Tokens aufgefordert. Sie können dieses Token in der Google Authenticator-Anwendung Ihres Telefons abrufen.\",\n    \"Whoops!\": \"Ups!\",\n    \"Whoops! Something went wrong.\": \"Ups, etwas ist schief gelaufen.\",\n    \"Yes\": \"Ja\",\n    \"You are receiving this email because we received a password reset request for your account.\": \"Sie erhalten diese E-Mail, weil wir einen Antrag auf eine Zurücksetzung Ihres Passworts bekommen haben.\",\n    \"You have been invited to join the :team team!\": \"Sie wurden eingeladen dem Team :team beizutreten!\",\n    \"You have enabled two factor authentication.\": \"Sie haben die Zwei-Faktor-Authentifizierung aktiviert.\",\n    \"You have not enabled two factor authentication.\": \"Sie haben die Zwei-Faktor-Authentifizierung nicht aktiviert.\",\n    \"You may accept this invitation by clicking the button below:\": \"Sie können diese Einladung annehmen, indem Sie auf die Schaltfläche unten klicken:\",\n    \"You may delete any of your existing tokens if they are no longer needed.\": \"Sie können alle vorhandenen Token löschen, wenn sie nicht mehr benötigt werden.\",\n    \"You may not delete your personal team.\": \"Sie können Ihr persönliches Team nicht löschen.\",\n    \"You may not leave a team that you created.\": \"Sie können ein von Ihnen erstelltes Team nicht verlassen.\",\n    \"Your email address is unverified.\": \"Ihre E-Mail-Adresse ist nicht verifiziert.\"\n}"
  },
  {
    "path": "resources/lang/en/actions.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accept'          => 'Accept',\n    'action'          => 'Action',\n    'actions'         => 'Actions',\n    'add'             => 'Add',\n    'admin'           => 'Admin',\n    'agree'           => 'Agree',\n    'archive'         => 'Archive',\n    'assign'          => 'Assign',\n    'associate'       => 'Associate',\n    'attach'          => 'Attach',\n    'browse'          => 'Browse',\n    'cancel'          => 'Cancel',\n    'choose'          => 'Choose',\n    'choose_file'     => 'Choose File',\n    'choose_image'    => 'Choose Image',\n    'click_to_copy'   => 'Click to copy',\n    'close'           => 'Close',\n    'collapse'        => 'Collapse',\n    'collapse_all'    => 'Collapse All',\n    'comment'         => 'Comment',\n    'confirm'         => 'Confirm',\n    'connect'         => 'Connect',\n    'create'          => 'Create',\n    'delete'          => 'Delete',\n    'detach'          => 'Detach',\n    'details'         => 'Details',\n    'disable'         => 'Disable',\n    'discard'         => 'Discard',\n    'done'            => 'Done',\n    'down'            => 'Down',\n    'duplicate'       => 'Duplicate',\n    'edit'            => 'Edit',\n    'enable'          => 'Enable',\n    'expand'          => 'Expand',\n    'expand_all'      => 'Expand All',\n    'explanation'     => 'Explanation',\n    'export'          => 'Export',\n    'file'            => 'File',\n    'files'           => 'Files',\n    'go_home'         => 'Go Home',\n    'hide'            => 'Hide',\n    'home'            => 'Home',\n    'image'           => 'Image',\n    'impersonate'     => 'Impersonate',\n    'impersonation'   => 'Impersonation',\n    'import'          => 'Import',\n    'introduction'    => 'Introduction',\n    'like'            => 'Like',\n    'load'            => 'Load',\n    'localize'        => 'Localize',\n    'log_in'          => 'Log In',\n    'log_out'         => 'Log Out',\n    'named'           => [\n        'add'       => 'Add :name',\n        'choose'    => 'Choose :name',\n        'create'    => 'Create :name',\n        'delete'    => 'Delete :name',\n        'duplicate' => 'Duplicate :name',\n        'edit'      => 'Edit :name',\n        'export'    => 'Export :name',\n        'hide'      => 'Hide :name',\n        'import'    => 'Import :name',\n        'new'       => 'New :name',\n        'restore'   => 'Restore :name',\n        'save'      => 'Save :name',\n        'search'    => 'Search :name',\n        'show'      => 'Show :name',\n        'update'    => 'Update :name',\n        'view'      => 'View :name',\n    ],\n    'new'             => 'New',\n    'no'              => 'No',\n    'open'            => 'Open',\n    'open_website'    => 'Open on the website',\n    'preview'         => 'Preview',\n    'price'           => 'Price',\n    'record'          => 'Record',\n    'restore'         => 'Restore',\n    'save'            => 'Save',\n    'save_and_close'  => 'Save & Close',\n    'save_and_return' => 'Save & Return',\n    'search'          => 'Search',\n    'select'          => 'Select',\n    'select_all'      => 'Select All',\n    'send'            => 'Send',\n    'settings'        => 'Settings',\n    'show'            => 'Show',\n    'show_all'        => 'Show All',\n    'sign_in'         => 'Sign In',\n    'solve'           => 'Solve',\n    'start'           => 'Start',\n    'stop'            => 'Stop',\n    'submit'          => 'Submit',\n    'subscribe'       => 'Subscribe',\n    'switch'          => 'Switch',\n    'switch_to_role'  => 'Switch To Role',\n    'tag'             => 'Tag',\n    'tags'            => 'Tags',\n    'target_link'     => [\n        'blank'  => 'Open in a new window',\n        'parent' => 'Open in a parent frame',\n        'self'   => 'Open in a current window',\n        'top'    => 'Open in the topmost frame',\n    ],\n    'translate'       => 'Translate',\n    'translate_it'    => 'Translate It',\n    'unpack'          => 'Unpack',\n    'unsubscribe'     => 'Unsubscribe',\n    'up'              => 'Up',\n    'update'          => 'Update',\n    'user'            => 'User',\n    'view'            => 'View',\n    'yes'             => 'Yes',\n];\n"
  },
  {
    "path": "resources/lang/en/auth.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'failed'   => 'These credentials do not match our records.',\n    'password' => 'The password is incorrect.',\n    'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',\n];\n"
  },
  {
    "path": "resources/lang/en/http-statuses.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    '0'            => 'Unknown Error',\n    '100'          => 'Continue',\n    '101'          => 'Switching Protocols',\n    '102'          => 'Processing',\n    '200'          => 'OK',\n    '201'          => 'Created',\n    '202'          => 'Accepted',\n    '203'          => 'Non-Authoritative Information',\n    '204'          => 'No Content',\n    '205'          => 'Reset Content',\n    '206'          => 'Partial Content',\n    '207'          => 'Multi-Status',\n    '208'          => 'Already Reported',\n    '226'          => 'IM Used',\n    '300'          => 'Multiple Choices',\n    '301'          => 'Moved Permanently',\n    '302'          => 'Found',\n    '303'          => 'See Other',\n    '304'          => 'Not Modified',\n    '305'          => 'Use Proxy',\n    '307'          => 'Temporary Redirect',\n    '308'          => 'Permanent Redirect',\n    '400'          => 'Bad Request',\n    '401'          => 'Unauthorized',\n    '402'          => 'Payment Required',\n    '403'          => 'Forbidden',\n    '404'          => 'Not Found',\n    '405'          => 'Method Not Allowed',\n    '406'          => 'Not Acceptable',\n    '407'          => 'Proxy Authentication Required',\n    '408'          => 'Request Timeout',\n    '409'          => 'Conflict',\n    '410'          => 'Gone',\n    '411'          => 'Length Required',\n    '412'          => 'Precondition Failed',\n    '413'          => 'Payload Too Large',\n    '414'          => 'URI Too Long',\n    '415'          => 'Unsupported Media Type',\n    '416'          => 'Range Not Satisfiable',\n    '417'          => 'Expectation Failed',\n    '418'          => 'I\\'m a teapot',\n    '419'          => 'Session Has Expired',\n    '421'          => 'Misdirected Request',\n    '422'          => 'Unprocessable Entity',\n    '423'          => 'Locked',\n    '424'          => 'Failed Dependency',\n    '425'          => 'Too Early',\n    '426'          => 'Upgrade Required',\n    '428'          => 'Precondition Required',\n    '429'          => 'Too Many Requests',\n    '431'          => 'Request Header Fields Too Large',\n    '444'          => 'Connection Closed Without Response',\n    '449'          => 'Retry With',\n    '451'          => 'Unavailable For Legal Reasons',\n    '499'          => 'Client Closed Request',\n    '500'          => 'Internal Server Error',\n    '501'          => 'Not Implemented',\n    '502'          => 'Bad Gateway',\n    '503'          => 'Maintenance Mode',\n    '504'          => 'Gateway Timeout',\n    '505'          => 'HTTP Version Not Supported',\n    '506'          => 'Variant Also Negotiates',\n    '507'          => 'Insufficient Storage',\n    '508'          => 'Loop Detected',\n    '509'          => 'Bandwidth Limit Exceeded',\n    '510'          => 'Not Extended',\n    '511'          => 'Network Authentication Required',\n    '520'          => 'Unknown Error',\n    '521'          => 'Web Server is Down',\n    '522'          => 'Connection Timed Out',\n    '523'          => 'Origin Is Unreachable',\n    '524'          => 'A Timeout Occurred',\n    '525'          => 'SSL Handshake Failed',\n    '526'          => 'Invalid SSL Certificate',\n    '527'          => 'Railgun Error',\n    '598'          => 'Network Read Timeout Error',\n    '599'          => 'Network Connect Timeout Error',\n    'unknownError' => 'Unknown Error',\n];\n"
  },
  {
    "path": "resources/lang/en/pagination.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'next'     => 'Next &raquo;',\n    'previous' => '&laquo; Previous',\n];\n"
  },
  {
    "path": "resources/lang/en/passwords.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'reset'     => 'Your password has been reset.',\n    'sent'      => 'We have emailed your password reset link.',\n    'throttled' => 'Please wait before retrying.',\n    'token'     => 'This password reset token is invalid.',\n    'user'      => 'We can\\'t find a user with that email address.',\n];\n"
  },
  {
    "path": "resources/lang/en/validation.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accepted'             => 'The :attribute must be accepted.',\n    'accepted_if'          => 'The :attribute must be accepted when :other is :value.',\n    'active_url'           => 'The :attribute is not a valid URL.',\n    'after'                => 'The :attribute must be a date after :date.',\n    'after_or_equal'       => 'The :attribute must be a date after or equal to :date.',\n    'alpha'                => 'The :attribute must only contain letters.',\n    'alpha_dash'           => 'The :attribute must only contain letters, numbers, dashes and underscores.',\n    'alpha_num'            => 'The :attribute must only contain letters and numbers.',\n    'array'                => 'The :attribute must be an array.',\n    'ascii'                => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.',\n    'before'               => 'The :attribute must be a date before :date.',\n    'before_or_equal'      => 'The :attribute must be a date before or equal to :date.',\n    'between'              => [\n        'array'   => 'The :attribute must have between :min and :max items.',\n        'file'    => 'The :attribute must be between :min and :max kilobytes.',\n        'numeric' => 'The :attribute must be between :min and :max.',\n        'string'  => 'The :attribute must be between :min and :max characters.',\n    ],\n    'boolean'              => 'The :attribute field must be true or false.',\n    'can'                  => 'The :attribute field contains an unauthorized value.',\n    'confirmed'            => 'The :attribute confirmation does not match.',\n    'contains'             => 'The :attribute field is missing a required value.',\n    'current_password'     => 'The password is incorrect.',\n    'date'                 => 'The :attribute is not a valid date.',\n    'date_equals'          => 'The :attribute must be a date equal to :date.',\n    'date_format'          => 'The :attribute does not match the format :format.',\n    'decimal'              => 'The :attribute field must have :decimal decimal places.',\n    'declined'             => 'The :attribute must be declined.',\n    'declined_if'          => 'The :attribute must be declined when :other is :value.',\n    'different'            => 'The :attribute and :other must be different.',\n    'digits'               => 'The :attribute must be :digits digits.',\n    'digits_between'       => 'The :attribute must be between :min and :max digits.',\n    'dimensions'           => 'The :attribute has invalid image dimensions.',\n    'distinct'             => 'The :attribute field has a duplicate value.',\n    'doesnt_end_with'      => 'The :attribute field must not end with one of the following: :values.',\n    'doesnt_start_with'    => 'The :attribute field must not start with one of the following: :values.',\n    'email'                => 'The :attribute must be a valid email address.',\n    'ends_with'            => 'The :attribute must end with one of the following: :values.',\n    'enum'                 => 'The :attribute field value is not in the list of allowed values.',\n    'exists'               => 'The :attribute field value does not exist.',\n    'extensions'           => 'The :attribute field must have one of the following extensions: :values.',\n    'file'                 => 'The :attribute must be a file.',\n    'filled'               => 'The :attribute field must have a value.',\n    'gt'                   => [\n        'array'   => 'The :attribute must have more than :value items.',\n        'file'    => 'The :attribute must be greater than :value kilobytes.',\n        'numeric' => 'The :attribute must be greater than :value.',\n        'string'  => 'The :attribute must be greater than :value characters.',\n    ],\n    'gte'                  => [\n        'array'   => 'The :attribute must have :value items or more.',\n        'file'    => 'The :attribute must be greater than or equal to :value kilobytes.',\n        'numeric' => 'The :attribute must be greater than or equal to :value.',\n        'string'  => 'The :attribute must be greater than or equal to :value characters.',\n    ],\n    'hex_color'            => 'The :attribute field must be a valid hexadecimal color.',\n    'image'                => 'The :attribute must be an image.',\n    'in'                   => 'The :attribute field value is not in the list of allowed values.',\n    'in_array'             => 'The :attribute field does not exist in :other.',\n    'integer'              => 'The :attribute must be an integer.',\n    'ip'                   => 'The :attribute must be a valid IP address.',\n    'ipv4'                 => 'The :attribute must be a valid IPv4 address.',\n    'ipv6'                 => 'The :attribute must be a valid IPv6 address.',\n    'json'                 => 'The :attribute must be a valid JSON string.',\n    'list'                 => 'The :attribute field must be a list.',\n    'lowercase'            => 'The :attribute field must be lowercase.',\n    'lt'                   => [\n        'array'   => 'The :attribute must have less than :value items.',\n        'file'    => 'The :attribute must be less than :value kilobytes.',\n        'numeric' => 'The :attribute must be less than :value.',\n        'string'  => 'The :attribute must be less than :value characters.',\n    ],\n    'lte'                  => [\n        'array'   => 'The :attribute must not have more than :value items.',\n        'file'    => 'The :attribute must be less than or equal to :value kilobytes.',\n        'numeric' => 'The :attribute must be less than or equal to :value.',\n        'string'  => 'The :attribute must be less than or equal to :value characters.',\n    ],\n    'mac_address'          => 'The :attribute must be a valid MAC address.',\n    'max'                  => [\n        'array'   => 'The :attribute must not have more than :max items.',\n        'file'    => 'The :attribute must not be greater than :max kilobytes.',\n        'numeric' => 'The :attribute must not be greater than :max.',\n        'string'  => 'The :attribute must not be greater than :max characters.',\n    ],\n    'max_digits'           => 'The :attribute field must not have more than :max digits.',\n    'mimes'                => 'The :attribute must be a file of type: :values.',\n    'mimetypes'            => 'The :attribute must be a file of type: :values.',\n    'min'                  => [\n        'array'   => 'The :attribute must have at least :min items.',\n        'file'    => 'The :attribute must be at least :min kilobytes.',\n        'numeric' => 'The :attribute must be at least :min.',\n        'string'  => 'The :attribute must be at least :min characters.',\n    ],\n    'min_digits'           => 'The :attribute field must have at least :min digits.',\n    'missing'              => 'The :attribute field must be missing.',\n    'missing_if'           => 'The :attribute field must be missing when :other is :value.',\n    'missing_unless'       => 'The :attribute field must be missing unless :other is :value.',\n    'missing_with'         => 'The :attribute field must be missing when :values is present.',\n    'missing_with_all'     => 'The :attribute field must be missing when :values are present.',\n    'multiple_of'          => 'The :attribute must be a multiple of :value.',\n    'not_in'               => 'The :attribute field must not be in the list.',\n    'not_regex'            => 'The :attribute format is invalid.',\n    'numeric'              => 'The :attribute must be a number.',\n    'password'             => [\n        'letters'       => 'The :attribute field must contain at least one letter.',\n        'mixed'         => 'The :attribute field must contain at least one uppercase and one lowercase letter.',\n        'numbers'       => 'The :attribute field must contain at least one number.',\n        'symbols'       => 'The :attribute field must contain at least one symbol.',\n        'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',\n    ],\n    'present'              => 'The :attribute field must be present.',\n    'present_if'           => 'The :attribute field must be present when :other is :value.',\n    'present_unless'       => 'The :attribute field must be present unless :other is :value.',\n    'present_with'         => 'The :attribute field must be present when :values is present.',\n    'present_with_all'     => 'The :attribute field must be present when :values are present.',\n    'prohibited'           => 'The :attribute field is prohibited.',\n    'prohibited_if'        => 'The :attribute field is prohibited when :other is :value.',\n    'prohibited_unless'    => 'The :attribute field is prohibited unless :other is in :values.',\n    'prohibits'            => 'The :attribute field prohibits :other from being present.',\n    'regex'                => 'The :attribute format is invalid.',\n    'required'             => 'The :attribute field is required.',\n    'required_array_keys'  => 'The :attribute field must contain entries for: :values.',\n    'required_if'          => 'The :attribute field is required when :other is :value.',\n    'required_if_accepted' => 'The :attribute field is required when :other is accepted.',\n    'required_if_declined' => 'The :attribute field is required when :other is declined.',\n    'required_unless'      => 'The :attribute field is required unless :other is in :values.',\n    'required_with'        => 'The :attribute field is required when :values is present.',\n    'required_with_all'    => 'The :attribute field is required when :values are present.',\n    'required_without'     => 'The :attribute field is required when :values is not present.',\n    'required_without_all' => 'The :attribute field is required when none of :values are present.',\n    'same'                 => 'The :attribute and :other must match.',\n    'size'                 => [\n        'array'   => 'The :attribute must contain :size items.',\n        'file'    => 'The :attribute must be :size kilobytes.',\n        'numeric' => 'The :attribute must be :size.',\n        'string'  => 'The :attribute must be :size characters.',\n    ],\n    'starts_with'          => 'The :attribute must start with one of the following: :values.',\n    'string'               => 'The :attribute must be a string.',\n    'timezone'             => 'The :attribute must be a valid timezone.',\n    'ulid'                 => 'The :attribute field must be a valid ULID.',\n    'unique'               => 'The :attribute has already been taken.',\n    'uploaded'             => 'The :attribute failed to upload.',\n    'uppercase'            => 'The :attribute field must be uppercase.',\n    'url'                  => 'The :attribute must be a valid URL.',\n    'uuid'                 => 'The :attribute must be a valid UUID.',\n    'attributes'           => [\n        'address'                  => 'address',\n        'affiliate_url'            => 'affiliate URL',\n        'age'                      => 'age',\n        'amount'                   => 'amount',\n        'announcement'             => 'announcement',\n        'area'                     => 'area',\n        'audience_prize'           => 'audience prize',\n        'available'                => 'available',\n        'birthday'                 => 'birthday',\n        'body'                     => 'body',\n        'city'                     => 'city',\n        'compilation'              => 'compilation',\n        'concept'                  => 'concept',\n        'conditions'               => 'conditions',\n        'content'                  => 'content',\n        'country'                  => 'country',\n        'cover'                    => 'cover',\n        'created_at'               => 'created at',\n        'creator'                  => 'creator',\n        'currency'                 => 'currency',\n        'current_password'         => 'current password',\n        'customer'                 => 'customer',\n        'date'                     => 'date',\n        'date_of_birth'            => 'date of birth',\n        'dates'                    => 'dates',\n        'day'                      => 'day',\n        'deleted_at'               => 'deleted at',\n        'description'              => 'description',\n        'display_type'             => 'display type',\n        'district'                 => 'district',\n        'duration'                 => 'duration',\n        'email'                    => 'email',\n        'excerpt'                  => 'excerpt',\n        'filter'                   => 'filter',\n        'finished_at'              => 'finished at',\n        'first_name'               => 'first name',\n        'gender'                   => 'gender',\n        'grand_prize'              => 'grand prize',\n        'group'                    => 'group',\n        'hour'                     => 'hour',\n        'image'                    => 'image',\n        'image_desktop'            => 'desktop image',\n        'image_main'               => 'main image',\n        'image_mobile'             => 'mobile image',\n        'images'                   => 'images',\n        'is_audience_winner'       => 'is audience winner',\n        'is_hidden'                => 'is hidden',\n        'is_subscribed'            => 'is subscribed',\n        'is_visible'               => 'is visible',\n        'is_winner'                => 'is winner',\n        'items'                    => 'items',\n        'key'                      => 'key',\n        'last_name'                => 'last name',\n        'lesson'                   => 'lesson',\n        'line_address_1'           => 'line address 1',\n        'line_address_2'           => 'line address 2',\n        'login'                    => 'login',\n        'message'                  => 'message',\n        'middle_name'              => 'middle name',\n        'minute'                   => 'minute',\n        'mobile'                   => 'mobile',\n        'month'                    => 'month',\n        'name'                     => 'name',\n        'national_code'            => 'national code',\n        'number'                   => 'number',\n        'password'                 => 'password',\n        'password_confirmation'    => 'password confirmation',\n        'phone'                    => 'phone',\n        'photo'                    => 'photo',\n        'portfolio'                => 'portfolio',\n        'postal_code'              => 'postal code',\n        'preview'                  => 'preview',\n        'price'                    => 'price',\n        'product_id'               => 'product ID',\n        'product_uid'              => 'product UID',\n        'product_uuid'             => 'product UUID',\n        'promo_code'               => 'promo code',\n        'province'                 => 'province',\n        'quantity'                 => 'quantity',\n        'reason'                   => 'reason',\n        'recaptcha_response_field' => 'recaptcha response field',\n        'referee'                  => 'referee',\n        'referees'                 => 'referees',\n        'reject_reason'            => 'reject reason',\n        'remember'                 => 'remember',\n        'restored_at'              => 'restored at',\n        'result_text_under_image'  => 'result text under image',\n        'role'                     => 'role',\n        'rule'                     => 'rule',\n        'rules'                    => 'rules',\n        'second'                   => 'second',\n        'sex'                      => 'sex',\n        'shipment'                 => 'shipment',\n        'short_text'               => 'short text',\n        'size'                     => 'size',\n        'skills'                   => 'skills',\n        'slug'                     => 'slug',\n        'specialization'           => 'specialization',\n        'started_at'               => 'started at',\n        'state'                    => 'state',\n        'status'                   => 'status',\n        'street'                   => 'street',\n        'student'                  => 'student',\n        'subject'                  => 'subject',\n        'tag'                      => 'tag',\n        'tags'                     => 'tags',\n        'teacher'                  => 'teacher',\n        'terms'                    => 'terms',\n        'test_description'         => 'test description',\n        'test_locale'              => 'test locale',\n        'test_name'                => 'test name',\n        'text'                     => 'text',\n        'time'                     => 'time',\n        'title'                    => 'title',\n        'type'                     => 'type',\n        'updated_at'               => 'updated at',\n        'user'                     => 'user',\n        'username'                 => 'username',\n        'value'                    => 'value',\n        'year'                     => 'year',\n    ],\n];\n"
  },
  {
    "path": "resources/lang/en.json",
    "content": "{\n    \"(and :count more error)\": \"(and :count more error)\",\n    \"(and :count more errors)\": \"(and :count more error)|(and :count more errors)|(and :count more errors)\",\n    \"A new verification link has been sent to the email address you provided in your profile settings.\": \"A new verification link has been sent to the email address you provided in your profile settings.\",\n    \"A new verification link has been sent to your email address.\": \"A new verification link has been sent to your email address.\",\n    \"A Timeout Occurred\": \"A Timeout Occurred\",\n    \"Accept\": \"Accept\",\n    \"Accept Invitation\": \"Accept Invitation\",\n    \"Accepted\": \"Accepted\",\n    \"Action\": \"Action\",\n    \"Actions\": \"Actions\",\n    \"Add\": \"Add\",\n    \"Add :name\": \"Add :name\",\n    \"Add a new team member to your team, allowing them to collaborate with you.\": \"Add a new team member to your team, allowing them to collaborate with you.\",\n    \"Add additional security to your account using two factor authentication.\": \"Add additional security to your account using two factor authentication.\",\n    \"Add Team Member\": \"Add Team Member\",\n    \"Added.\": \"Added.\",\n    \"Admin\": \"Admin\",\n    \"Administrator\": \"Administrator\",\n    \"Administrator users can perform any action.\": \"Administrator users can perform any action.\",\n    \"Agree\": \"Agree\",\n    \"All of the people that are part of this team.\": \"All of the people that are part of this team.\",\n    \"All rights reserved.\": \"All rights reserved.\",\n    \"Already registered?\": \"Already registered?\",\n    \"Already Reported\": \"Already Reported\",\n    \"API Token\": \"API Token\",\n    \"API Token Permissions\": \"API Token Permissions\",\n    \"API Tokens\": \"API Tokens\",\n    \"API tokens allow third-party services to authenticate with our application on your behalf.\": \"API tokens allow third-party services to authenticate with our application on your behalf.\",\n    \"Archive\": \"Archive\",\n    \"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\": \"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\",\n    \"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\": \"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\",\n    \"Are you sure you would like to delete this API token?\": \"Are you sure you would like to delete this API token?\",\n    \"Are you sure you would like to leave this team?\": \"Are you sure you would like to leave this team?\",\n    \"Are you sure you would like to remove this person from the team?\": \"Are you sure you would like to remove this person from the team?\",\n    \"Assign\": \"Assign\",\n    \"Associate\": \"Associate\",\n    \"Attach\": \"Attach\",\n    \"Bad Gateway\": \"Bad Gateway\",\n    \"Bad Request\": \"Bad Request\",\n    \"Bandwidth Limit Exceeded\": \"Bandwidth Limit Exceeded\",\n    \"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\": \"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\",\n    \"Browse\": \"Browse\",\n    \"Browser Sessions\": \"Browser Sessions\",\n    \"Cancel\": \"Cancel\",\n    \"Choose\": \"Choose\",\n    \"Choose :name\": \"Choose :name\",\n    \"Choose File\": \"Choose File\",\n    \"Choose Image\": \"Choose Image\",\n    \"Click here to re-send the verification email.\": \"Click here to re-send the verification email.\",\n    \"Click to copy\": \"Click to copy\",\n    \"Client Closed Request\": \"Client Closed Request\",\n    \"Close\": \"Close\",\n    \"Code\": \"Code\",\n    \"Collapse\": \"Collapse\",\n    \"Collapse All\": \"Collapse All\",\n    \"Comment\": \"Comment\",\n    \"Confirm\": \"Confirm\",\n    \"Confirm Password\": \"Confirm Password\",\n    \"Conflict\": \"Conflict\",\n    \"Connect\": \"Connect\",\n    \"Connection Closed Without Response\": \"Connection Closed Without Response\",\n    \"Connection Timed Out\": \"Connection Timed Out\",\n    \"Continue\": \"Continue\",\n    \"Create\": \"Create\",\n    \"Create :name\": \"Create :name\",\n    \"Create a new team to collaborate with others on projects.\": \"Create a new team to collaborate with others on projects.\",\n    \"Create Account\": \"Create Account\",\n    \"Create API Token\": \"Create API Token\",\n    \"Create New Team\": \"Create New Team\",\n    \"Create Team\": \"Create Team\",\n    \"Created\": \"Created\",\n    \"Created.\": \"Created.\",\n    \"Current Password\": \"Current Password\",\n    \"Dashboard\": \"Dashboard\",\n    \"Delete\": \"Delete\",\n    \"Delete :name\": \"Delete :name\",\n    \"Delete Account\": \"Delete Account\",\n    \"Delete API Token\": \"Delete API Token\",\n    \"Delete Team\": \"Delete Team\",\n    \"Detach\": \"Detach\",\n    \"Details\": \"Details\",\n    \"Disable\": \"Disable\",\n    \"Discard\": \"Discard\",\n    \"Done\": \"Done\",\n    \"Done.\": \"Done.\",\n    \"Down\": \"Down\",\n    \"Duplicate\": \"Duplicate\",\n    \"Duplicate :name\": \"Duplicate :name\",\n    \"Edit\": \"Edit\",\n    \"Edit :name\": \"Edit :name\",\n    \"Edit Profile\": \"Edit Profile\",\n    \"Editor\": \"Editor\",\n    \"Editor users have the ability to read, create, and update.\": \"Editor users have the ability to read, create, and update.\",\n    \"Email\": \"Email\",\n    \"Email Password Reset Link\": \"Email Password Reset Link\",\n    \"Enable\": \"Enable\",\n    \"Ensure your account is using a long, random password to stay secure.\": \"Ensure your account is using a long, random password to stay secure.\",\n    \"errors\": \"errors\",\n    \"Expand\": \"Expand\",\n    \"Expand All\": \"Expand All\",\n    \"Expectation Failed\": \"Expectation Failed\",\n    \"Explanation\": \"Explanation\",\n    \"Export\": \"Export\",\n    \"Export :name\": \"Export :name\",\n    \"Failed Dependency\": \"Failed Dependency\",\n    \"File\": \"File\",\n    \"Files\": \"Files\",\n    \"Finish enabling two factor authentication.\": \"Finish enabling two factor authentication.\",\n    \"For your security, please confirm your password to continue.\": \"For your security, please confirm your password to continue.\",\n    \"Forbidden\": \"Forbidden\",\n    \"Forgot your password?\": \"Forgot your password?\",\n    \"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.\": \"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.\",\n    \"Found\": \"Found\",\n    \"Gateway Timeout\": \"Gateway Timeout\",\n    \"Go Home\": \"Go Home\",\n    \"Go to page :page\": \"Go to page :page\",\n    \"Gone\": \"Gone\",\n    \"Great! You have accepted the invitation to join the :team team.\": \"Great! You have accepted the invitation to join the :team team.\",\n    \"Hello!\": \"Hello!\",\n    \"Hide\": \"Hide\",\n    \"Hide :name\": \"Hide :name\",\n    \"Home\": \"Home\",\n    \"HTTP Version Not Supported\": \"HTTP Version Not Supported\",\n    \"I agree to the :terms_of_service and :privacy_policy\": \"I agree to the :terms_of_service and :privacy_policy\",\n    \"I'm a teapot\": \"I'm a teapot\",\n    \"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\": \"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\",\n    \"If you already have an account, you may accept this invitation by clicking the button below:\": \"If you already have an account, you may accept this invitation by clicking the button below:\",\n    \"If you did not create an account, no further action is required.\": \"If you did not create an account, no further action is required.\",\n    \"If you did not expect to receive an invitation to this team, you may discard this email.\": \"If you did not expect to receive an invitation to this team, you may discard this email.\",\n    \"If you did not request a password reset, no further action is required.\": \"If you did not request a password reset, no further action is required.\",\n    \"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:\": \"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:\",\n    \"If you're having trouble clicking the \\\":actionText\\\" button, copy and paste the URL below\\ninto your web browser:\": \"If you're having trouble clicking the \\\":actionText\\\" button, copy and paste the URL below\\ninto your web browser:\",\n    \"IM Used\": \"IM Used\",\n    \"Image\": \"Image\",\n    \"Impersonate\": \"Impersonate\",\n    \"Impersonation\": \"Impersonation\",\n    \"Import\": \"Import\",\n    \"Import :name\": \"Import :name\",\n    \"Insufficient Storage\": \"Insufficient Storage\",\n    \"Internal Server Error\": \"Internal Server Error\",\n    \"Introduction\": \"Introduction\",\n    \"Invalid JSON was returned from the route.\": \"Invalid JSON was returned from the route.\",\n    \"Invalid SSL Certificate\": \"Invalid SSL Certificate\",\n    \"Last active\": \"Last active\",\n    \"Last used\": \"Last used\",\n    \"Leave\": \"Leave\",\n    \"Leave Team\": \"Leave Team\",\n    \"length\": \"length\",\n    \"Length Required\": \"Length Required\",\n    \"Like\": \"Like\",\n    \"Load\": \"Load\",\n    \"Localize\": \"Localize\",\n    \"Location\": \"Location\",\n    \"Locked\": \"Locked\",\n    \"Log In\": \"Log In\",\n    \"Log in\": \"Log in\",\n    \"Log Out\": \"Log Out\",\n    \"Log Out Other Browser Sessions\": \"Log Out Other Browser Sessions\",\n    \"Login\": \"Login\",\n    \"Logout\": \"Logout\",\n    \"Loop Detected\": \"Loop Detected\",\n    \"Maintenance Mode\": \"Maintenance Mode\",\n    \"Manage Account\": \"Manage Account\",\n    \"Manage and log out your active sessions on other browsers and devices.\": \"Manage and log out your active sessions on other browsers and devices.\",\n    \"Manage API Tokens\": \"Manage API Tokens\",\n    \"Manage Role\": \"Manage Role\",\n    \"Manage Team\": \"Manage Team\",\n    \"Method Not Allowed\": \"Method Not Allowed\",\n    \"Misdirected Request\": \"Misdirected Request\",\n    \"Moved Permanently\": \"Moved Permanently\",\n    \"Multi-Status\": \"Multi-Status\",\n    \"Multiple Choices\": \"Multiple Choices\",\n    \"Name\": \"Name\",\n    \"Network Authentication Required\": \"Network Authentication Required\",\n    \"Network Connect Timeout Error\": \"Network Connect Timeout Error\",\n    \"Network Read Timeout Error\": \"Network Read Timeout Error\",\n    \"New\": \"New\",\n    \"New :name\": \"New :name\",\n    \"New Password\": \"New Password\",\n    \"No\": \"No\",\n    \"No Content\": \"No Content\",\n    \"Non-Authoritative Information\": \"Non-Authoritative Information\",\n    \"Not Acceptable\": \"Not Acceptable\",\n    \"Not Extended\": \"Not Extended\",\n    \"Not Found\": \"Not Found\",\n    \"Not Implemented\": \"Not Implemented\",\n    \"Not Modified\": \"Not Modified\",\n    \"of\": \"of\",\n    \"OK\": \"OK\",\n    \"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\": \"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\",\n    \"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\": \"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\",\n    \"Open\": \"Open\",\n    \"Open in a current window\": \"Open in a current window\",\n    \"Open in a new window\": \"Open in a new window\",\n    \"Open in a parent frame\": \"Open in a parent frame\",\n    \"Open in the topmost frame\": \"Open in the topmost frame\",\n    \"Open on the website\": \"Open on the website\",\n    \"Origin Is Unreachable\": \"Origin Is Unreachable\",\n    \"Page Expired\": \"Page Expired\",\n    \"Pagination Navigation\": \"Pagination Navigation\",\n    \"Partial Content\": \"Partial Content\",\n    \"Password\": \"Password\",\n    \"Payload Too Large\": \"Payload Too Large\",\n    \"Payment Required\": \"Payment Required\",\n    \"Pending Team Invitations\": \"Pending Team Invitations\",\n    \"Permanent Redirect\": \"Permanent Redirect\",\n    \"Permanently delete this team.\": \"Permanently delete this team.\",\n    \"Permanently delete your account.\": \"Permanently delete your account.\",\n    \"Permissions\": \"Permissions\",\n    \"Photo\": \"Photo\",\n    \"Please click the button below to verify your email address.\": \"Please click the button below to verify your email address.\",\n    \"Please confirm access to your account by entering one of your emergency recovery codes.\": \"Please confirm access to your account by entering one of your emergency recovery codes.\",\n    \"Please confirm access to your account by entering the authentication code provided by your authenticator application.\": \"Please confirm access to your account by entering the authentication code provided by your authenticator application.\",\n    \"Please copy your new API token. For your security, it won't be shown again.\": \"Please copy your new API token. For your security, it won't be shown again.\",\n    \"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\": \"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\",\n    \"Please provide the email address of the person you would like to add to this team.\": \"Please provide the email address of the person you would like to add to this team.\",\n    \"Precondition Failed\": \"Precondition Failed\",\n    \"Precondition Required\": \"Precondition Required\",\n    \"Preview\": \"Preview\",\n    \"Price\": \"Price\",\n    \"Privacy Policy\": \"Privacy Policy\",\n    \"Processing\": \"Processing\",\n    \"Profile\": \"Profile\",\n    \"Profile Information\": \"Profile Information\",\n    \"Proxy Authentication Required\": \"Proxy Authentication Required\",\n    \"Railgun Error\": \"Railgun Error\",\n    \"Range Not Satisfiable\": \"Range Not Satisfiable\",\n    \"Record\": \"Record\",\n    \"Recovery Code\": \"Recovery Code\",\n    \"Regards\": \"Regards\",\n    \"Regenerate Recovery Codes\": \"Regenerate Recovery Codes\",\n    \"Register\": \"Register\",\n    \"Remember me\": \"Remember me\",\n    \"Remove\": \"Remove\",\n    \"Remove Photo\": \"Remove Photo\",\n    \"Remove Team Member\": \"Remove Team Member\",\n    \"Request Header Fields Too Large\": \"Request Header Fields Too Large\",\n    \"Request Timeout\": \"Request Timeout\",\n    \"Resend Verification Email\": \"Resend Verification Email\",\n    \"Reset Content\": \"Reset Content\",\n    \"Reset Password\": \"Reset Password\",\n    \"Reset Password Notification\": \"Reset Password Notification\",\n    \"Restore\": \"Restore\",\n    \"Restore :name\": \"Restore :name\",\n    \"results\": \"results\",\n    \"Retry With\": \"Retry With\",\n    \"Role\": \"Role\",\n    \"Save\": \"Save\",\n    \"Save & Close\": \"Save & Close\",\n    \"Save & Return\": \"Save & Return\",\n    \"Save :name\": \"Save :name\",\n    \"Saved.\": \"Saved.\",\n    \"Search\": \"Search\",\n    \"Search :name\": \"Search :name\",\n    \"See Other\": \"See Other\",\n    \"Select\": \"Select\",\n    \"Select A New Photo\": \"Select A New Photo\",\n    \"Select All\": \"Select All\",\n    \"Send\": \"Send\",\n    \"Server Error\": \"Server Error\",\n    \"Service Unavailable\": \"Service Unavailable\",\n    \"Session Has Expired\": \"Session Has Expired\",\n    \"Settings\": \"Settings\",\n    \"Setup Key\": \"Setup Key\",\n    \"Show\": \"Show\",\n    \"Show :name\": \"Show :name\",\n    \"Show All\": \"Show All\",\n    \"Show Recovery Codes\": \"Show Recovery Codes\",\n    \"Showing\": \"Showing\",\n    \"Sign In\": \"Sign In\",\n    \"Solve\": \"Solve\",\n    \"SSL Handshake Failed\": \"SSL Handshake Failed\",\n    \"Start\": \"Start\",\n    \"Stop\": \"Stop\",\n    \"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\": \"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\",\n    \"Submit\": \"Submit\",\n    \"Subscribe\": \"Subscribe\",\n    \"Switch\": \"Switch\",\n    \"Switch Teams\": \"Switch Teams\",\n    \"Switch To Role\": \"Switch To Role\",\n    \"Switching Protocols\": \"Switching Protocols\",\n    \"Tag\": \"Tag\",\n    \"Tags\": \"Tags\",\n    \"Team Details\": \"Team Details\",\n    \"Team Invitation\": \"Team Invitation\",\n    \"Team Members\": \"Team Members\",\n    \"Team Name\": \"Team Name\",\n    \"Team Owner\": \"Team Owner\",\n    \"Team Settings\": \"Team Settings\",\n    \"Temporary Redirect\": \"Temporary Redirect\",\n    \"Terms of Service\": \"Terms of Service\",\n    \"The :attribute must be a valid role.\": \"The :attribute must be a valid role.\",\n    \"The :attribute must be at least :length characters and contain at least one number.\": \"The :attribute must be at least :length characters and contain at least one number.\",\n    \"The :attribute must be at least :length characters and contain at least one special character and one number.\": \"The :attribute must be at least :length characters and contain at least one special character and one number.\",\n    \"The :attribute must be at least :length characters and contain at least one special character.\": \"The :attribute must be at least :length characters and contain at least one special character.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one number.\": \"The :attribute must be at least :length characters and contain at least one uppercase character and one number.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.\": \"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.\": \"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character.\": \"The :attribute must be at least :length characters and contain at least one uppercase character.\",\n    \"The :attribute must be at least :length characters.\": \"The :attribute must be at least :length characters.\",\n    \"The given data was invalid.\": \"The given data was invalid.\",\n    \"The password is incorrect.\": \"The password is incorrect.\",\n    \"The provided password does not match your current password.\": \"The provided password does not match your current password.\",\n    \"The provided password was incorrect.\": \"The provided password was incorrect.\",\n    \"The provided two factor authentication code was invalid.\": \"The provided two factor authentication code was invalid.\",\n    \"The provided two factor recovery code was invalid.\": \"The provided two factor recovery code was invalid.\",\n    \"The response is not a streamed response.\": \"The response is not a streamed response.\",\n    \"The response is not a view.\": \"The response is not a view.\",\n    \"The team's name and owner information.\": \"The team's name and owner information.\",\n    \"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\": \"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\",\n    \"This action is unauthorized.\": \"This action is unauthorized.\",\n    \"This device\": \"This device\",\n    \"This is a secure area of the application. Please confirm your password before continuing.\": \"This is a secure area of the application. Please confirm your password before continuing.\",\n    \"This password does not match our records.\": \"This password does not match our records.\",\n    \"This password reset link will expire in :count minutes.\": \"This password reset link will expire in :count minutes.\",\n    \"This user already belongs to the team.\": \"This user already belongs to the team.\",\n    \"This user has already been invited to the team.\": \"This user has already been invited to the team.\",\n    \"to\": \"to\",\n    \"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\": \"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\",\n    \"Toggle navigation\": \"Toggle navigation\",\n    \"Token Name\": \"Token Name\",\n    \"Too Early\": \"Too Early\",\n    \"Too Many Requests\": \"Too Many Requests\",\n    \"Translate\": \"Translate\",\n    \"Translate It\": \"Translate It\",\n    \"Two Factor Authentication\": \"Two Factor Authentication\",\n    \"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\": \"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\",\n    \"Unauthorized\": \"Unauthorized\",\n    \"Unavailable For Legal Reasons\": \"Unavailable For Legal Reasons\",\n    \"Unknown\": \"Unknown\",\n    \"Unknown Error\": \"Unknown Error\",\n    \"Unpack\": \"Unpack\",\n    \"Unprocessable Entity\": \"Unprocessable Entity\",\n    \"Unsubscribe\": \"Unsubscribe\",\n    \"Unsupported Media Type\": \"Unsupported Media Type\",\n    \"Up\": \"Up\",\n    \"Update\": \"Update\",\n    \"Update :name\": \"Update :name\",\n    \"Update Password\": \"Update Password\",\n    \"Update your account's profile information and email address.\": \"Update your account's profile information and email address.\",\n    \"Upgrade Required\": \"Upgrade Required\",\n    \"URI Too Long\": \"URI Too Long\",\n    \"Use a recovery code\": \"Use a recovery code\",\n    \"Use an authentication code\": \"Use an authentication code\",\n    \"Use Proxy\": \"Use Proxy\",\n    \"User\": \"User\",\n    \"Variant Also Negotiates\": \"Variant Also Negotiates\",\n    \"Verify Email Address\": \"Verify Email Address\",\n    \"View\": \"View\",\n    \"View :name\": \"View :name\",\n    \"We were unable to find a registered user with this email address.\": \"We were unable to find a registered user with this email address.\",\n    \"Web Server is Down\": \"Web Server is Down\",\n    \"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\": \"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\",\n    \"Whoops!\": \"Whoops!\",\n    \"Whoops! Something went wrong.\": \"Whoops! Something went wrong.\",\n    \"Yes\": \"Yes\",\n    \"You are receiving this email because we received a password reset request for your account.\": \"You are receiving this email because we received a password reset request for your account.\",\n    \"You have been invited to join the :team team!\": \"You have been invited to join the :team team!\",\n    \"You have enabled two factor authentication.\": \"You have enabled two factor authentication.\",\n    \"You have not enabled two factor authentication.\": \"You have not enabled two factor authentication.\",\n    \"You may accept this invitation by clicking the button below:\": \"You may accept this invitation by clicking the button below:\",\n    \"You may delete any of your existing tokens if they are no longer needed.\": \"You may delete any of your existing tokens if they are no longer needed.\",\n    \"You may not delete your personal team.\": \"You may not delete your personal team.\",\n    \"You may not leave a team that you created.\": \"You may not leave a team that you created.\",\n    \"Your email address is unverified.\": \"Your email address is unverified.\"\n}"
  },
  {
    "path": "resources/lang/fr/actions.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accept'          => 'Accepter',\n    'action'          => 'Action',\n    'actions'         => 'Actions',\n    'add'             => 'Ajouter',\n    'admin'           => 'Administrateur',\n    'agree'           => 'Accepter',\n    'archive'         => 'Archive',\n    'assign'          => 'Attribuer',\n    'associate'       => 'Associé',\n    'attach'          => 'Attacher',\n    'browse'          => 'Parcourir',\n    'cancel'          => 'Annuler',\n    'choose'          => 'Choisir',\n    'choose_file'     => 'Choisir le fichier',\n    'choose_image'    => 'Choisir une image',\n    'click_to_copy'   => 'Cliquez pour copier',\n    'close'           => 'Fermer',\n    'collapse'        => 'Effondrement',\n    'collapse_all'    => 'Réduire tout',\n    'comment'         => 'Commentaire',\n    'confirm'         => 'Confirmer',\n    'connect'         => 'Connecter',\n    'create'          => 'Créer',\n    'delete'          => 'Supprimer',\n    'detach'          => 'Détacher',\n    'details'         => 'Détails',\n    'disable'         => 'Désactiver',\n    'discard'         => 'Jeter',\n    'done'            => 'Fait',\n    'down'            => 'Vers le bas',\n    'duplicate'       => 'Dupliquer',\n    'edit'            => 'Modifier',\n    'enable'          => 'Activer',\n    'expand'          => 'Développer',\n    'expand_all'      => 'Développer tout',\n    'explanation'     => 'Explication',\n    'export'          => 'Exporter',\n    'file'            => 'Déposer',\n    'files'           => 'Des dossiers',\n    'go_home'         => 'Rentrer chez soi',\n    'hide'            => 'Cacher',\n    'home'            => 'Maison',\n    'image'           => 'Image',\n    'impersonate'     => 'Imiter',\n    'impersonation'   => 'Imitation',\n    'import'          => 'Importer',\n    'introduction'    => 'Introduction',\n    'like'            => 'Comme',\n    'load'            => 'Charger',\n    'localize'        => 'Localiser',\n    'log_in'          => 'Se connecter',\n    'log_out'         => 'Se déconnecter',\n    'named'           => [\n        'add'       => 'Ajouter :name',\n        'choose'    => 'Choisissez :name',\n        'create'    => 'Créer :name',\n        'delete'    => 'Supprimer :name',\n        'duplicate' => 'Dupliquer :name',\n        'edit'      => 'Modifier :name',\n        'export'    => 'Export :name',\n        'hide'      => 'Masquer :name',\n        'import'    => 'Importer :name',\n        'new'       => 'Nouveau :name',\n        'restore'   => 'Restaurer :name',\n        'save'      => 'Économisez :name',\n        'search'    => 'Recherche :name',\n        'show'      => 'Afficher :name',\n        'update'    => 'Mise à jour :name',\n        'view'      => 'Voir :name',\n    ],\n    'new'             => 'Nouveau',\n    'no'              => 'Non',\n    'open'            => 'Ouvrir',\n    'open_website'    => 'Ouvert sur le site',\n    'preview'         => 'Aperçu',\n    'price'           => 'Prix',\n    'record'          => 'Enregistrer',\n    'restore'         => 'Restaurer',\n    'save'            => 'Sauvegarder',\n    'save_and_close'  => 'Sauvegarder et fermer',\n    'save_and_return' => 'Enregistrer et retourner',\n    'search'          => 'Recherche',\n    'select'          => 'Sélectionner',\n    'select_all'      => 'Tout sélectionner',\n    'send'            => 'Envoyer',\n    'settings'        => 'Paramètres',\n    'show'            => 'Montrer',\n    'show_all'        => 'Afficher tout',\n    'sign_in'         => 'Se connecter',\n    'solve'           => 'Résoudre',\n    'start'           => 'Commencer',\n    'stop'            => 'Arrêter',\n    'submit'          => 'Soumettre',\n    'subscribe'       => 'S\\'abonner',\n    'switch'          => 'Changer',\n    'switch_to_role'  => 'Passer au rôle',\n    'tag'             => 'Étiqueter',\n    'tags'            => 'Mots clés',\n    'target_link'     => [\n        'blank'  => 'Ouvrir dans une nouvelle fenêtre',\n        'parent' => 'Ouvrir dans un frame parent',\n        'self'   => 'Ouvrir dans une fenêtre actuelle',\n        'top'    => 'Ouvrir dans le cadre le plus haut',\n    ],\n    'translate'       => 'Traduire',\n    'translate_it'    => 'Traduis le',\n    'unpack'          => 'Déballer',\n    'unsubscribe'     => 'Se désabonner',\n    'up'              => 'En haut',\n    'update'          => 'Mise à jour',\n    'user'            => 'Utilisateur',\n    'view'            => 'Voir',\n    'yes'             => 'Oui',\n];\n"
  },
  {
    "path": "resources/lang/fr/auth.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'failed'   => 'Ces identifiants ne correspondent pas à nos enregistrements.',\n    'password' => 'Le mot de passe est incorrect',\n    'throttle' => 'Tentatives de connexion trop nombreuses. Veuillez essayer de nouveau dans :seconds secondes.',\n];\n"
  },
  {
    "path": "resources/lang/fr/http-statuses.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    '0'            => 'Erreur inconnue',\n    '100'          => 'Continuer',\n    '101'          => 'Protocoles de commutation',\n    '102'          => 'En traitement',\n    '200'          => 'OK',\n    '201'          => 'Créé',\n    '202'          => 'Accepté',\n    '203'          => 'Informations non autorisées',\n    '204'          => 'Pas de contenu',\n    '205'          => 'Réinitialiser le contenu',\n    '206'          => 'Contenu partiel',\n    '207'          => 'Multi-statut',\n    '208'          => 'Déjà rapporté',\n    '226'          => 'J\\'ai l\\'habitude',\n    '300'          => 'Choix multiples',\n    '301'          => 'Déplacé de façon permanente',\n    '302'          => 'A trouvé',\n    '303'          => 'Voir autre',\n    '304'          => 'Non modifié',\n    '305'          => 'Utiliser un proxy',\n    '307'          => 'Redirection temporaire',\n    '308'          => 'Redirection permanente',\n    '400'          => 'Mauvaise Demande',\n    '401'          => 'Non autorisé',\n    '402'          => 'Paiement Requis',\n    '403'          => 'Interdit',\n    '404'          => 'Page non trouvée',\n    '405'          => 'Méthode Non Autorisée',\n    '406'          => 'Pas acceptable',\n    '407'          => 'Authentification proxy requise',\n    '408'          => 'Délai d\\'expiration de la demande',\n    '409'          => 'Conflit',\n    '410'          => 'Disparu',\n    '411'          => 'Longueur requise',\n    '412'          => 'La précondition a échoué',\n    '413'          => 'Charge utile trop grande',\n    '414'          => 'URI trop long',\n    '415'          => 'Type de support non supporté',\n    '416'          => 'Plage non satisfaisante',\n    '417'          => 'Échec de l\\'attente',\n    '418'          => 'Je suis une théière',\n    '419'          => 'La session a expiré',\n    '421'          => 'Demande mal dirigée',\n    '422'          => 'Entité non traitable',\n    '423'          => 'Fermé à clef',\n    '424'          => 'Dépendance échouée',\n    '425'          => 'Trop tôt',\n    '426'          => 'Mise à niveau requise',\n    '428'          => 'Condition préalable requise',\n    '429'          => 'Trop de demandes',\n    '431'          => 'Champs d\\'en-tête de requête trop grands',\n    '444'          => 'Connexion fermée sans réponse',\n    '449'          => 'Réessayer avec',\n    '451'          => 'Indisponible pour des raisons légales',\n    '499'          => 'Demande fermée du client',\n    '500'          => 'Erreur Interne du Serveur',\n    '501'          => 'Pas mis en œuvre',\n    '502'          => 'Mauvaise passerelle',\n    '503'          => 'Mode de Maintenance',\n    '504'          => 'Délai d\\'attente de la passerelle',\n    '505'          => 'Version HTTP non prise en charge',\n    '506'          => 'La variante négocie également',\n    '507'          => 'Espace insuffisant',\n    '508'          => 'Boucle détectée',\n    '509'          => 'Limite de bande passante dépassée',\n    '510'          => 'Non prolongé',\n    '511'          => 'Authentification réseau requise',\n    '520'          => 'Erreur inconnue',\n    '521'          => 'Le serveur Web est en panne',\n    '522'          => 'La connexion a expiré',\n    '523'          => 'L\\'origine est inaccessible',\n    '524'          => 'Un dépassement de délai s\\'est produit',\n    '525'          => 'Échec de la prise de contact SSL',\n    '526'          => 'Certificat SSL invalide',\n    '527'          => 'Erreur de Railgun',\n    '598'          => 'Erreur de délai de lecture réseau',\n    '599'          => 'Erreur de délai de connexion réseau',\n    'unknownError' => 'Erreur inconnue',\n];\n"
  },
  {
    "path": "resources/lang/fr/pagination.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'next'     => 'Suivant &raquo;',\n    'previous' => '&laquo; Précédent',\n];\n"
  },
  {
    "path": "resources/lang/fr/passwords.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'reset'     => 'Votre mot de passe a été réinitialisé !',\n    'sent'      => 'Nous vous avons envoyé par email le lien de réinitialisation du mot de passe !',\n    'throttled' => 'Veuillez patienter avant de réessayer.',\n    'token'     => 'Ce jeton de réinitialisation du mot de passe n\\'est pas valide.',\n    'user'      => 'Aucun utilisateur n\\'a été trouvé avec cette adresse email.',\n];\n"
  },
  {
    "path": "resources/lang/fr/validation.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accepted'             => 'Le champ :attribute doit être accepté.',\n    'accepted_if'          => 'Le champ :attribute doit être accepté quand :other a la valeur :value.',\n    'active_url'           => 'Le champ :attribute n\\'est pas une URL valide.',\n    'after'                => 'Le champ :attribute doit être une date postérieure au :date.',\n    'after_or_equal'       => 'Le champ :attribute doit être une date postérieure ou égale au :date.',\n    'alpha'                => 'Le champ :attribute doit contenir uniquement des lettres.',\n    'alpha_dash'           => 'Le champ :attribute doit contenir uniquement des lettres, des chiffres et des tirets.',\n    'alpha_num'            => 'Le champ :attribute doit contenir uniquement des chiffres et des lettres.',\n    'array'                => 'Le champ :attribute doit être un tableau.',\n    'ascii'                => 'Le champ :attribute ne doit contenir que des caractères alphanumériques et des symboles codés sur un octet.',\n    'attached'             => ':attribute est déjà attaché(e).',\n    'before'               => 'Le champ :attribute doit être une date antérieure au :date.',\n    'before_or_equal'      => 'Le champ :attribute doit être une date antérieure ou égale au :date.',\n    'between'              => [\n        'array'   => 'Le tableau :attribute doit contenir entre :min et :max éléments.',\n        'file'    => 'La taille du fichier de :attribute doit être comprise entre :min et :max kilo-octets.',\n        'numeric' => 'La valeur de :attribute doit être comprise entre :min et :max.',\n        'string'  => 'Le texte :attribute doit contenir entre :min et :max caractères.',\n    ],\n    'boolean'              => 'Le champ :attribute doit être vrai ou faux.',\n    'can'                  => 'Le champ :attribute contient une valeur non autorisée.',\n    'confirmed'            => 'Le champ de confirmation :attribute ne correspond pas.',\n    'contains'             => 'The :attribute field is missing a required value.',\n    'current_password'     => 'Le mot de passe est incorrect.',\n    'date'                 => 'Le champ :attribute n\\'est pas une date valide.',\n    'date_equals'          => 'Le champ :attribute doit être une date égale à :date.',\n    'date_format'          => 'Le champ :attribute ne correspond pas au format :format.',\n    'decimal'              => 'Le champ :attribute doit comporter :decimal décimales.',\n    'declined'             => 'Le champ :attribute doit être décliné.',\n    'declined_if'          => 'Le champ :attribute doit être décliné quand :other a la valeur :value.',\n    'different'            => 'Les champs :attribute et :other doivent être différents.',\n    'digits'               => 'Le champ :attribute doit contenir :digits chiffres.',\n    'digits_between'       => 'Le champ :attribute doit contenir entre :min et :max chiffres.',\n    'dimensions'           => 'La taille de l\\'image :attribute n\\'est pas conforme.',\n    'distinct'             => 'Le champ :attribute a une valeur en double.',\n    'doesnt_end_with'      => 'Le champ :attribute ne doit pas finir avec une des valeurs suivantes : :values.',\n    'doesnt_start_with'    => 'Le champ :attribute ne doit pas commencer avec une des valeurs suivantes : :values.',\n    'email'                => 'Le champ :attribute doit être une adresse e-mail valide.',\n    'ends_with'            => 'Le champ :attribute doit se terminer par une des valeurs suivantes : :values',\n    'enum'                 => 'Le champ :attribute sélectionné est invalide.',\n    'exists'               => 'Le champ :attribute sélectionné est invalide.',\n    'extensions'           => 'Le champ :attribute doit avoir l\\'une des extensions suivantes : :values.',\n    'file'                 => 'Le champ :attribute doit être un fichier.',\n    'filled'               => 'Le champ :attribute doit avoir une valeur.',\n    'gt'                   => [\n        'array'   => 'Le tableau :attribute doit contenir plus de :value éléments.',\n        'file'    => 'La taille du fichier de :attribute doit être supérieure à :value kilo-octets.',\n        'numeric' => 'La valeur de :attribute doit être supérieure à :value.',\n        'string'  => 'Le texte :attribute doit contenir plus de :value caractères.',\n    ],\n    'gte'                  => [\n        'array'   => 'Le tableau :attribute doit contenir au moins :value éléments.',\n        'file'    => 'La taille du fichier de :attribute doit être supérieure ou égale à :value kilo-octets.',\n        'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :value.',\n        'string'  => 'Le texte :attribute doit contenir au moins :value caractères.',\n    ],\n    'hex_color'            => 'Le champ :attribute doit être une couleur hexadécimale valide.',\n    'image'                => 'Le champ :attribute doit être une image.',\n    'in'                   => 'Le champ :attribute est invalide.',\n    'in_array'             => 'Le champ :attribute n\\'existe pas dans :other.',\n    'integer'              => 'Le champ :attribute doit être un entier.',\n    'ip'                   => 'Le champ :attribute doit être une adresse IP valide.',\n    'ipv4'                 => 'Le champ :attribute doit être une adresse IPv4 valide.',\n    'ipv6'                 => 'Le champ :attribute doit être une adresse IPv6 valide.',\n    'json'                 => 'Le champ :attribute doit être un document JSON valide.',\n    'list'                 => 'Le champ :attribute doit être une liste.',\n    'lowercase'            => 'Le champ :attribute doit être en minuscules.',\n    'lt'                   => [\n        'array'   => 'Le tableau :attribute doit contenir moins de :value éléments.',\n        'file'    => 'La taille du fichier de :attribute doit être inférieure à :value kilo-octets.',\n        'numeric' => 'La valeur de :attribute doit être inférieure à :value.',\n        'string'  => 'Le texte :attribute doit contenir moins de :value caractères.',\n    ],\n    'lte'                  => [\n        'array'   => 'Le tableau :attribute doit contenir au plus :value éléments.',\n        'file'    => 'La taille du fichier de :attribute doit être inférieure ou égale à :value kilo-octets.',\n        'numeric' => 'La valeur de :attribute doit être inférieure ou égale à :value.',\n        'string'  => 'Le texte :attribute doit contenir au plus :value caractères.',\n    ],\n    'mac_address'          => 'Le champ :attribute doit être une adresse MAC valide.',\n    'max'                  => [\n        'array'   => 'Le tableau :attribute ne peut pas contenir plus que :max éléments.',\n        'file'    => 'La taille du fichier de :attribute ne peut pas dépasser :max kilo-octets.',\n        'numeric' => 'La valeur de :attribute ne peut pas être supérieure à :max.',\n        'string'  => 'Le texte de :attribute ne peut pas contenir plus de :max caractères.',\n    ],\n    'max_digits'           => 'Le champ :attribute ne doit pas avoir plus de :max chiffres.',\n    'mimes'                => 'Le champ :attribute doit être un fichier de type : :values.',\n    'mimetypes'            => 'Le champ :attribute doit être un fichier de type : :values.',\n    'min'                  => [\n        'array'   => 'Le tableau :attribute doit contenir au moins :min éléments.',\n        'file'    => 'La taille du fichier de :attribute doit être supérieure ou égale à :min kilo-octets.',\n        'numeric' => 'La valeur de :attribute doit être supérieure ou égale à :min.',\n        'string'  => 'Le texte de :attribute doit contenir au moins :min caractères.',\n    ],\n    'min_digits'           => 'Le champ :attribute doit avoir au moins :min chiffres.',\n    'missing'              => 'Le champ :attribute doit être manquant.',\n    'missing_if'           => 'Le champ :attribute doit être manquant quand :other a la valeur :value.',\n    'missing_unless'       => 'Le champ :attribute doit être manquant sauf si :other a la valeur :value.',\n    'missing_with'         => 'Le champ :attribute doit être manquant quand :values est présent.',\n    'missing_with_all'     => 'Le champ :attribute doit être manquant quand :values sont présents.',\n    'multiple_of'          => 'La valeur de :attribute doit être un multiple de :value',\n    'not_in'               => 'Le champ :attribute sélectionné n\\'est pas valide.',\n    'not_regex'            => 'Le format du champ :attribute n\\'est pas valide.',\n    'numeric'              => 'Le champ :attribute doit contenir un nombre.',\n    'password'             => [\n        'letters'       => 'Le champ :attribute doit contenir au moins une lettre.',\n        'mixed'         => 'Le champ :attribute doit contenir au moins une majuscule et une minuscule.',\n        'numbers'       => 'Le champ :attribute doit contenir au moins un chiffre.',\n        'symbols'       => 'Le champ :attribute doit contenir au moins un symbole.',\n        'uncompromised' => 'La valeur du champ :attribute est apparue dans une fuite de données. Veuillez choisir une valeur différente.',\n    ],\n    'present'              => 'Le champ :attribute doit être présent.',\n    'present_if'           => 'Le champ :attribute doit être présent lorsque :other est :value.',\n    'present_unless'       => 'Le champ :attribute doit être présent sauf si :other vaut :value.',\n    'present_with'         => 'Le champ :attribute doit être présent lorsque :values est présent.',\n    'present_with_all'     => 'Le champ :attribute doit être présent lorsque :values sont présents.',\n    'prohibited'           => 'Le champ :attribute est interdit.',\n    'prohibited_if'        => 'Le champ :attribute est interdit quand :other a la valeur :value.',\n    'prohibited_unless'    => 'Le champ :attribute est interdit à moins que :other est l\\'une des valeurs :values.',\n    'prohibits'            => 'Le champ :attribute interdit :other d\\'être présent.',\n    'regex'                => 'Le format du champ :attribute est invalide.',\n    'relatable'            => ':attribute n\\'est sans doute pas associé(e) avec cette donnée.',\n    'required'             => 'Le champ :attribute est obligatoire.',\n    'required_array_keys'  => 'Le champ :attribute doit contenir des entrées pour : :values.',\n    'required_if'          => 'Le champ :attribute est obligatoire quand la valeur de :other est :value.',\n    'required_if_accepted' => 'Le champ :attribute est obligatoire quand le champ :other a été accepté.',\n    'required_if_declined' => 'The :attribute field is required when :other is declined.',\n    'required_unless'      => 'Le champ :attribute est obligatoire sauf si :other est :values.',\n    'required_with'        => 'Le champ :attribute est obligatoire quand :values est présent.',\n    'required_with_all'    => 'Le champ :attribute est obligatoire quand :values sont présents.',\n    'required_without'     => 'Le champ :attribute est obligatoire quand :values n\\'est pas présent.',\n    'required_without_all' => 'Le champ :attribute est requis quand aucun de :values n\\'est présent.',\n    'same'                 => 'Les champs :attribute et :other doivent être identiques.',\n    'size'                 => [\n        'array'   => 'Le tableau :attribute doit contenir :size éléments.',\n        'file'    => 'La taille du fichier de :attribute doit être de :size kilo-octets.',\n        'numeric' => 'La valeur de :attribute doit être :size.',\n        'string'  => 'Le texte de :attribute doit contenir :size caractères.',\n    ],\n    'starts_with'          => 'Le champ :attribute doit commencer avec une des valeurs suivantes : :values',\n    'string'               => 'Le champ :attribute doit être une chaîne de caractères.',\n    'timezone'             => 'Le champ :attribute doit être un fuseau horaire valide.',\n    'ulid'                 => 'Le champ :attribute doit être un ULID valide.',\n    'unique'               => 'La valeur du champ :attribute est déjà utilisée.',\n    'uploaded'             => 'Le fichier du champ :attribute n\\'a pu être téléversé.',\n    'uppercase'            => 'Le champ :attribute doit être en majuscules.',\n    'url'                  => 'Le format de l\\'URL de :attribute n\\'est pas valide.',\n    'uuid'                 => 'Le champ :attribute doit être un UUID valide',\n    'attributes'           => [\n        'address'                  => 'adresse',\n        'affiliate_url'            => 'URL d\\'affiliation',\n        'age'                      => 'âge',\n        'amount'                   => 'montant',\n        'announcement'             => 'annonce',\n        'area'                     => 'zone',\n        'audience_prize'           => 'prix du public',\n        'available'                => 'disponible',\n        'birthday'                 => 'anniversaire',\n        'body'                     => 'corps',\n        'city'                     => 'ville',\n        'compilation'              => 'compilation',\n        'concept'                  => 'concept',\n        'conditions'               => 'conditions',\n        'content'                  => 'contenu',\n        'country'                  => 'pays',\n        'cover'                    => 'couverture',\n        'created_at'               => 'créé à',\n        'creator'                  => 'créateur',\n        'currency'                 => 'devise',\n        'current_password'         => 'mot de passe actuel',\n        'customer'                 => 'client',\n        'date'                     => 'Date',\n        'date_of_birth'            => 'date de naissance',\n        'dates'                    => 'Rendez-vous',\n        'day'                      => 'jour',\n        'deleted_at'               => 'supprimé à',\n        'description'              => 'la description',\n        'display_type'             => 'Type d\\'affichage',\n        'district'                 => 'quartier',\n        'duration'                 => 'durée',\n        'email'                    => 'adresse e-mail',\n        'excerpt'                  => 'extrait',\n        'filter'                   => 'filtre',\n        'finished_at'              => 'terminé à',\n        'first_name'               => 'prénom',\n        'gender'                   => 'genre',\n        'grand_prize'              => 'grand prize',\n        'group'                    => 'groupe',\n        'hour'                     => 'heure',\n        'image'                    => 'image',\n        'image_desktop'            => 'image de bureau',\n        'image_main'               => 'image principale',\n        'image_mobile'             => 'image mobile',\n        'images'                   => 'images',\n        'is_audience_winner'       => 'est le gagnant du public',\n        'is_hidden'                => 'est caché',\n        'is_subscribed'            => 'est abonné',\n        'is_visible'               => 'est visible',\n        'is_winner'                => 'est gagnant',\n        'items'                    => 'articles',\n        'key'                      => 'clé',\n        'last_name'                => 'nom',\n        'lesson'                   => 'leçon',\n        'line_address_1'           => 'ligne d\\'adresse 1',\n        'line_address_2'           => 'ligne d\\'adresse 2',\n        'login'                    => 'se connecter',\n        'message'                  => 'message',\n        'middle_name'              => 'deuxième prénom',\n        'minute'                   => 'minute',\n        'mobile'                   => 'portable',\n        'month'                    => 'mois',\n        'name'                     => 'nom',\n        'national_code'            => 'code national',\n        'number'                   => 'numéro',\n        'password'                 => 'mot de passe',\n        'password_confirmation'    => 'confirmation du mot de passe',\n        'phone'                    => 'téléphone',\n        'photo'                    => 'photo',\n        'portfolio'                => 'portefeuille',\n        'postal_code'              => 'code postal',\n        'preview'                  => 'Aperçu',\n        'price'                    => 'prix',\n        'product_id'               => 'identifiant du produit',\n        'product_uid'              => 'UID du produit',\n        'product_uuid'             => 'UUID du produit',\n        'promo_code'               => 'code promo',\n        'province'                 => 'région',\n        'quantity'                 => 'quantité',\n        'reason'                   => 'raison',\n        'recaptcha_response_field' => 'champ de réponse recaptcha',\n        'referee'                  => 'arbitre',\n        'referees'                 => 'arbitres',\n        'reject_reason'            => 'motif de rejet',\n        'remember'                 => 'se souvenir',\n        'restored_at'              => 'restauré à',\n        'result_text_under_image'  => 'texte de résultat sous l\\'image',\n        'role'                     => 'rôle',\n        'rule'                     => 'règle',\n        'rules'                    => 'règles',\n        'second'                   => 'seconde',\n        'sex'                      => 'sexe',\n        'shipment'                 => 'expédition',\n        'short_text'               => 'texte court',\n        'size'                     => 'taille',\n        'skills'                   => 'compétences',\n        'slug'                     => 'limace',\n        'specialization'           => 'spécialisation',\n        'started_at'               => 'commencé à',\n        'state'                    => 'état',\n        'status'                   => 'statut',\n        'street'                   => 'rue',\n        'student'                  => 'étudiant',\n        'subject'                  => 'sujet',\n        'tag'                      => 'étiqueter',\n        'tags'                     => 'Mots clés',\n        'teacher'                  => 'professeur',\n        'terms'                    => 'conditions',\n        'test_description'         => 'description test',\n        'test_locale'              => 'localisation test',\n        'test_name'                => 'nom test',\n        'text'                     => 'texte',\n        'time'                     => 'heure',\n        'title'                    => 'titre',\n        'type'                     => 'taper',\n        'updated_at'               => 'mis à jour à',\n        'user'                     => 'utilisateur',\n        'username'                 => 'nom d\\'utilisateur',\n        'value'                    => 'valeur',\n        'year'                     => 'année',\n    ],\n];\n"
  },
  {
    "path": "resources/lang/fr.json",
    "content": "{\n    \"(and :count more error)\": \"(et :count erreur en plus)\",\n    \"(and :count more errors)\": \"(et :count erreur en plus)|(et :count erreurs en plus)|(et :count erreurs en plus)\",\n    \"A new verification link has been sent to the email address you provided in your profile settings.\": \"Un nouveau lien de vérification a été envoyé à l'adresse e-mail que vous avez indiquée dans vos paramètres de profil.\",\n    \"A new verification link has been sent to your email address.\": \"Un nouveau lien de vérification a été envoyé à votre adresse e-mail.\",\n    \"A Timeout Occurred\": \"Un dépassement de délai s'est produit\",\n    \"Accept\": \"Accepter\",\n    \"Accept Invitation\": \"Accepter l'invitation\",\n    \"Accepted\": \"Accepté\",\n    \"Action\": \"Action\",\n    \"Actions\": \"Actions\",\n    \"Add\": \"Ajouter\",\n    \"Add :name\": \"Ajouter :name\",\n    \"Add a new team member to your team, allowing them to collaborate with you.\": \"Ajouter un nouveau membre de l'équipe à votre équipe, lui permettant de collaborer avec vous.\",\n    \"Add additional security to your account using two factor authentication.\": \"Ajouter une sécurité supplémentaire à votre compte en utilisant l'authentification à deux facteurs.\",\n    \"Add Team Member\": \"Ajouter un membre d'équipe\",\n    \"Added.\": \"Ajouté.\",\n    \"Admin\": \"Administrateur\",\n    \"Administrator\": \"Administrateur\",\n    \"Administrator users can perform any action.\": \"Les administrateurs peuvent effectuer n'importe quelle action.\",\n    \"Agree\": \"Accepter\",\n    \"All of the people that are part of this team.\": \"Toutes les personnes faisant partie de cette équipe.\",\n    \"All rights reserved.\": \"Tous droits réservés.\",\n    \"Already registered?\": \"Déjà inscrit·e ?\",\n    \"Already Reported\": \"Déjà rapporté\",\n    \"API Token\": \"Jeton API\",\n    \"API Token Permissions\": \"Autorisations de jeton API\",\n    \"API Tokens\": \"Jeton API\",\n    \"API tokens allow third-party services to authenticate with our application on your behalf.\": \"Les jetons API permettent à des services tiers de s'authentifier auprès de notre application en votre nom.\",\n    \"Archive\": \"Archive\",\n    \"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\": \"Êtes-vous sûr·e de vouloir supprimer cette équipe ? Lorsqu'une équipe est supprimée, toutes les données associées seront définitivement supprimées.\",\n    \"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\": \"Êtes-vous sûr·e de vouloir supprimer votre compte ? Une fois que votre compte est supprimé, toutes les données associées seront supprimées définitivement. Pour confirmer que vous voulez supprimer définitivement votre compte, renseignez votre mot de passe.\",\n    \"Are you sure you would like to delete this API token?\": \"Êtes-vous sûr·e de vouloir supprimer ce jeton API ?\",\n    \"Are you sure you would like to leave this team?\": \"Êtes-vous sûr·e de vouloir quitter cette équipe ?\",\n    \"Are you sure you would like to remove this person from the team?\": \"Êtes-vous sûr·e de vouloir supprimer cette personne de cette équipe ?\",\n    \"Assign\": \"Attribuer\",\n    \"Associate\": \"Associé\",\n    \"Attach\": \"Attacher\",\n    \"Bad Gateway\": \"Mauvaise passerelle\",\n    \"Bad Request\": \"Mauvaise Demande\",\n    \"Bandwidth Limit Exceeded\": \"Limite de bande passante dépassée\",\n    \"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\": \"Avant de continuer, pourriez-vous vérifier votre adresse e-mail en cliquant sur le lien de vérification que l'on vient de vous envoyer ? Si vous n'avez pas reçu l'e-mail, nous vous en enverrons un autre avec plaisir.\",\n    \"Browse\": \"Parcourir\",\n    \"Browser Sessions\": \"Sessions de navigateur\",\n    \"Cancel\": \"Annuler\",\n    \"Choose\": \"Choisir\",\n    \"Choose :name\": \"Choisissez :name\",\n    \"Choose File\": \"Choisir le fichier\",\n    \"Choose Image\": \"Choisir une image\",\n    \"Click here to re-send the verification email.\": \"Cliquez ici pour renvoyer l'e-mail de vérification.\",\n    \"Click to copy\": \"Cliquez pour copier\",\n    \"Client Closed Request\": \"Demande fermée du client\",\n    \"Close\": \"Fermer\",\n    \"Code\": \"Code\",\n    \"Collapse\": \"Effondrement\",\n    \"Collapse All\": \"Réduire tout\",\n    \"Comment\": \"Commentaire\",\n    \"Confirm\": \"Confirmer\",\n    \"Confirm Password\": \"Confirmer le mot de passe\",\n    \"Conflict\": \"Conflit\",\n    \"Connect\": \"Connecter\",\n    \"Connection Closed Without Response\": \"Connexion fermée sans réponse\",\n    \"Connection Timed Out\": \"La connexion a expiré\",\n    \"Continue\": \"Continuer\",\n    \"Create\": \"Créer\",\n    \"Create :name\": \"Créer :name\",\n    \"Create a new team to collaborate with others on projects.\": \"Créer une nouvelle équipe pour collaborer avec d'autres personnes sur des projets.\",\n    \"Create Account\": \"Créer un compte\",\n    \"Create API Token\": \"Créer un jeton API\",\n    \"Create New Team\": \"Créer une nouvelle équipe\",\n    \"Create Team\": \"Créer l'équipe\",\n    \"Created\": \"Créé\",\n    \"Created.\": \"Créé·e.\",\n    \"Current Password\": \"Mot de passe actuel\",\n    \"Dashboard\": \"Tableau de bord\",\n    \"Delete\": \"Supprimer\",\n    \"Delete :name\": \"Supprimer :name\",\n    \"Delete Account\": \"Supprimer le compte\",\n    \"Delete API Token\": \"Supprimer le jeton API\",\n    \"Delete Team\": \"Supprimer l'équipe\",\n    \"Detach\": \"Détacher\",\n    \"Details\": \"Détails\",\n    \"Disable\": \"Désactiver\",\n    \"Discard\": \"Jeter\",\n    \"Done\": \"Fait\",\n    \"Done.\": \"Terminé.\",\n    \"Down\": \"Vers le bas\",\n    \"Duplicate\": \"Dupliquer\",\n    \"Duplicate :name\": \"Dupliquer :name\",\n    \"Edit\": \"Éditer\",\n    \"Edit :name\": \"Modifier :name\",\n    \"Edit Profile\": \"Éditer le profil\",\n    \"Editor\": \"Éditeur\",\n    \"Editor users have the ability to read, create, and update.\": \"Les éditeurs peuvent lire, créer et mettre à jour\",\n    \"Email\": \"E-mail\",\n    \"Email Password Reset Link\": \"Lien de réinitialisation du mot de passe\",\n    \"Enable\": \"Activer\",\n    \"Ensure your account is using a long, random password to stay secure.\": \"Assurez-vous d'utiliser un mot de passe long et aléatoire pour sécuriser votre compte.\",\n    \"errors\": \"les erreurs\",\n    \"Expand\": \"Développer\",\n    \"Expand All\": \"Développer tout\",\n    \"Expectation Failed\": \"Échec de l'attente\",\n    \"Explanation\": \"Explication\",\n    \"Export\": \"Exporter\",\n    \"Export :name\": \"Export :name\",\n    \"Failed Dependency\": \"Dépendance échouée\",\n    \"File\": \"Déposer\",\n    \"Files\": \"Des dossiers\",\n    \"Finish enabling two factor authentication.\": \"Terminez l'activation de l'authentification à deux facteurs.\",\n    \"For your security, please confirm your password to continue.\": \"Par mesure de sécurité, veuillez confirmer votre mot de passe pour continuer.\",\n    \"Forbidden\": \"Interdit\",\n    \"Forgot your password?\": \"Mot de passe oublié ?\",\n    \"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.\": \"Mot de passe oublié ? Pas de soucis. Veuillez nous indiquer votre adresse e-mail et nous vous enverrons un lien de réinitialisation du mot de passe.\",\n    \"Found\": \"A trouvé\",\n    \"Gateway Timeout\": \"Délai d'attente de la passerelle\",\n    \"Go Home\": \"Aller à l'accueil\",\n    \"Go to page :page\": \"Aller à la page :page\",\n    \"Gone\": \"Disparu\",\n    \"Great! You have accepted the invitation to join the :team team.\": \"Super ! Vous avez accepté l'invitation à rejoindre l'équipe :team\",\n    \"Hello!\": \"Bonjour !\",\n    \"Hide\": \"Cacher\",\n    \"Hide :name\": \"Masquer :name\",\n    \"Home\": \"Maison\",\n    \"HTTP Version Not Supported\": \"Version HTTP non prise en charge\",\n    \"I agree to the :terms_of_service and :privacy_policy\": \"Je suis d'accord avec :terms_of_service et :privacy_policy\",\n    \"I'm a teapot\": \"Je suis une théière\",\n    \"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\": \"Si nécessaire, vous pouvez vous déconnecter de toutes vos autres sessions de navigateurs ouvertes sur tous vos appareils. Vos dernières sessions sont listées ci-dessous ; cependant, cette liste peut ne pas être exhaustive. Si vous pensez que votre compte a été compromis, vous devriez également mettre à jour votre mot de passe.\",\n    \"If you already have an account, you may accept this invitation by clicking the button below:\": \"Si vous avez déjà un compte, vous pouvez accepter cette invitation en cliquant sur le bouton ci-dessous :\",\n    \"If you did not create an account, no further action is required.\": \"Si vous n'avez pas créé de compte, vous pouvez ignorer ce message.\",\n    \"If you did not expect to receive an invitation to this team, you may discard this email.\": \"Si vous n'attendiez pas d'invitation de cette équipe, vous pouvez supprimer cet e-mail.\",\n    \"If you did not request a password reset, no further action is required.\": \"Si vous n'avez pas demandé de réinitialisation de mot de passe, vous pouvez ignorer ce message.\",\n    \"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:\": \"Si vous n'avez pas de compte, vous pouvez en créer un en cliquant sur le bouton ci-dessous. Ensuite, vous pourrez cliquer sur le bouton de cet e-mail pour accepter l'invitation de rejoindre l'équipe :\",\n    \"If you're having trouble clicking the \\\":actionText\\\" button, copy and paste the URL below\\ninto your web browser:\": \"Si vous avez des difficultés à cliquer sur le bouton \\\":actionText\\\", copiez et collez l'URL ci-dessous\\ndans votre navigateur Web :\",\n    \"IM Used\": \"J'ai l'habitude\",\n    \"Image\": \"Image\",\n    \"Impersonate\": \"Utiliser un autre compte\",\n    \"Impersonation\": \"Imitation\",\n    \"Import\": \"Importer\",\n    \"Import :name\": \"Importer :name\",\n    \"Insufficient Storage\": \"Espace insuffisant\",\n    \"Internal Server Error\": \"Erreur Interne du Serveur\",\n    \"Introduction\": \"Introduction\",\n    \"Invalid JSON was returned from the route.\": \"Un JSON non valide a été renvoyé par la route.\",\n    \"Invalid SSL Certificate\": \"Certificat SSL invalide\",\n    \"Last active\": \"Dernier actif\",\n    \"Last used\": \"Dernière utilisation\",\n    \"Leave\": \"Quitter\",\n    \"Leave Team\": \"Quitter l'équipe\",\n    \"length\": \"length\",\n    \"Length Required\": \"Longueur requise\",\n    \"Like\": \"Comme\",\n    \"Load\": \"Charger\",\n    \"Localize\": \"Localiser\",\n    \"Location\": \"Emplacement\",\n    \"Locked\": \"Fermé à clef\",\n    \"Log In\": \"Se connecter\",\n    \"Log in\": \"Se connecter\",\n    \"Log Out\": \"Se déconnecter\",\n    \"Log Out Other Browser Sessions\": \"Déconnecter les sessions ouvertes sur d'autres navigateurs\",\n    \"Login\": \"Connexion\",\n    \"Logout\": \"Déconnexion\",\n    \"Loop Detected\": \"Boucle détectée\",\n    \"Maintenance Mode\": \"Mode de Maintenance\",\n    \"Manage Account\": \"Gérer le compte\",\n    \"Manage and log out your active sessions on other browsers and devices.\": \"Gérer et déconnecter vos sessions actives sur les autres navigateurs et appareils.\",\n    \"Manage API Tokens\": \"Gérer les jetons API\",\n    \"Manage Role\": \"Gérer le rôle\",\n    \"Manage Team\": \"Gérer l'équipe\",\n    \"Method Not Allowed\": \"Méthode Non Autorisée\",\n    \"Misdirected Request\": \"Demande mal dirigée\",\n    \"Moved Permanently\": \"Déplacé de façon permanente\",\n    \"Multi-Status\": \"Multi-statut\",\n    \"Multiple Choices\": \"Choix multiples\",\n    \"Name\": \"Nom\",\n    \"Network Authentication Required\": \"Authentification réseau requise\",\n    \"Network Connect Timeout Error\": \"Erreur de délai de connexion réseau\",\n    \"Network Read Timeout Error\": \"Erreur de délai de lecture réseau\",\n    \"New\": \"Nouveau\",\n    \"New :name\": \"Nouveau :name\",\n    \"New Password\": \"Nouveau mot de passe\",\n    \"No\": \"Non\",\n    \"No Content\": \"Pas de contenu\",\n    \"Non-Authoritative Information\": \"Informations non autorisées\",\n    \"Not Acceptable\": \"Pas acceptable\",\n    \"Not Extended\": \"Non prolongé\",\n    \"Not Found\": \"Non trouvé\",\n    \"Not Implemented\": \"Pas mis en œuvre\",\n    \"Not Modified\": \"Non modifié\",\n    \"of\": \"de\",\n    \"OK\": \"OK\",\n    \"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\": \"Une fois qu'une équipe est supprimée, toutes ses données seront supprimées définitivement. Avant de supprimer cette équipe, veuillez télécharger toutes données ou informations de cette équipe.\",\n    \"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\": \"Une fois que votre compte est supprimé, toutes vos données sont supprimées définitivement. Avant de supprimer votre compte, veuillez télécharger vos données.\",\n    \"Open\": \"Ouvrir\",\n    \"Open in a current window\": \"Ouvrir dans une fenêtre actuelle\",\n    \"Open in a new window\": \"Ouvrir dans une nouvelle fenêtre\",\n    \"Open in a parent frame\": \"Ouvrir dans un frame parent\",\n    \"Open in the topmost frame\": \"Ouvrir dans le cadre le plus haut\",\n    \"Open on the website\": \"Ouvert sur le site\",\n    \"Origin Is Unreachable\": \"L'origine est inaccessible\",\n    \"Page Expired\": \"Page expirée\",\n    \"Pagination Navigation\": \"Pagination\",\n    \"Partial Content\": \"Contenu partiel\",\n    \"Password\": \"Mot de passe\",\n    \"Payload Too Large\": \"Charge utile trop grande\",\n    \"Payment Required\": \"Paiement requis\",\n    \"Pending Team Invitations\": \"Invitations d'équipe en attente\",\n    \"Permanent Redirect\": \"Redirection permanente\",\n    \"Permanently delete this team.\": \"Supprimer définitivement cette équipe.\",\n    \"Permanently delete your account.\": \"Supprimer définitivement votre compte.\",\n    \"Permissions\": \"Permissions\",\n    \"Photo\": \"Image\",\n    \"Please click the button below to verify your email address.\": \"Veuillez cliquer sur le bouton ci-dessous pour vérifier votre adresse e-mail :\",\n    \"Please confirm access to your account by entering one of your emergency recovery codes.\": \"Veuillez confirmer l'accès à votre compte en entrant l'un des codes de récupération d'urgence.\",\n    \"Please confirm access to your account by entering the authentication code provided by your authenticator application.\": \"Veuillez confirmer l'accès à votre compte en entrant le code d'authentification fourni par votre application d'authentification.\",\n    \"Please copy your new API token. For your security, it won't be shown again.\": \"Veuillez copier votre nouveau token API. Pour votre sécurité, il ne sera pas ré-affiché.\",\n    \"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\": \"Veuillez entrer votre mot de passe pour confirmer que vous voulez déconnecter toutes les autres sessions de navigateurs sur l'ensemble de vos appareils.\",\n    \"Please provide the email address of the person you would like to add to this team.\": \"Veuillez indiquer l'adresse e-mail de la personne que vous souhaitez ajouter à cette équipe.\",\n    \"Precondition Failed\": \"La précondition a échoué\",\n    \"Precondition Required\": \"Condition préalable requise\",\n    \"Preview\": \"Aperçu\",\n    \"Price\": \"Prix\",\n    \"Privacy Policy\": \"Politique de confidentialité\",\n    \"Processing\": \"En traitement\",\n    \"Profile\": \"Profil\",\n    \"Profile Information\": \"Informations du profil\",\n    \"Proxy Authentication Required\": \"Authentification proxy requise\",\n    \"Railgun Error\": \"Erreur de Railgun\",\n    \"Range Not Satisfiable\": \"Plage non satisfaisante\",\n    \"Record\": \"Enregistrer\",\n    \"Recovery Code\": \"Code de récupération\",\n    \"Regards\": \"Cordialement\",\n    \"Regenerate Recovery Codes\": \"Régénérer les codes de récupération\",\n    \"Register\": \"Inscription\",\n    \"Remember me\": \"Se souvenir de moi\",\n    \"Remove\": \"Supprimer\",\n    \"Remove Photo\": \"Supprimer l'image\",\n    \"Remove Team Member\": \"Supprimer le membre d'équipe\",\n    \"Request Header Fields Too Large\": \"Champs d'en-tête de requête trop grands\",\n    \"Request Timeout\": \"Délai d'expiration de la demande\",\n    \"Resend Verification Email\": \"Renvoyer l'e-mail de vérification\",\n    \"Reset Content\": \"Réinitialiser le contenu\",\n    \"Reset Password\": \"Réinitialisation du mot de passe\",\n    \"Reset Password Notification\": \"Notification de réinitialisation du mot de passe\",\n    \"Restore\": \"Restaurer\",\n    \"Restore :name\": \"Restaurer :name\",\n    \"results\": \"résultats\",\n    \"Retry With\": \"Réessayer avec\",\n    \"Role\": \"Rôle\",\n    \"Save\": \"Sauvegarder\",\n    \"Save & Close\": \"Sauvegarder et fermer\",\n    \"Save & Return\": \"Enregistrer et retourner\",\n    \"Save :name\": \"Économisez :name\",\n    \"Saved.\": \"Sauvegardé.\",\n    \"Search\": \"Rechercher\",\n    \"Search :name\": \"Recherche :name\",\n    \"See Other\": \"Voir autre\",\n    \"Select\": \"Sélectionner\",\n    \"Select A New Photo\": \"Sélectionner une nouvelle image\",\n    \"Select All\": \"Tout sélectionner\",\n    \"Send\": \"Envoyer\",\n    \"Server Error\": \"Erreur serveur\",\n    \"Service Unavailable\": \"Service indisponible\",\n    \"Session Has Expired\": \"La session a expiré\",\n    \"Settings\": \"Paramètres\",\n    \"Setup Key\": \"Clé de configuration\",\n    \"Show\": \"Montrer\",\n    \"Show :name\": \"Afficher :name\",\n    \"Show All\": \"Afficher tout\",\n    \"Show Recovery Codes\": \"Afficher les codes de récupération\",\n    \"Showing\": \"Montrant\",\n    \"Sign In\": \"Se connecter\",\n    \"Solve\": \"Résoudre\",\n    \"SSL Handshake Failed\": \"Échec de la prise de contact SSL\",\n    \"Start\": \"Commencer\",\n    \"Stop\": \"Arrêter\",\n    \"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\": \"Enregistrez ces codes dans un gestionnaire de mot de passe sécurisé. Ils peuvent être réutilisés pour accéder à votre compte si l'authentification à deux facteurs n'aboutit pas.\",\n    \"Submit\": \"Soumettre\",\n    \"Subscribe\": \"S'abonner\",\n    \"Switch\": \"Changer\",\n    \"Switch Teams\": \"Permuter les équipes\",\n    \"Switch To Role\": \"Passer au rôle\",\n    \"Switching Protocols\": \"Protocoles de commutation\",\n    \"Tag\": \"Étiqueter\",\n    \"Tags\": \"Mots clés\",\n    \"Team Details\": \"Détails de l'équipe\",\n    \"Team Invitation\": \"Invitation d'équipe\",\n    \"Team Members\": \"Membres de l'équipe\",\n    \"Team Name\": \"Nom de l'équipe\",\n    \"Team Owner\": \"Propriétaire de l'équipe\",\n    \"Team Settings\": \"Préférences de l'équipe\",\n    \"Temporary Redirect\": \"Redirection temporaire\",\n    \"Terms of Service\": \"Conditions d'utilisation\",\n    \"The :attribute must be a valid role.\": \"Le :attribute doit être un rôle valide.\",\n    \"The :attribute must be at least :length characters and contain at least one number.\": \"Le champ :attribute doit avoir au moins :length caractères et contenir au moins un chiffre.\",\n    \"The :attribute must be at least :length characters and contain at least one special character and one number.\": \"Le champ :attribute doit avoir au moins :length caractères et contenir au moins un caractère spécial et un nombre.\",\n    \"The :attribute must be at least :length characters and contain at least one special character.\": \"Le champ :attribute doit avoir au moins :length caractères et contenir au moins un caractère spécial.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one number.\": \"Le champ :attribute doit avoir au moins :length caractères et contenir au moins une majuscule et un chiffre.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.\": \"Le champ :attribute doit avoir au moins :length caractères et contenir au moins une majuscule et un caractère spécial.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.\": \"Le champ :attribute doit avoir au moins :length caractères, et contenir au moins une majuscule, un chiffre et un caractère spécial.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character.\": \"Le champ :attribute doit avoir au moins :length caractères et au moins une majuscule.\",\n    \"The :attribute must be at least :length characters.\": \"Le champ :attribute doit avoir au moins :length caractères.\",\n    \"The given data was invalid.\": \"La donnée renseignée est incorrecte.\",\n    \"The password is incorrect.\": \"Le mot de passe est incorrect.\",\n    \"The provided password does not match your current password.\": \"Le mot de passe indiqué ne correspond pas à votre mot de passe actuel.\",\n    \"The provided password was incorrect.\": \"Le mot de passé indiqué est incorrect.\",\n    \"The provided two factor authentication code was invalid.\": \"Le code d'authentification à deux facteurs fourni est incorrect.\",\n    \"The provided two factor recovery code was invalid.\": \"Le code de récupération fourni pour l'authentification à deux facteurs est incorrect.\",\n    \"The response is not a streamed response.\": \"La réponse n'est pas une réponse diffusée.\",\n    \"The response is not a view.\": \"La réponse n'est pas une vue.\",\n    \"The team's name and owner information.\": \"Les informations concernant l'équipe et son propriétaire.\",\n    \"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\": \"Ces personnes ont été invitées à rejoindre votre équipe et ont été prévenues avec un e-mail d'invitation. Ils peuvent rejoindre l'équipe grâce à l'e-mail d'invitation.\",\n    \"This action is unauthorized.\": \"Cette action n'est pas autorisée.\",\n    \"This device\": \"Cet appareil\",\n    \"This is a secure area of the application. Please confirm your password before continuing.\": \"Ceci est une zone sécurisée de l'application. Veuillez confirmer votre mot de passe avant de continuer.\",\n    \"This password does not match our records.\": \"Ce mot de passe ne correspond pas à nos enregistrements.\",\n    \"This password reset link will expire in :count minutes.\": \"Ce lien de réinitialisation du mot de passe expirera dans :count minutes.\",\n    \"This user already belongs to the team.\": \"Cet utilisateur appartient déjà à l'équipe.\",\n    \"This user has already been invited to the team.\": \"Cet utilisateur a déjà été invité à rejoindre l'équipe.\",\n    \"to\": \"à\",\n    \"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\": \"Pour terminer l'activation de l'authentification à deux facteurs, scannez le code QR suivant à l'aide de l'application d'authentification de votre téléphone ou entrez la clé de configuration et fournissez le code OTP généré.\",\n    \"Toggle navigation\": \"Afficher / masquer le menu de navigation\",\n    \"Token Name\": \"Nom du jeton\",\n    \"Too Early\": \"Trop tôt\",\n    \"Too Many Requests\": \"Trop de requêtes\",\n    \"Translate\": \"Traduire\",\n    \"Translate It\": \"Traduis le\",\n    \"Two Factor Authentication\": \"Authentification à deux facteurs\",\n    \"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\": \"L'authentification à deux facteurs est maintenant activée. Scannez le code QR suivant à l'aide de l'application d'authentification de votre téléphone ou entrez la clé de configuration.\",\n    \"Unauthorized\": \"Non autorisé\",\n    \"Unavailable For Legal Reasons\": \"Indisponible pour des raisons légales\",\n    \"Unknown\": \"Inconnu·e\",\n    \"Unknown Error\": \"Erreur inconnue\",\n    \"Unpack\": \"Déballer\",\n    \"Unprocessable Entity\": \"Entité non traitable\",\n    \"Unsubscribe\": \"Se désabonner\",\n    \"Unsupported Media Type\": \"Type de support non supporté\",\n    \"Up\": \"En haut\",\n    \"Update\": \"Mettre à jour\",\n    \"Update :name\": \"Mise à jour :name\",\n    \"Update Password\": \"Mettre à jour le mot de passe\",\n    \"Update your account's profile information and email address.\": \"Modifier le profil associé à votre compte ainsi que votre adresse e-mail.\",\n    \"Upgrade Required\": \"Mise à niveau requise\",\n    \"URI Too Long\": \"URI trop long\",\n    \"Use a recovery code\": \"Utiliser un code de récupération\",\n    \"Use an authentication code\": \"Utiliser un code d'authentification\",\n    \"Use Proxy\": \"Utiliser un proxy\",\n    \"User\": \"Utilisateur\",\n    \"Variant Also Negotiates\": \"La variante négocie également\",\n    \"Verify Email Address\": \"Vérifier l'adresse e-mail\",\n    \"View\": \"Vue\",\n    \"View :name\": \"Voir :name\",\n    \"We were unable to find a registered user with this email address.\": \"Nous n'avons pas pu trouver un utilisateur enregistré avec cette adresse e-mail.\",\n    \"Web Server is Down\": \"Le serveur Web est en panne\",\n    \"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\": \"Lorsque l'authentification à deux facteurs est activée, vous serez invité à saisir un jeton aléatoire sécurisé lors de l'authentification. Vous pouvez récupérer ce jeton depuis l'application Google Authenticator de votre téléphone.\",\n    \"Whoops!\": \"Oups !\",\n    \"Whoops! Something went wrong.\": \"Oups ! Un problème est survenu.\",\n    \"Yes\": \"Oui\",\n    \"You are receiving this email because we received a password reset request for your account.\": \"Vous recevez cet e-mail car nous avons reçu une demande de réinitialisation de mot de passe pour votre compte.\",\n    \"You have been invited to join the :team team!\": \"Vous avez été invité·e à rejoindre l'équipe :team !\",\n    \"You have enabled two factor authentication.\": \"Vous avez activé l'authentification à deux facteurs.\",\n    \"You have not enabled two factor authentication.\": \"Vous n'avez pas activé l'authentification à deux facteurs.\",\n    \"You may accept this invitation by clicking the button below:\": \"Vous pouvez accepter cette invitation en cliquant sur le bouton ci-dessous :\",\n    \"You may delete any of your existing tokens if they are no longer needed.\": \"Vous pouvez supprimer n'importe lequel de vos jetons existants s'ils ne sont plus nécessaires.\",\n    \"You may not delete your personal team.\": \"Vous ne pouvez pas supprimer votre équipe personnelle.\",\n    \"You may not leave a team that you created.\": \"Vous ne pouvez pas quitter une équipe que vous avez créée.\",\n    \"Your email address is unverified.\": \"Votre adresse e-mail n'est pas vérifiée.\"\n}"
  },
  {
    "path": "resources/lang/ru/actions.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accept'          => 'Принять',\n    'action'          => 'Действие',\n    'actions'         => 'Действия',\n    'add'             => 'Добавить',\n    'admin'           => 'Панель администратора',\n    'agree'           => 'Согласен(на)',\n    'archive'         => 'Архив',\n    'assign'          => 'Назначить',\n    'associate'       => 'Ассоциировать',\n    'attach'          => 'Прикрепить',\n    'browse'          => 'Просмотр',\n    'cancel'          => 'Отмена',\n    'choose'          => 'Выбрать',\n    'choose_file'     => 'Выбрать файл',\n    'choose_image'    => 'Выбрать изображение',\n    'click_to_copy'   => 'Скопировать',\n    'close'           => 'Закрыть',\n    'collapse'        => 'Свернуть',\n    'collapse_all'    => 'Свернуть всё',\n    'comment'         => 'Комментарий',\n    'confirm'         => 'Подтвердить',\n    'connect'         => 'Подключить',\n    'create'          => 'Создать',\n    'delete'          => 'Удалить',\n    'detach'          => 'Открепить',\n    'details'         => 'Подробнее',\n    'disable'         => 'Отключить',\n    'discard'         => 'Отказаться',\n    'done'            => 'Готово',\n    'down'            => 'Вниз',\n    'duplicate'       => 'Дублировать',\n    'edit'            => 'Редактировать',\n    'enable'          => 'Включить',\n    'expand'          => 'Раскрыть',\n    'expand_all'      => 'Раскрыть всё',\n    'explanation'     => 'Объяснить',\n    'export'          => 'Экспорт',\n    'file'            => 'Файл',\n    'files'           => 'Файлы',\n    'go_home'         => 'Вернуться на главную',\n    'hide'            => 'Скрыть',\n    'home'            => 'На главную',\n    'image'           => 'Изображение',\n    'impersonate'     => 'Войти под пользователем',\n    'impersonation'   => 'Войти под пользователем',\n    'import'          => 'Импорт',\n    'introduction'    => 'Введение',\n    'like'            => 'Нравится',\n    'load'            => 'Загрузить',\n    'localize'        => 'Локализовать',\n    'log_in'          => 'Войти',\n    'log_out'         => 'Выйти',\n    'named'           => [\n        'add'       => 'Добавить :name',\n        'choose'    => 'Выбрать :name',\n        'create'    => 'Создать :name',\n        'delete'    => 'Удалить :name',\n        'duplicate' => 'Дублировать :name',\n        'edit'      => 'Редактировать :name',\n        'export'    => 'Экспортировать :name',\n        'hide'      => 'Скрыть :name',\n        'import'    => 'Импорт :name',\n        'new'       => 'Новый :name',\n        'restore'   => 'Восстановить :name',\n        'save'      => 'Сохранить :name',\n        'search'    => 'Искать :name',\n        'show'      => 'Показать :name',\n        'update'    => 'Обновить :name',\n        'view'      => 'Просмотреть :name',\n    ],\n    'new'             => 'Новый',\n    'no'              => 'Нет',\n    'open'            => 'Открыть',\n    'open_website'    => 'Открыть на сайте',\n    'preview'         => 'Предпросмотр',\n    'price'           => 'Цена',\n    'record'          => 'Запись',\n    'restore'         => 'Восстановить',\n    'save'            => 'Сохранить',\n    'save_and_close'  => 'Сохранить и закрыть',\n    'save_and_return' => 'Сохранить и вернуться',\n    'search'          => 'Поиск',\n    'select'          => 'Выбрать',\n    'select_all'      => 'Выбрать всё',\n    'send'            => 'Отправить',\n    'settings'        => 'Настройки',\n    'show'            => 'Показать',\n    'show_all'        => 'Показать всё',\n    'sign_in'         => 'Регистрация',\n    'solve'           => 'Решить',\n    'start'           => 'Начать',\n    'stop'            => 'Остановить',\n    'submit'          => 'Отправить',\n    'subscribe'       => 'Подписаться',\n    'switch'          => 'Переключить',\n    'switch_to_role'  => 'Переключиться на роль',\n    'tag'             => 'Тег',\n    'tags'            => 'Теги',\n    'target_link'     => [\n        'blank'  => 'Открыть в новом окне',\n        'parent' => 'Открыть в родительском фрейме',\n        'self'   => 'Открыть в текущем окне',\n        'top'    => 'Открыть в главном фрейме',\n    ],\n    'translate'       => 'Перевод',\n    'translate_it'    => 'Перевести',\n    'unpack'          => 'Распаковать',\n    'unsubscribe'     => 'Отписаться',\n    'up'              => 'Вверх',\n    'update'          => 'Обновить',\n    'user'            => 'Пользователь',\n    'view'            => 'Просмотр',\n    'yes'             => 'Да',\n];\n"
  },
  {
    "path": "resources/lang/ru/auth.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'failed'   => 'Неверное имя пользователя или пароль.',\n    'password' => 'Некорректный пароль.',\n    'throttle' => 'Слишком много попыток входа. Пожалуйста, попробуйте ещё раз через :seconds секунд.',\n];\n"
  },
  {
    "path": "resources/lang/ru/http-statuses.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    '0'            => 'Неизвестная ошибка',\n    '100'          => 'Продолжить',\n    '101'          => 'Переключение протоколов',\n    '102'          => 'Идет обработка',\n    '200'          => 'ОК',\n    '201'          => 'Создано',\n    '202'          => 'Принято',\n    '203'          => 'Информация не авторитетна',\n    '204'          => 'Содержимое отсутствует',\n    '205'          => 'Сброс содержимого',\n    '206'          => 'Не полное содержимое',\n    '207'          => 'Много статусов',\n    '208'          => 'Уже сообщалось',\n    '226'          => 'Использовано IM',\n    '300'          => 'Много вариантов',\n    '301'          => 'Перемещено навсегда',\n    '302'          => 'Найдено',\n    '303'          => 'Смотри другое',\n    '304'          => 'Не изменялось',\n    '305'          => 'Используй прокси',\n    '307'          => 'Временное перенаправление',\n    '308'          => 'Постоянное перенаправление',\n    '400'          => 'Некорректный запрос',\n    '401'          => 'Не авторизован',\n    '402'          => 'Необходима оплата',\n    '403'          => 'Доступ запрещен',\n    '404'          => 'Не найдено',\n    '405'          => 'Метод запрещён',\n    '406'          => 'Неприемлемо',\n    '407'          => 'Требуется аутентификация прокси',\n    '408'          => 'Истекло время ожидания',\n    '409'          => 'Конфликт',\n    '410'          => 'Удалено',\n    '411'          => 'Необходима длина',\n    '412'          => 'Условие ложно',\n    '413'          => 'Большой объём данных',\n    '414'          => 'URI слишком длинный',\n    '415'          => 'Неподдерживаемый тип данных',\n    '416'          => 'Диапазон недостижим',\n    '417'          => 'Истекло время ожидания',\n    '418'          => 'Я - чайник',\n    '419'          => 'Сессия устарела',\n    '421'          => 'Неверный запрос',\n    '422'          => 'Необрабатываемый экземпляр',\n    '423'          => 'Доступ заблокирован',\n    '424'          => 'Ошибка зависимости',\n    '425'          => 'Слишком рано',\n    '426'          => 'Требуется обновление',\n    '428'          => 'Требуется предусловие',\n    '429'          => 'Слишком много запросов',\n    '431'          => 'Поля заголовка слишком большие',\n    '444'          => 'Соединение закрыто без ответа',\n    '449'          => 'Повторить с',\n    '451'          => 'Недоступно по юридическим причинам',\n    '499'          => 'Запрос закрыт клиентом',\n    '500'          => 'Внутренняя ошибка',\n    '501'          => 'Не реализовано',\n    '502'          => 'Проблема с шлюзом',\n    '503'          => 'Ведутся технические работы',\n    '504'          => 'Шлюз не отвечает',\n    '505'          => 'Версия HTTP не поддерживается',\n    '506'          => 'Вариант тоже проводит согласование',\n    '507'          => 'Переполнение хранилища',\n    '508'          => 'Обнаружен бесконечный цикл',\n    '509'          => 'Превышена нагрузка на канал связи',\n    '510'          => 'Не расширено',\n    '511'          => 'Требуется сетевая аутентификация',\n    '520'          => 'Неизвестная ошибка',\n    '521'          => 'Веб-сервер не работает',\n    '522'          => 'Соединение не отвечает',\n    '523'          => 'Источник недоступен',\n    '524'          => 'Истекло время ожидания',\n    '525'          => 'Квитирование SSL не удалось',\n    '526'          => 'Недействительный SSL сертификат',\n    '527'          => 'Ошибка соединения с Railgun',\n    '598'          => 'Истекло время ожидания',\n    '599'          => 'Истекло время подключения',\n    'unknownError' => 'Неизвестная ошибка',\n];\n"
  },
  {
    "path": "resources/lang/ru/pagination.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'next'     => 'Вперёд &raquo;',\n    'previous' => '&laquo; Назад',\n];\n"
  },
  {
    "path": "resources/lang/ru/passwords.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'reset'     => 'Ваш пароль был сброшен.',\n    'sent'      => 'Ссылка на сброс пароля была отправлена.',\n    'throttled' => 'Пожалуйста, подождите перед повторной попыткой.',\n    'token'     => 'Ошибочный код сброса пароля.',\n    'user'      => 'Не удалось найти пользователя с указанным электронным адресом.',\n];\n"
  },
  {
    "path": "resources/lang/ru/validation.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accepted'             => 'Вы должны принять :attribute.',\n    'accepted_if'          => 'Вы должны принять :attribute, когда :other содержит :value.',\n    'active_url'           => 'Значение поля :attribute должно быть действительным URL адресом.',\n    'after'                => 'Значение поля :attribute должно быть датой после :date.',\n    'after_or_equal'       => 'Значение поля :attribute должно быть датой после или равной :date.',\n    'alpha'                => 'Значение поля :attribute может содержать только буквы.',\n    'alpha_dash'           => 'Значение поля :attribute может содержать только буквы, цифры, дефис и нижнее подчеркивание.',\n    'alpha_num'            => 'Значение поля :attribute может содержать только буквы и цифры.',\n    'array'                => 'Значение поля :attribute должно быть массивом.',\n    'ascii'                => 'Значение поля :attribute должно содержать только однобайтовые цифро-буквенные символы.',\n    'attached'             => 'Поле :attribute уже прикреплено.',\n    'before'               => 'Значение поля :attribute должно быть датой до :date.',\n    'before_or_equal'      => 'Значение поля :attribute должно быть датой до или равной :date.',\n    'between'              => [\n        'array'   => 'Количество элементов в поле :attribute должно быть от :min до :max.',\n        'file'    => 'Размер файла в поле :attribute должен быть от :min до :max Кб.',\n        'numeric' => 'Значение поля :attribute должно быть от :min до :max.',\n        'string'  => 'Количество символов в поле :attribute должно быть от :min до :max.',\n    ],\n    'boolean'              => 'Значение поля :attribute должно быть логического типа.',\n    'can'                  => 'Значение поля :attribute должно быть авторизованным.',\n    'confirmed'            => 'Значение поля :attribute не совпадает с подтверждаемым.',\n    'contains'             => 'В поле :attribute отсутствует необходимое значение.',\n    'current_password'     => 'Неверный пароль.',\n    'date'                 => 'Значение поля :attribute должно быть корректной датой.',\n    'date_equals'          => 'Значение поля :attribute должно быть датой равной :date.',\n    'date_format'          => 'Значение поля :attribute должно соответствовать формату даты: :format.',\n    'decimal'              => 'Значение поля :attribute должно содержать :decimal цифр десятичных разрядов.',\n    'declined'             => 'Значение поля :attribute должно быть отклонено.',\n    'declined_if'          => 'Значение поля :attribute должно быть отклонено, когда :other содержит :value.',\n    'different'            => 'Значения полей :attribute и :other должны различаться.',\n    'digits'               => 'Количество символов в поле :attribute должно быть равным :digits.',\n    'digits_between'       => 'Количество символов в поле :attribute должно быть от :min до :max.',\n    'dimensions'           => 'Изображение, указанное в поле :attribute, имеет недопустимые размеры.',\n    'distinct'             => 'Элементы в значении поля :attribute не должны повторяться.',\n    'doesnt_end_with'      => 'Значение поля :attribute не должно заканчиваться одним из следующих: :values.',\n    'doesnt_start_with'    => 'Значение поля :attribute не должно начинаться с одного из следующих: :values.',\n    'email'                => 'Значение поля :attribute должно быть действительным электронным адресом.',\n    'ends_with'            => 'Значение поля :attribute должно заканчиваться одним из следующих: :values',\n    'enum'                 => 'Значение поля :attribute отсутствует в списке разрешённых.',\n    'exists'               => 'Значение поля :attribute не существует.',\n    'extensions'           => 'Файл в поле :attribute должен иметь одно из следующих расширений: :values.',\n    'file'                 => 'В поле :attribute должен быть указан файл.',\n    'filled'               => 'Значение поля :attribute обязательно для заполнения.',\n    'gt'                   => [\n        'array'   => 'Количество элементов в поле :attribute должно быть больше :value.',\n        'file'    => 'Размер файла, указанный в поле :attribute, должен быть больше :value Кб.',\n        'numeric' => 'Значение поля :attribute должно быть больше :value.',\n        'string'  => 'Количество символов в поле :attribute должно быть больше :value.',\n    ],\n    'gte'                  => [\n        'array'   => 'Количество элементов в поле :attribute должно быть :value или больше.',\n        'file'    => 'Размер файла, указанный в поле :attribute, должен быть :value Кб или больше.',\n        'numeric' => 'Значение поля :attribute должно быть :value или больше.',\n        'string'  => 'Количество символов в поле :attribute должно быть :value или больше.',\n    ],\n    'hex_color'            => 'Значение поля :attribute должно быть корректным цветом в HEX формате.',\n    'image'                => 'Файл, указанный в поле :attribute, должен быть изображением.',\n    'in'                   => 'Значение поля :attribute отсутствует в списке разрешённых.',\n    'in_array'             => 'Значение поля :attribute должно быть указано в поле :other.',\n    'integer'              => 'Значение поля :attribute должно быть целым числом.',\n    'ip'                   => 'Значение поля :attribute должно быть действительным IP-адресом.',\n    'ipv4'                 => 'Значение поля :attribute должно быть действительным IPv4-адресом.',\n    'ipv6'                 => 'Значение поля :attribute должно быть действительным IPv6-адресом.',\n    'json'                 => 'Значение поля :attribute должно быть JSON строкой.',\n    'list'                 => 'Значение поля :attribute должно быть списком.',\n    'lowercase'            => 'Значение поля :attribute должно быть в нижнем регистре.',\n    'lt'                   => [\n        'array'   => 'Количество элементов в поле :attribute должно быть меньше :value.',\n        'file'    => 'Размер файла, указанный в поле :attribute, должен быть меньше :value Кб.',\n        'numeric' => 'Значение поля :attribute должно быть меньше :value.',\n        'string'  => 'Количество символов в поле :attribute должно быть меньше :value.',\n    ],\n    'lte'                  => [\n        'array'   => 'Количество элементов в поле :attribute должно быть :value или меньше.',\n        'file'    => 'Размер файла, указанный в поле :attribute, должен быть :value Кб или меньше.',\n        'numeric' => 'Значение поля :attribute должно быть равным или меньше :value.',\n        'string'  => 'Количество символов в поле :attribute должно быть :value или меньше.',\n    ],\n    'mac_address'          => 'Значение поля :attribute должно быть корректным MAC-адресом.',\n    'max'                  => [\n        'array'   => 'Количество элементов в поле :attribute не может превышать :max.',\n        'file'    => 'Размер файла в поле :attribute не может быть больше :max Кб.',\n        'numeric' => 'Значение поля :attribute не может быть больше :max.',\n        'string'  => 'Количество символов в значении поля :attribute не может превышать :max.',\n    ],\n    'max_digits'           => 'Значение поля :attribute не должно содержать больше :max цифр.',\n    'mimes'                => 'Файл, указанный в поле :attribute, должен быть одного из следующих типов: :values.',\n    'mimetypes'            => 'Файл, указанный в поле :attribute, должен быть одного из следующих типов: :values.',\n    'min'                  => [\n        'array'   => 'Количество элементов в поле :attribute должно быть не меньше :min.',\n        'file'    => 'Размер файла, указанный в поле :attribute, должен быть не меньше :min Кб.',\n        'numeric' => 'Значение поля :attribute должно быть не меньше :min.',\n        'string'  => 'Количество символов в поле :attribute должно быть не меньше :min.',\n    ],\n    'min_digits'           => 'Значение поля :attribute должно содержать не меньше :min цифр.',\n    'missing'              => 'Значение поля :attribute должно отсутствовать.',\n    'missing_if'           => 'Значение поля :attribute должно отсутствовать, когда :other содержит :value.',\n    'missing_unless'       => 'Значение поля :attribute должно отсутствовать, когда :other не содержит :value.',\n    'missing_with'         => 'Значение поля :attribute должно отсутствовать, если :values указано.',\n    'missing_with_all'     => 'Значение поля :attribute должно отсутствовать, когда указаны все :values.',\n    'multiple_of'          => 'Значение поля :attribute должно быть кратным :value',\n    'not_in'               => 'Значение поля :attribute находится в списке запрета.',\n    'not_regex'            => 'Значение поля :attribute имеет некорректный формат.',\n    'numeric'              => 'Значение поля :attribute должно быть числом.',\n    'password'             => [\n        'letters'       => 'Значение поля :attribute должно содержать хотя бы одну букву.',\n        'mixed'         => 'Значение поля :attribute должно содержать хотя бы одну прописную и одну строчную буквы.',\n        'numbers'       => 'Значение поля :attribute должно содержать хотя бы одну цифру.',\n        'symbols'       => 'Значение поля :attribute должно содержать хотя бы один символ.',\n        'uncompromised' => 'Значение поля :attribute обнаружено в утёкших данных. Пожалуйста, выберите другое значение для :attribute.',\n    ],\n    'present'              => 'Значение поля :attribute должно быть.',\n    'present_if'           => 'Значение поля :attribute должно быть когда :other содержит :value.',\n    'present_unless'       => 'Значение поля :attribute должно быть, если только :other не содержит :value.',\n    'present_with'         => 'Значение поля :attribute должно быть когда одно из :values присутствуют.',\n    'present_with_all'     => 'Значение поля :attribute должно быть когда все из значений присутствуют: :values.',\n    'prohibited'           => 'Значение поля :attribute запрещено.',\n    'prohibited_if'        => 'Значение поля :attribute запрещено, когда :other содержит :value.',\n    'prohibited_unless'    => 'Значение поля :attribute запрещено, если :other не состоит в :values.',\n    'prohibits'            => 'Значение поля :attribute запрещает присутствие :other.',\n    'regex'                => 'Значение поля :attribute имеет некорректный формат.',\n    'relatable'            => 'Поле :attribute не может быть связано с этим ресурсом.',\n    'required'             => 'Поле :attribute обязательно.',\n    'required_array_keys'  => 'Массив, указанный в поле :attribute, обязательно должен иметь ключи: :values',\n    'required_if'          => 'Поле :attribute обязательно для заполнения, когда :other содержит :value.',\n    'required_if_accepted' => 'Поле :attribute обязательно, когда :other принято.',\n    'required_if_declined' => 'Поле :attribute обязательно, когда :other отклонено.',\n    'required_unless'      => 'Поле :attribute обязательно для заполнения, когда :other не содержит :values.',\n    'required_with'        => 'Поле :attribute обязательно для заполнения, когда :values указано.',\n    'required_with_all'    => 'Поле :attribute обязательно для заполнения, когда :values указано.',\n    'required_without'     => 'Поле :attribute обязательно для заполнения, когда :values не указано.',\n    'required_without_all' => 'Поле :attribute обязательно для заполнения, когда ни одно из :values не указано.',\n    'same'                 => 'Значения полей :attribute и :other должны совпадать.',\n    'size'                 => [\n        'array'   => 'Количество элементов в поле :attribute должно быть равным :size.',\n        'file'    => 'Размер файла, указанный в поле :attribute, должен быть равен :size Кб.',\n        'numeric' => 'Значение поля :attribute должно быть равным :size.',\n        'string'  => 'Количество символов в поле :attribute должно быть равным :size.',\n    ],\n    'starts_with'          => 'Поле :attribute должно начинаться с одного из следующих значений: :values',\n    'string'               => 'Значение поля :attribute должно быть строкой.',\n    'timezone'             => 'Значение поля :attribute должно быть действительным часовым поясом.',\n    'ulid'                 => 'Значение поля :attribute должно быть корректным ULID.',\n    'unique'               => 'Такое значение поля :attribute уже существует.',\n    'uploaded'             => 'Загрузка файла из поля :attribute не удалась.',\n    'uppercase'            => 'Значение поля :attribute должно быть в верхнем регистре.',\n    'url'                  => 'Значение поля :attribute не является ссылкой или имеет некорректный формат.',\n    'uuid'                 => 'Значение поля :attribute должно быть корректным UUID.',\n    'attributes'           => [\n        'address'                  => 'адрес',\n        'affiliate_url'            => 'Партнёрская ссылка',\n        'age'                      => 'возраст',\n        'amount'                   => 'количество',\n        'announcement'             => 'анонс',\n        'area'                     => 'область',\n        'audience_prize'           => 'приз зрительских симпатий',\n        'available'                => 'доступно',\n        'birthday'                 => 'дата рождения',\n        'body'                     => 'контент',\n        'city'                     => 'город',\n        'compilation'              => 'компиляция',\n        'concept'                  => 'концепт',\n        'conditions'               => 'условия',\n        'content'                  => 'контент',\n        'country'                  => 'страна',\n        'cover'                    => 'обложка',\n        'created_at'               => 'создано в',\n        'creator'                  => 'создатель',\n        'currency'                 => 'валюта',\n        'current_password'         => 'текущий пароль',\n        'customer'                 => 'клиент',\n        'date'                     => 'дата',\n        'date_of_birth'            => 'день рождения',\n        'dates'                    => 'даты',\n        'day'                      => 'день',\n        'deleted_at'               => 'удалено в',\n        'description'              => 'описание',\n        'display_type'             => 'тип отображения',\n        'district'                 => 'округ',\n        'duration'                 => 'продолжительность',\n        'email'                    => 'email адрес',\n        'excerpt'                  => 'выдержка',\n        'filter'                   => 'фильтр',\n        'finished_at'              => 'завершено в',\n        'first_name'               => 'имя',\n        'gender'                   => 'пол',\n        'grand_prize'              => 'главный приз',\n        'group'                    => 'группа',\n        'hour'                     => 'час',\n        'image'                    => 'изображение',\n        'image_desktop'            => 'десктопное изображение',\n        'image_main'               => 'основное изображение',\n        'image_mobile'             => 'мобильное изображение',\n        'images'                   => 'изображения',\n        'is_audience_winner'       => 'победитель зрительских симпатий',\n        'is_hidden'                => 'скрыто',\n        'is_subscribed'            => 'подписан',\n        'is_visible'               => 'отображается',\n        'is_winner'                => 'победитель',\n        'items'                    => 'элементы',\n        'key'                      => 'ключ',\n        'last_name'                => 'фамилия',\n        'lesson'                   => 'урок',\n        'line_address_1'           => 'строка адреса 1',\n        'line_address_2'           => 'строка адреса 2',\n        'login'                    => 'логин',\n        'message'                  => 'сообщение',\n        'middle_name'              => 'отчество',\n        'minute'                   => 'минута',\n        'mobile'                   => 'моб. номер',\n        'month'                    => 'месяц',\n        'name'                     => 'имя',\n        'national_code'            => 'национальный код',\n        'number'                   => 'номер',\n        'password'                 => 'пароль',\n        'password_confirmation'    => 'подтверждение пароля',\n        'phone'                    => 'номер телефона',\n        'photo'                    => 'фотография',\n        'portfolio'                => 'портфолио',\n        'postal_code'              => 'индекс',\n        'preview'                  => 'предпросмотр',\n        'price'                    => 'стоимость',\n        'product_id'               => 'ID продукта',\n        'product_uid'              => 'UID продукта',\n        'product_uuid'             => 'UUID продукта',\n        'promo_code'               => 'промокод',\n        'province'                 => 'провинция',\n        'quantity'                 => 'количество',\n        'reason'                   => 'причина',\n        'recaptcha_response_field' => 'ошибка капчи',\n        'referee'                  => 'жюри',\n        'referees'                 => 'жюри',\n        'reject_reason'            => 'причина отказа',\n        'remember'                 => 'запомнить',\n        'restored_at'              => 'восстановлено в',\n        'result_text_under_image'  => 'текст под изображением',\n        'role'                     => 'роль',\n        'rule'                     => 'правило',\n        'rules'                    => 'правила',\n        'second'                   => 'секунда',\n        'sex'                      => 'пол',\n        'shipment'                 => 'доставка',\n        'short_text'               => 'короткое описание',\n        'size'                     => 'размер',\n        'skills'                   => 'навыки',\n        'slug'                     => 'слаг',\n        'specialization'           => 'специализация',\n        'started_at'               => 'началось в',\n        'state'                    => 'штат',\n        'status'                   => 'статус',\n        'street'                   => 'улица',\n        'student'                  => 'студент',\n        'subject'                  => 'заголовок',\n        'tag'                      => 'тег',\n        'tags'                     => 'теги',\n        'teacher'                  => 'учитель',\n        'terms'                    => 'правила',\n        'test_description'         => 'тестовое описание',\n        'test_locale'              => 'тестовая локализация',\n        'test_name'                => 'тестовое имя',\n        'text'                     => 'текст',\n        'time'                     => 'время',\n        'title'                    => 'наименование',\n        'type'                     => 'тип',\n        'updated_at'               => 'обновлено в',\n        'user'                     => 'пользователь',\n        'username'                 => 'никнейм',\n        'value'                    => 'значение',\n        'year'                     => 'год',\n    ],\n];\n"
  },
  {
    "path": "resources/lang/ru.json",
    "content": "{\n    \"(and :count more error)\": \"(и ещё :count ошибка)\",\n    \"(and :count more errors)\": \"(и ещё :count ошибка)|(и ещё :count ошибки)|(и ещё :count ошибок)\",\n    \"A new verification link has been sent to the email address you provided in your profile settings.\": \"На адрес электронной почты, который Вы указали в настройках своего профиля, была отправлена новая ссылка для подтверждения.\",\n    \"A new verification link has been sent to your email address.\": \"На Ваш адрес электронной почты отправлена новая ссылка для подтверждения.\",\n    \"A Timeout Occurred\": \"Истекло время ожидания\",\n    \"Accept\": \"Принять\",\n    \"Accept Invitation\": \"Принять приглашение\",\n    \"Accepted\": \"Принято\",\n    \"Action\": \"Действие\",\n    \"Actions\": \"Действия\",\n    \"Add\": \"Добавить\",\n    \"Add :name\": \"Добавить :name\",\n    \"Add a new team member to your team, allowing them to collaborate with you.\": \"Добавьте нового члена в свою команду для совместной работы с ним.\",\n    \"Add additional security to your account using two factor authentication.\": \"Защитите свой аккаунт используя двухфакторную аутентификацию.\",\n    \"Add Team Member\": \"Добавить члена команды\",\n    \"Added.\": \"Добавлено.\",\n    \"Admin\": \"Панель администратора\",\n    \"Administrator\": \"Администратор\",\n    \"Administrator users can perform any action.\": \"Администратор может выполнять любые действия.\",\n    \"Agree\": \"Согласен(на)\",\n    \"All of the people that are part of this team.\": \"Все люди, являющиеся частью этой команды\",\n    \"All rights reserved.\": \"Все права защищены.\",\n    \"Already registered?\": \"Уже зарегистрированы?\",\n    \"Already Reported\": \"Уже сообщалось\",\n    \"API Token\": \"API токен\",\n    \"API Token Permissions\": \"Разрешения API токена\",\n    \"API Tokens\": \"API токены\",\n    \"API tokens allow third-party services to authenticate with our application on your behalf.\": \"API токены позволяют сторонним службам аутентифицироваться в приложении от Вашего имени.\",\n    \"Archive\": \"Архив\",\n    \"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\": \"Вы уверены что хотите удалить эту команду? После удаления команды все её ресурсы и данные будут удалены без возможности восстановления.\",\n    \"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\": \"Вы уверены что хотите удалить свою учётную запись? После удаления Вашей учётной записи все её ресурсы и данные будут удалены без возможности восстановления. Пожалуйста, введите свой пароль для подтверждения удаления учётной записи.\",\n    \"Are you sure you would like to delete this API token?\": \"Вы уверены что хотите удалить этот API токен?\",\n    \"Are you sure you would like to leave this team?\": \"Вы уверены что хотите покинуть эту команду?\",\n    \"Are you sure you would like to remove this person from the team?\": \"Вы уверены что хотите удалить этого члена команды?\",\n    \"Assign\": \"Назначить\",\n    \"Associate\": \"Ассоциировать\",\n    \"Attach\": \"Прикрепить\",\n    \"Bad Gateway\": \"Проблема с шлюзом\",\n    \"Bad Request\": \"Некорректный запрос\",\n    \"Bandwidth Limit Exceeded\": \"Превышена нагрузка на канал связи\",\n    \"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\": \"Прежде чем продолжить, не могли бы Вы подтвердить свой адрес электронной почты, перейдя по ссылке, которую мы только что отправили Вам по электронной почте? Если Вы не получили письмо, мы с радостью вышлем другое.\",\n    \"Browse\": \"Просмотр\",\n    \"Browser Sessions\": \"Сеансы\",\n    \"Cancel\": \"Отмена\",\n    \"Choose\": \"Выбрать\",\n    \"Choose :name\": \"Выбрать :name\",\n    \"Choose File\": \"Выбрать файл\",\n    \"Choose Image\": \"Выбрать изображение\",\n    \"Click here to re-send the verification email.\": \"Нажмите здесь, чтобы повторно отправить электронное письмо для подтверждения.\",\n    \"Click to copy\": \"Скопировать\",\n    \"Client Closed Request\": \"Запрос закрыт клиентом\",\n    \"Close\": \"Закрыть\",\n    \"Code\": \"Код\",\n    \"Collapse\": \"Свернуть\",\n    \"Collapse All\": \"Свернуть всё\",\n    \"Comment\": \"Комментарий\",\n    \"Confirm\": \"Подтвердить\",\n    \"Confirm Password\": \"Подтвердить пароль\",\n    \"Conflict\": \"Конфликт\",\n    \"Connect\": \"Подключить\",\n    \"Connection Closed Without Response\": \"Соединение закрыто без ответа\",\n    \"Connection Timed Out\": \"Соединение не отвечает\",\n    \"Continue\": \"Продолжить\",\n    \"Create\": \"Создать\",\n    \"Create :name\": \"Создать :name\",\n    \"Create a new team to collaborate with others on projects.\": \"Создайте новую команду для совместной работы над проектами.\",\n    \"Create Account\": \"Создать аккаунт\",\n    \"Create API Token\": \"Создать API токен\",\n    \"Create New Team\": \"Создать команду\",\n    \"Create Team\": \"Создать команду\",\n    \"Created\": \"Создано\",\n    \"Created.\": \"Создано.\",\n    \"Current Password\": \"Текущий пароль\",\n    \"Dashboard\": \"Панель\",\n    \"Delete\": \"Удалить\",\n    \"Delete :name\": \"Удалить :name\",\n    \"Delete Account\": \"Удалить аккаунт\",\n    \"Delete API Token\": \"Удалить API токен\",\n    \"Delete Team\": \"Удалить команду\",\n    \"Detach\": \"Открепить\",\n    \"Details\": \"Подробности\",\n    \"Disable\": \"Отключить\",\n    \"Discard\": \"Отказаться\",\n    \"Done\": \"Готово\",\n    \"Done.\": \"Успешно.\",\n    \"Down\": \"Вниз\",\n    \"Duplicate\": \"Дублировать\",\n    \"Duplicate :name\": \"Дублировать :name\",\n    \"Edit\": \"Редактировать\",\n    \"Edit :name\": \"Редактировать :name\",\n    \"Edit Profile\": \"Редактировать профиль\",\n    \"Editor\": \"Редактор\",\n    \"Editor users have the ability to read, create, and update.\": \"Пользователи с правами редактора могут читать, создавать и обновлять.\",\n    \"Email\": \"Адрес электронной почты\",\n    \"Email Password Reset Link\": \"Ссылка для сброса пароля\",\n    \"Enable\": \"Включить\",\n    \"Ensure your account is using a long, random password to stay secure.\": \"В целях безопасности убедитесь, что Вы используете длинный случайный пароль.\",\n    \"errors\": \"ошибки\",\n    \"Expand\": \"Раскрыть\",\n    \"Expand All\": \"Раскрыть всё\",\n    \"Expectation Failed\": \"Истекло время ожидания\",\n    \"Explanation\": \"Объяснить\",\n    \"Export\": \"Экспорт\",\n    \"Export :name\": \"Экспортировать :name\",\n    \"Failed Dependency\": \"Ошибка зависимости\",\n    \"File\": \"Файл\",\n    \"Files\": \"Файлы\",\n    \"Finish enabling two factor authentication.\": \"Завершите активацию двухфакторной аутентификации.\",\n    \"For your security, please confirm your password to continue.\": \"Для продолжения подтвердите пароль для Вашей безопасности.\",\n    \"Forbidden\": \"Запрещено\",\n    \"Forgot your password?\": \"Забыли пароль?\",\n    \"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.\": \"Забыли пароль? Нет проблем. Просто сообщите Ваш адрес электронной почты и мы пришлём Вам ссылку для сброса пароля.\",\n    \"Found\": \"Найдено\",\n    \"Gateway Timeout\": \"Шлюз не отвечает\",\n    \"Go Home\": \"Домой\",\n    \"Go to page :page\": \"Перейти к :page-й странице\",\n    \"Gone\": \"Удалено\",\n    \"Great! You have accepted the invitation to join the :team team.\": \"Отлично! Вы приняли приглашение присоединиться к команде :team.\",\n    \"Hello!\": \"Здравствуйте!\",\n    \"Hide\": \"Скрыть\",\n    \"Hide :name\": \"Скрыть :name\",\n    \"Home\": \"На главную\",\n    \"HTTP Version Not Supported\": \"Версия HTTP не поддерживается\",\n    \"I agree to the :terms_of_service and :privacy_policy\": \"Я соглашаюсь с :terms_of_service и :privacy_policy\",\n    \"I'm a teapot\": \"Я - чайник\",\n    \"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\": \"При необходимости, Вы можете выйти из всех других сеансов на всех Ваших устройствах. Некоторые из Ваших сеансов перечислены ниже, однако, этот список может быть не полным. Если Вы считаете, что Ваша учётная запись была взломана, Вам также следует обновить свой пароль.\",\n    \"If you already have an account, you may accept this invitation by clicking the button below:\": \"Если у Вас уже есть учётная запись, Вы можете принять это приглашение, нажав на кнопку:\",\n    \"If you did not create an account, no further action is required.\": \"Если Вы не создавали учетную запись, никаких дополнительных действий не требуется.\",\n    \"If you did not expect to receive an invitation to this team, you may discard this email.\": \"Если Вы не желаете войти в состав этой команды, Вы можете проигнорировать это письмо.\",\n    \"If you did not request a password reset, no further action is required.\": \"Если Вы не запрашивали восстановление пароля, никаких дополнительных действий не требуется.\",\n    \"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:\": \"Если у Вас нет учётной записи, Вы можете создать её, нажав на кнопку ниже. После создания учётной записи, Вы можете нажать кнопку принятия приглашения в этом письме, чтобы принять его:\",\n    \"If you're having trouble clicking the \\\":actionText\\\" button, copy and paste the URL below\\ninto your web browser:\": \"Если у Вас возникли проблемы с нажатием кнопки \\\":actionText\\\", скопируйте и вставьте приведенный ниже URL-адрес в свой браузер:\",\n    \"IM Used\": \"Использовано IM\",\n    \"Image\": \"Изображение\",\n    \"Impersonate\": \"Войти под пользователем\",\n    \"Impersonation\": \"Войти под пользователем\",\n    \"Import\": \"Импорт\",\n    \"Import :name\": \"Импорт :name\",\n    \"Insufficient Storage\": \"Переполнение хранилища\",\n    \"Internal Server Error\": \"Внутренняя ошибка\",\n    \"Introduction\": \"Введение\",\n    \"Invalid JSON was returned from the route.\": \"Маршрут вернул некорректный JSON.\",\n    \"Invalid SSL Certificate\": \"Недействительный SSL сертификат\",\n    \"Last active\": \"Последняя активность\",\n    \"Last used\": \"Последнее использование\",\n    \"Leave\": \"Покинуть\",\n    \"Leave Team\": \"Покинуть команду\",\n    \"length\": \"длина\",\n    \"Length Required\": \"Необходима длина\",\n    \"Like\": \"Нравится\",\n    \"Load\": \"Загрузить\",\n    \"Localize\": \"Локализовать\",\n    \"Location\": \"Местоположение\",\n    \"Locked\": \"Доступ заблокирован\",\n    \"Log In\": \"Войти\",\n    \"Log in\": \"Войти\",\n    \"Log Out\": \"Выйти\",\n    \"Log Out Other Browser Sessions\": \"Завершить другие сессии\",\n    \"Login\": \"Войти\",\n    \"Logout\": \"Выйти\",\n    \"Loop Detected\": \"Обнаружен бесконечный цикл\",\n    \"Maintenance Mode\": \"Ведутся технические работы\",\n    \"Manage Account\": \"Управление аккаунтом\",\n    \"Manage and log out your active sessions on other browsers and devices.\": \"Управление активными сеансами на других устройствах.\",\n    \"Manage API Tokens\": \"Управление API токенами\",\n    \"Manage Role\": \"Управление ролью\",\n    \"Manage Team\": \"Управление командой\",\n    \"Method Not Allowed\": \"Метод запрещён\",\n    \"Misdirected Request\": \"Неверный запрос\",\n    \"Moved Permanently\": \"Перемещено навсегда\",\n    \"Multi-Status\": \"Много статусов\",\n    \"Multiple Choices\": \"Много вариантов\",\n    \"Name\": \"Имя\",\n    \"Network Authentication Required\": \"Требуется сетевая аутентификация\",\n    \"Network Connect Timeout Error\": \"Истекло время подключения\",\n    \"Network Read Timeout Error\": \"Истекло время ожидания\",\n    \"New\": \"Новый\",\n    \"New :name\": \"Новый :name\",\n    \"New Password\": \"Новый пароль\",\n    \"No\": \"Нет\",\n    \"No Content\": \"Содержимое отсутствует\",\n    \"Non-Authoritative Information\": \"Информация не авторитетна\",\n    \"Not Acceptable\": \"Неприемлемо\",\n    \"Not Extended\": \"Не расширено\",\n    \"Not Found\": \"Не найдено\",\n    \"Not Implemented\": \"Не реализовано\",\n    \"Not Modified\": \"Не изменялось\",\n    \"of\": \"из\",\n    \"OK\": \"ОК\",\n    \"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\": \"После удаления команды все её ресурсы и данные будут удалены без возможности восстановления. Перед удалением скачайте данные и информацию о команде, которые хотите сохранить.\",\n    \"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\": \"После удаления Вашей учётной записи все её ресурсы и данные будут удалены без возможности восстановления. Перед удалением учётной записи загрузите данные и информацию, которую хотите сохранить.\",\n    \"Open\": \"Открыть\",\n    \"Open in a current window\": \"Открыть в текущем окне\",\n    \"Open in a new window\": \"Открыть в новом окне\",\n    \"Open in a parent frame\": \"Открыть в родительском фрейме\",\n    \"Open in the topmost frame\": \"Открыть в главном фрейме\",\n    \"Open on the website\": \"Открыть на сайте\",\n    \"Origin Is Unreachable\": \"Источник недоступен\",\n    \"Page Expired\": \"Страница устарела\",\n    \"Pagination Navigation\": \"Навигация\",\n    \"Partial Content\": \"Не полное содержимое\",\n    \"Password\": \"Пароль\",\n    \"Payload Too Large\": \"Большой объём данных\",\n    \"Payment Required\": \"Требуется оплата\",\n    \"Pending Team Invitations\": \"Ожидающие приглашения в команду\",\n    \"Permanent Redirect\": \"Постоянное перенаправление\",\n    \"Permanently delete this team.\": \"Удалить эту команду навсегда.\",\n    \"Permanently delete your account.\": \"Удалить свой аккаунт навсегда.\",\n    \"Permissions\": \"Разрешения\",\n    \"Photo\": \"Фото\",\n    \"Please click the button below to verify your email address.\": \"Пожалуйста, нажмите кнопку ниже, чтобы подтвердить свой адрес электронной почты.\",\n    \"Please confirm access to your account by entering one of your emergency recovery codes.\": \"Подтвердите доступ к своей учётной записи, введя один из кодов аварийного восстановления.\",\n    \"Please confirm access to your account by entering the authentication code provided by your authenticator application.\": \"Подтвердите доступ к своей учётной записи, введя код из Вашего приложения аутентификации.\",\n    \"Please copy your new API token. For your security, it won't be shown again.\": \"Скопируйте Ваш новый API токен. В целях безопасности он больше не будет отображаться.\",\n    \"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\": \"Введите пароль для подтверждения выхода из других сеансов на всех ваших устройствах.\",\n    \"Please provide the email address of the person you would like to add to this team.\": \"Укажите электронный адрес человека, которого Вы хотите добавить в эту команду.\",\n    \"Precondition Failed\": \"Условие ложно\",\n    \"Precondition Required\": \"Требуется предусловие\",\n    \"Preview\": \"Предпросмотр\",\n    \"Price\": \"Цена\",\n    \"Privacy Policy\": \"политикой конфиденциальности\",\n    \"Processing\": \"Идет обработка\",\n    \"Profile\": \"Профиль\",\n    \"Profile Information\": \"Информация профиля\",\n    \"Proxy Authentication Required\": \"Требуется аутентификация прокси\",\n    \"Railgun Error\": \"Ошибка соединения с Railgun\",\n    \"Range Not Satisfiable\": \"Диапазон недостижим\",\n    \"Record\": \"Запись\",\n    \"Recovery Code\": \"Код восстановления\",\n    \"Regards\": \"С уважением\",\n    \"Regenerate Recovery Codes\": \"Перегенерировать коды восстановления\",\n    \"Register\": \"Регистрация\",\n    \"Remember me\": \"Запомнить меня\",\n    \"Remove\": \"Удалить\",\n    \"Remove Photo\": \"Удалить фото\",\n    \"Remove Team Member\": \"Удалить члена команды\",\n    \"Request Header Fields Too Large\": \"Поля заголовка слишком большие\",\n    \"Request Timeout\": \"Истекло время ожидания\",\n    \"Resend Verification Email\": \"Выслать повторно письмо для подтверждения\",\n    \"Reset Content\": \"Сброс содержимого\",\n    \"Reset Password\": \"Сбросить пароль\",\n    \"Reset Password Notification\": \"Оповещение о сбросе пароля\",\n    \"Restore\": \"Восстановить\",\n    \"Restore :name\": \"Восстановить :name\",\n    \"results\": \"результатов\",\n    \"Retry With\": \"Повторить с\",\n    \"Role\": \"Роль\",\n    \"Save\": \"Сохранить\",\n    \"Save & Close\": \"Сохранить и закрыть\",\n    \"Save & Return\": \"Сохранить и вернуться\",\n    \"Save :name\": \"Сохранить :name\",\n    \"Saved.\": \"Сохранено.\",\n    \"Search\": \"Поиск\",\n    \"Search :name\": \"Поиск :name\",\n    \"See Other\": \"Смотри другое\",\n    \"Select\": \"Выбрать\",\n    \"Select A New Photo\": \"Выбрать фото\",\n    \"Select All\": \"Выбрать всё\",\n    \"Send\": \"Отправить\",\n    \"Server Error\": \"Ошибка сервера\",\n    \"Service Unavailable\": \"Сервис недоступен\",\n    \"Session Has Expired\": \"Сессия устарела\",\n    \"Settings\": \"Настройки\",\n    \"Setup Key\": \"Ключ настройки\",\n    \"Show\": \"Показать\",\n    \"Show :name\": \"Показать :name\",\n    \"Show All\": \"Показать всё\",\n    \"Show Recovery Codes\": \"Показать коды восстановления\",\n    \"Showing\": \"Показано с\",\n    \"Sign In\": \"Регистрация\",\n    \"Solve\": \"Решить\",\n    \"SSL Handshake Failed\": \"Квитирование SSL не удалось\",\n    \"Start\": \"Начать\",\n    \"Stop\": \"Остановить\",\n    \"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\": \"Храните эти коды восстановления в безопасном месте. Их можно использовать для восстановления доступа к Вашей учётной записи, если Ваше устройство с двухфакторной аутентификацией потеряно.\",\n    \"Submit\": \"Отправить\",\n    \"Subscribe\": \"Подписаться\",\n    \"Switch\": \"Переключить\",\n    \"Switch Teams\": \"Сменить команды\",\n    \"Switch To Role\": \"Переключиться на роль\",\n    \"Switching Protocols\": \"Переключение протоколов\",\n    \"Tag\": \"Тег\",\n    \"Tags\": \"Теги\",\n    \"Team Details\": \"Детали команды\",\n    \"Team Invitation\": \"Приглашение в команду\",\n    \"Team Members\": \"Члены команды\",\n    \"Team Name\": \"Название команды\",\n    \"Team Owner\": \"Владелец команды\",\n    \"Team Settings\": \"Настройки команды\",\n    \"Temporary Redirect\": \"Временное перенаправление\",\n    \"Terms of Service\": \"Условия обслуживания\",\n    \"The :attribute must be a valid role.\": \"Значение поля :attribute должно быть корректной ролью.\",\n    \"The :attribute must be at least :length characters and contain at least one number.\": \"Значение поля :attribute должно быть не меньше :length символов и содержать как минимум одну цифру.\",\n    \"The :attribute must be at least :length characters and contain at least one special character and one number.\": \"Значение поля :attribute должно быть не меньше :length символов, содержать как минимум один спецсимвол и одну цифру.\",\n    \"The :attribute must be at least :length characters and contain at least one special character.\": \"Значение поля :attribute должно быть не меньше :length символов и содержать как минимум один спецсимвол.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one number.\": \"Значение поля :attribute должно быть не меньше :length символов и содержать как минимум один символ в верхнем регистре и одну цифру.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.\": \"Значение поля :attribute должно быть не меньше :length символов и содержать как минимум один символ в верхнем регистре и один спецсимвол.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.\": \"Значение поля :attribute должно быть не меньше :length символов и содержать как минимум один символ в верхнем регистре, одно число и один спецсимвол.\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character.\": \"Значение поля :attribute должно быть не меньше :length символов и содержать как минимум один символ в верхнем регистре.\",\n    \"The :attribute must be at least :length characters.\": \"Значение поля :attribute должно быть не меньше :length символов.\",\n    \"The given data was invalid.\": \"Указанные данные недействительны.\",\n    \"The password is incorrect.\": \"Некорректный пароль.\",\n    \"The provided password does not match your current password.\": \"Указанный пароль не соответствует Вашему текущему паролю.\",\n    \"The provided password was incorrect.\": \"Неверный пароль.\",\n    \"The provided two factor authentication code was invalid.\": \"Неверный код двухфакторной аутентификации.\",\n    \"The provided two factor recovery code was invalid.\": \"Предоставленный двухфакторный код восстановления недействителен.\",\n    \"The response is not a streamed response.\": \"Ответ не является потоковым.\",\n    \"The response is not a view.\": \"Ответ не является представлением.\",\n    \"The team's name and owner information.\": \"Название команды и информация о её владельце.\",\n    \"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\": \"Эти люди были приглашены в Вашу команду и получили электронное письмо с приглашением. Они могут присоединиться к команде, приняв приглашение.\",\n    \"This action is unauthorized.\": \"Действие не авторизовано.\",\n    \"This device\": \"Это устройство\",\n    \"This is a secure area of the application. Please confirm your password before continuing.\": \"Это защищённая область приложения. Пожалуйста, подтвердите Ваш пароль, прежде чем продолжить.\",\n    \"This password does not match our records.\": \"Пароль не соответствует.\",\n    \"This password reset link will expire in :count minutes.\": \"Срок действия ссылки для сброса пароля истекает через :count минут.\",\n    \"This user already belongs to the team.\": \"Пользователь уже входит в команду.\",\n    \"This user has already been invited to the team.\": \"Этот пользователь уже был приглашён в команду.\",\n    \"to\": \"по\",\n    \"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\": \"Для завершения активации двухфакторной аутентификации, отсканируйте следующий QR-код с помощью приложения аутентификации на телефоне или введите ключ настройки вручную и предоставьте сгенерированный OTP-код.\",\n    \"Toggle navigation\": \"Переключить навигацию\",\n    \"Token Name\": \"Имя токена\",\n    \"Too Early\": \"Слишком рано\",\n    \"Too Many Requests\": \"Слишком много запросов\",\n    \"Translate\": \"Перевод\",\n    \"Translate It\": \"Перевести\",\n    \"Two Factor Authentication\": \"Двухфакторная аутентификация\",\n    \"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\": \"Двухфакторная аутентификация успешно активирована. Отсканируйте следующий QR-код при помощи приложения аутентификации на Вашем телефоне для проверки подлинности или введите ключ настройки.\",\n    \"Unauthorized\": \"Не авторизован\",\n    \"Unavailable For Legal Reasons\": \"Недоступно по юридическим причинам\",\n    \"Unknown\": \"Неизвестно\",\n    \"Unknown Error\": \"Неизвестная ошибка\",\n    \"Unpack\": \"Распаковать\",\n    \"Unprocessable Entity\": \"Необрабатываемый экземпляр\",\n    \"Unsubscribe\": \"Отписаться\",\n    \"Unsupported Media Type\": \"Неподдерживаемый тип данных\",\n    \"Up\": \"Вверх\",\n    \"Update\": \"Обновить\",\n    \"Update :name\": \"Обновить :name\",\n    \"Update Password\": \"Обновить пароль\",\n    \"Update your account's profile information and email address.\": \"Обновите информацию и адрес электронной почты в профиле учётной записи.\",\n    \"Upgrade Required\": \"Требуется обновление\",\n    \"URI Too Long\": \"URI слишком длинный\",\n    \"Use a recovery code\": \"Использовать код восстановления\",\n    \"Use an authentication code\": \"Использовать код аутентификации\",\n    \"Use Proxy\": \"Используй прокси\",\n    \"User\": \"Пользователь\",\n    \"Variant Also Negotiates\": \"Вариант тоже проводит согласование\",\n    \"Verify Email Address\": \"Подтвердить адрес электронной почты\",\n    \"View\": \"Просмотр\",\n    \"View :name\": \"Посмотреть :name\",\n    \"We were unable to find a registered user with this email address.\": \"Нам не удалось найти зарегистрированного пользователя с этим адресом электронной почты.\",\n    \"Web Server is Down\": \"Веб-сервер не работает\",\n    \"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\": \"Если двухфакторная аутентификация включена, Вам будет предложено ввести случайный токен безопасности во время аутентификации. Вы можете получить этот токен в приложении Google Authenticator Вашего телефона.\",\n    \"Whoops!\": \"Упс!\",\n    \"Whoops! Something went wrong.\": \"Упс! Что-то пошло не так.\",\n    \"Yes\": \"Да\",\n    \"You are receiving this email because we received a password reset request for your account.\": \"Вы получили это письмо, потому что мы получили запрос на сброс пароля для Вашей учётной записи.\",\n    \"You have been invited to join the :team team!\": \"Вас пригласили присоединиться к команде :team.\",\n    \"You have enabled two factor authentication.\": \"Вы включили двухфакторную аутентификацию.\",\n    \"You have not enabled two factor authentication.\": \"Вы не включили двухфакторную аутентификацию.\",\n    \"You may accept this invitation by clicking the button below:\": \"Вы можете принять это приглашение, нажав кнопку ниже:\",\n    \"You may delete any of your existing tokens if they are no longer needed.\": \"Вы можете удалить любой из имеющихся у Вас токенов, если они больше не нужны.\",\n    \"You may not delete your personal team.\": \"Вы не можете удалить свою команду.\",\n    \"You may not leave a team that you created.\": \"Вы не можете покидать созданную Вами команду.\",\n    \"Your email address is unverified.\": \"Ваш адрес электронной почты не подтверждён.\"\n}"
  },
  {
    "path": "resources/lang/tr/actions.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accept'          => 'Kabul etmek',\n    'action'          => 'Aksiyon',\n    'actions'         => 'Hareketler',\n    'add'             => 'Eklemek',\n    'admin'           => 'Yönetici',\n    'agree'           => 'Kabul etmek',\n    'archive'         => 'Arşiv',\n    'assign'          => 'Atamak',\n    'associate'       => 'İş arkadaşı',\n    'attach'          => 'Eklemek',\n    'browse'          => 'Araştır',\n    'cancel'          => 'İptal etmek',\n    'choose'          => 'Seçmek',\n    'choose_file'     => 'Dosya seçin',\n    'choose_image'    => 'Resim Seç',\n    'click_to_copy'   => 'Kopyalamak için tıklayın',\n    'close'           => 'Kapalı',\n    'collapse'        => 'Yıkılmak',\n    'collapse_all'    => 'Hepsini Daralt',\n    'comment'         => 'Yorum',\n    'confirm'         => 'Onaylamak',\n    'connect'         => 'Bağlamak',\n    'create'          => 'Yaratmak',\n    'delete'          => 'Silmek',\n    'detach'          => 'Ayır',\n    'details'         => 'Detaylar',\n    'disable'         => 'Devre dışı bırakmak',\n    'discard'         => 'At',\n    'done'            => 'Tamamlamak',\n    'down'            => 'Aşağı',\n    'duplicate'       => 'Kopyalamak',\n    'edit'            => 'Düzenlemek',\n    'enable'          => 'Olanak vermek',\n    'expand'          => 'Genişletmek',\n    'expand_all'      => 'Hepsini genişlet',\n    'explanation'     => 'Açıklama',\n    'export'          => 'İhracat',\n    'file'            => 'Dosya',\n    'files'           => 'Dosyalar',\n    'go_home'         => 'Eve git',\n    'hide'            => 'Saklamak',\n    'home'            => 'Ev',\n    'image'           => 'Resim',\n    'impersonate'     => 'Başkasının kimliğine bürün',\n    'impersonation'   => 'Kimliğe bürünme',\n    'import'          => 'İçe aktarmak',\n    'introduction'    => 'giriiş',\n    'like'            => 'Beğenmek',\n    'load'            => 'Yük',\n    'localize'        => 'Yerelleştir',\n    'log_in'          => 'Giriş yapmak',\n    'log_out'         => 'Çıkış Yap',\n    'named'           => [\n        'add'       => ':name ekle',\n        'choose'    => ':name\\'u seçin',\n        'create'    => ':name oluştur',\n        'delete'    => ':name\\'u sil',\n        'duplicate' => 'Çoğalt: ad',\n        'edit'      => ':name\\'u düzenle',\n        'export'    => 'Export :name',\n        'hide'      => ':name\\'u gizle',\n        'import'    => 'İthalat :name',\n        'new'       => 'Yeni :name',\n        'restore'   => ':name\\'u geri yükle',\n        'save'      => ':name\\'u kaydet',\n        'search'    => 'Ara :name',\n        'show'      => ':name\\'u göster',\n        'update'    => 'Güncelleme :name',\n        'view'      => ':name\\'u görüntüle',\n    ],\n    'new'             => 'Yeni',\n    'no'              => 'HAYIR',\n    'open'            => 'Açık',\n    'open_website'    => 'Web sitesinde aç',\n    'preview'         => 'Ön izleme',\n    'price'           => 'Fiyat',\n    'record'          => 'Kayıt',\n    'restore'         => 'Eski haline getirmek',\n    'save'            => 'Kaydetmek',\n    'save_and_close'  => 'Kaydet kapat',\n    'save_and_return' => 'Kaydet ve Geri Dön',\n    'search'          => 'Aramak',\n    'select'          => 'Seçme',\n    'select_all'      => 'Hepsini seç',\n    'send'            => 'Göndermek',\n    'settings'        => 'Ayarlar',\n    'show'            => 'Göstermek',\n    'show_all'        => 'Hepsini Göster ↓',\n    'sign_in'         => 'Kayıt olmak',\n    'solve'           => 'Çözmek',\n    'start'           => 'Başlangıç',\n    'stop'            => 'Durmak',\n    'submit'          => 'Göndermek',\n    'subscribe'       => 'Abone',\n    'switch'          => 'Anahtar',\n    'switch_to_role'  => 'Role Geç',\n    'tag'             => 'Etiket',\n    'tags'            => 'Etiketler',\n    'target_link'     => [\n        'blank'  => 'Yeni bir pencerede aç',\n        'parent' => 'Bir üst çerçevede aç',\n        'self'   => 'Geçerli pencerede aç',\n        'top'    => 'En üst çerçevede aç',\n    ],\n    'translate'       => 'Çevirmek',\n    'translate_it'    => 'Çevir',\n    'unpack'          => 'Paketi aç',\n    'unsubscribe'     => 'Abonelikten çık',\n    'up'              => 'Yukarı',\n    'update'          => 'Güncelleme',\n    'user'            => 'Kullanıcı',\n    'view'            => 'Görüş',\n    'yes'             => 'Evet',\n];\n"
  },
  {
    "path": "resources/lang/tr/auth.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'failed'   => 'Bu kimlik bilgileri kayıtlarımızla eşleşmiyor.',\n    'password' => 'Parola geçersiz.',\n    'throttle' => 'Çok fazla giriş denemesi. :seconds saniye sonra lütfen tekrar deneyin.',\n];\n"
  },
  {
    "path": "resources/lang/tr/http-statuses.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    '0'            => 'Bilinmeyen Hata',\n    '100'          => 'Devam Et',\n    '101'          => 'Protokoller Değiştiriliyor',\n    '102'          => 'İşleniyor',\n    '200'          => 'Tamam',\n    '201'          => 'Oluşturuldu',\n    '202'          => 'Kabul Edilmiş',\n    '203'          => 'Yetkili Olmayan Bilgiler',\n    '204'          => 'İçerik Yok',\n    '205'          => 'İçeriği Sıfırla',\n    '206'          => 'Kısmi İçerik',\n    '207'          => 'Çoklu Durum',\n    '208'          => 'Zaten Bildirildi',\n    '226'          => 'IM Kullanıldı',\n    '300'          => 'Çoklu Seçimler',\n    '301'          => 'Kalıcı Olarak Taşındı',\n    '302'          => 'Bulundu',\n    '303'          => 'Diğerlerini Gör',\n    '304'          => 'Değiştirilmedi',\n    '305'          => 'Proxy Kullan',\n    '307'          => 'Geçici Yönlendirme',\n    '308'          => 'Kalıcı Yönlendirme',\n    '400'          => 'Geçersiz istek',\n    '401'          => 'Yetkisiz',\n    '402'          => 'Ödeme gerekli',\n    '403'          => 'Yasaklı',\n    '404'          => 'Sayfa bulunamadı',\n    '405'          => 'İzin Verilmeyen Yöntem',\n    '406'          => 'Kabul Edilemez',\n    '407'          => 'Proxy Kimlik Doğrulaması Gerekli',\n    '408'          => 'İstek zaman aşımına uğradı',\n    '409'          => 'Çakışma',\n    '410'          => 'Gitmiş',\n    '411'          => 'Uzunluk Gerekli',\n    '412'          => 'Ön Koşul Başarısız',\n    '413'          => 'Veri Çok Büyük',\n    '414'          => 'URI Çok Uzun',\n    '415'          => 'Desteklenmeyen Medya Türü',\n    '416'          => 'Aralık Yetersiz',\n    '417'          => 'Beklenti Başarısız',\n    '418'          => 'Ben bir demliğim',\n    '419'          => 'Oturum süresi doldu',\n    '421'          => 'Yanlış Yönlendirilmiş İstek',\n    '422'          => 'İşlenemeyen Varlık',\n    '423'          => 'Kilitli',\n    '424'          => 'Başarısız Bağımlılık',\n    '425'          => 'Çok erken',\n    '426'          => 'Yükseltme Gerekli',\n    '428'          => 'Ön Koşul Gerekli',\n    '429'          => 'Çok Fazla İstek',\n    '431'          => 'İstek Başlık Alanları Çok Büyük',\n    '444'          => 'Bağlantı Yanıtsız Kapatıldı',\n    '449'          => 'İle Yeniden Dene',\n    '451'          => 'Yasal Sebepler Nedeniyle Kullanılamıyor',\n    '499'          => 'İstemci Kapandı İsteği',\n    '500'          => 'İç Sunucu Hatası',\n    '501'          => 'Uygulanmadı',\n    '502'          => 'Geçersiz Ağ Geçidi',\n    '503'          => 'Bakım Modu',\n    '504'          => 'Ağ Geçidi Zaman Aşımı',\n    '505'          => 'HTTP Sürümü Desteklenmiyor',\n    '506'          => 'Varyant Ayrıca Müzakere Ediyor',\n    '507'          => 'Yetersiz depolama',\n    '508'          => 'Döngü Tespit Edildi',\n    '509'          => 'Bant Genişliği Sınırı Aşıldı',\n    '510'          => 'Genişletilmemiş',\n    '511'          => 'Ağ Kimlik Doğrulaması Gerekli',\n    '520'          => 'Bilinmeyen Hata',\n    '521'          => 'Web Sunucusu Çalışmıyor',\n    '522'          => 'Bağlantı Zaman Aşımına Uğradı',\n    '523'          => 'Kökeni Ulaşılamaz',\n    '524'          => 'Bir Zaman Aşımı Oluştu',\n    '525'          => 'SSL El Sıkışma Başarısız',\n    '526'          => 'Geçersiz SSL Sertifikası',\n    '527'          => 'Railgun Hatası',\n    '598'          => 'Ağ Okuma Zaman Aşımı Hatası',\n    '599'          => 'Ağ Bağlantısı Zaman Aşımı Hatası',\n    'unknownError' => 'Bilinmeyen Hata',\n];\n"
  },
  {
    "path": "resources/lang/tr/pagination.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'next'     => 'Sonrakiler &raquo;',\n    'previous' => '&laquo; Öncekiler',\n];\n"
  },
  {
    "path": "resources/lang/tr/passwords.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'reset'     => 'Parolanız sıfırlandı!',\n    'sent'      => 'Parola sıfırlama bağlantınız e-posta ile gönderildi!',\n    'throttled' => 'Tekrar denemeden önce lütfen bekleyin.',\n    'token'     => 'Parola sıfırlama kodu geçersiz.',\n    'user'      => 'Bu e-posta adresi ile kayıtlı bir üye bulunamadı.',\n];\n"
  },
  {
    "path": "resources/lang/tr/validation.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accepted'             => ':Attribute kabul edilmelidir.',\n    'accepted_if'          => ':Attribute, :other değeri :value ise kabul edilmelidir.',\n    'active_url'           => ':Attribute geçerli bir URL olmalıdır.',\n    'after'                => ':Attribute mutlaka :date tarihinden sonra olmalıdır.',\n    'after_or_equal'       => ':Attribute mutlaka :date tarihinden sonra veya aynı tarihte olmalıdır.',\n    'alpha'                => ':Attribute sadece harflerden oluşmalıdır.',\n    'alpha_dash'           => ':Attribute sadece harflerden, rakamlardan ve tirelerden oluşmalıdır.',\n    'alpha_num'            => ':Attribute sadece harflerden ve rakamlardan oluşmalıdır.',\n    'array'                => ':Attribute mutlaka bir dizi olmalıdır.',\n    'ascii'                => ':Attribute yalnızca tek baytlık alfasayısal karakterler ve semboller içermelidir.',\n    'attached'             => 'Bu :attribute zaten tanımlı.',\n    'before'               => ':Attribute mutlaka :date tarihinden önce olmalıdır.',\n    'before_or_equal'      => ':Attribute mutlaka :date tarihinden önce veya aynı tarihte olmalıdır.',\n    'between'              => [\n        'array'   => ':Attribute mutlaka :min - :max arasında öge içermelidir.',\n        'file'    => ':Attribute mutlaka :min - :max kilobayt arasında olmalıdır.',\n        'numeric' => ':Attribute mutlaka :min - :max arasında olmalıdır.',\n        'string'  => ':Attribute mutlaka :min - :max karakter arasında olmalıdır.',\n    ],\n    'boolean'              => ':Attribute sadece doğru veya yanlış olmalıdır.',\n    'can'                  => ':Attribute alanı yetkisiz bir değer içeriyor.',\n    'confirmed'            => ':Attribute tekrarı eşleşmiyor.',\n    'contains'             => ':attribute alanında gerekli bir değer eksik.',\n    'current_password'     => 'Parola hatalı.',\n    'date'                 => ':Attribute geçerli bir tarih değil.',\n    'date_equals'          => ':Attribute mutlaka :date ile aynı tarihte olmalıdır.',\n    'date_format'          => ':Attribute mutlaka :format biçiminde olmalıdır.',\n    'decimal'              => ':Attribute, :decimal ondalık basamaklara sahip olmalıdır.',\n    'declined'             => ':Attribute kabul edilmemektedir.',\n    'declined_if'          => ':Attribute, :other değeri :value iken kabul edilmemektedir.',\n    'different'            => ':Attribute ile :other mutlaka birbirinden farklı olmalıdır.',\n    'digits'               => ':Attribute mutlaka :digits basamaklı olmalıdır.',\n    'digits_between'       => ':Attribute mutlaka en az :min, en fazla :max basamaklı olmalıdır.',\n    'dimensions'           => ':Attribute geçersiz resim boyutlarına sahip.',\n    'distinct'             => ':Attribute alanı yinelenen bir değere sahip.',\n    'doesnt_end_with'      => ':Attribute aşağıdakilerden biriyle bitemez: :values.',\n    'doesnt_start_with'    => ':Attribute aşağıdakilerden biriyle başlamayabilir: :values.',\n    'email'                => ':Attribute mutlaka geçerli bir e-posta adresi olmalıdır.',\n    'ends_with'            => ':Attribute sadece şu değerlerden biriyle bitebilir: :values.',\n    'enum'                 => 'Seçilen :attribute değeri geçersiz.',\n    'exists'               => 'Seçili :attribute geçersiz.',\n    'extensions'           => ':attribute alanı aşağıdaki uzantılardan birine sahip olmalıdır: :values.',\n    'file'                 => ':Attribute mutlaka bir dosya olmalıdır.',\n    'filled'               => ':Attribute mutlaka doldurulmalıdır.',\n    'gt'                   => [\n        'array'   => ':Attribute mutlaka :value sayısından daha fazla öge içermelidir.',\n        'file'    => ':Attribute mutlaka :value kilobayt\\'tan büyük olmalıdır.',\n        'numeric' => ':Attribute mutlaka :value sayısından büyük olmalıdır.',\n        'string'  => ':Attribute mutlaka :value karakterden uzun olmalıdır.',\n    ],\n    'gte'                  => [\n        'array'   => ':Attribute mutlaka :value veya daha fazla öge içermelidir.',\n        'file'    => ':Attribute mutlaka :value kilobayt\\'tan büyük veya eşit olmalıdır.',\n        'numeric' => ':Attribute mutlaka :value sayısından büyük veya eşit olmalıdır.',\n        'string'  => ':Attribute mutlaka :value karakterden uzun veya eşit olmalıdır.',\n    ],\n    'hex_color'            => ':attribute alanı geçerli bir onaltılık renk olmalıdır.',\n    'image'                => ':Attribute mutlaka bir resim olmalıdır.',\n    'in'                   => 'Seçili :attribute geçersiz.',\n    'in_array'             => ':Attribute :other içinde mevcut değil.',\n    'integer'              => ':Attribute mutlaka bir tam sayı olmalıdır.',\n    'ip'                   => ':Attribute mutlaka geçerli bir IP adresi olmalıdır.',\n    'ipv4'                 => ':Attribute mutlaka geçerli bir IPv4 adresi olmalıdır.',\n    'ipv6'                 => ':Attribute mutlaka geçerli bir IPv6 adresi olmalıdır.',\n    'json'                 => ':Attribute mutlaka geçerli bir JSON içeriği olmalıdır.',\n    'list'                 => ':attribute alanı bir liste olmalıdır.',\n    'lowercase'            => ':Attribute küçük harf olmalıdır.',\n    'lt'                   => [\n        'array'   => ':Attribute mutlaka :value sayısından daha az öge içermelidir.',\n        'file'    => ':Attribute mutlaka :value kilobayt\\'tan küçük olmalıdır.',\n        'numeric' => ':Attribute mutlaka :value sayısından küçük olmalıdır.',\n        'string'  => ':Attribute mutlaka :value karakterden kısa olmalıdır.',\n    ],\n    'lte'                  => [\n        'array'   => ':Attribute mutlaka :value veya daha az öge içermelidir.',\n        'file'    => ':Attribute mutlaka :value kilobayt\\'tan küçük veya eşit olmalıdır.',\n        'numeric' => ':Attribute mutlaka :value sayısından küçük veya eşit olmalıdır.',\n        'string'  => ':Attribute mutlaka :value karakterden kısa veya eşit olmalıdır.',\n    ],\n    'mac_address'          => ':Attribute geçerli bir MAC adresi olmalıdır.',\n    'max'                  => [\n        'array'   => ':Attribute en fazla :max öge içerebilir.',\n        'file'    => ':Attribute en fazla :max kilobayt olabilir.',\n        'numeric' => ':Attribute en fazla :max olabilir.',\n        'string'  => ':Attribute en fazla :max karakter olabilir.',\n    ],\n    'max_digits'           => ':Attribute en fazla :max basamak içermelidir.',\n    'mimes'                => ':Attribute mutlaka :values biçiminde bir dosya olmalıdır.',\n    'mimetypes'            => ':Attribute mutlaka :values biçiminde bir dosya olmalıdır.',\n    'min'                  => [\n        'array'   => ':Attribute en az :min öge içerebilir.',\n        'file'    => ':Attribute en az :min kilobayt olabilir.',\n        'numeric' => ':Attribute en az :min olabilir.',\n        'string'  => ':Attribute en az :min karakter olabilir.',\n    ],\n    'min_digits'           => ':Attribute en az :min basamak içermelidir.',\n    'missing'              => ':Attribute alanı eksik olmalıdır.',\n    'missing_if'           => ':Other, :value olduğunda :attribute alanı eksik olmalıdır.',\n    'missing_unless'       => ':Other, :value değilse :attribute alanı eksik olmalıdır.',\n    'missing_with'         => ':Values mevcut olduğunda :attribute alanı eksik olmalıdır.',\n    'missing_with_all'     => ':Values mevcut olduğunda :attribute alanı eksik olmalıdır.',\n    'multiple_of'          => ':Attribute, :value\\'nin katları olmalıdır',\n    'not_in'               => 'Seçili :attribute geçersiz.',\n    'not_regex'            => ':Attribute biçimi geçersiz.',\n    'numeric'              => ':Attribute mutlaka bir sayı olmalıdır.',\n    'password'             => [\n        'letters'       => ':Attribute en az bir harf içermelidir.',\n        'mixed'         => ':Attribute en az bir büyük harf ve bir küçük harf içermelidir.',\n        'numbers'       => ':Attribute en az bir sayı içermelidir.',\n        'symbols'       => ':Attribute en az bir sembol içermelidir.',\n        'uncompromised' => 'Verilen :attribute bir veri sızıntısında ortaya çıktı. Lütfen farklı bir :attribute seçin.',\n    ],\n    'present'              => ':Attribute mutlaka mevcut olmalıdır.',\n    'present_if'           => ':other, :value olduğunda :attribute alanı mevcut olmalıdır.',\n    'present_unless'       => ':other, :value olmadığı sürece :attribute alanı mevcut olmalıdır.',\n    'present_with'         => ':values mevcut olduğunda :attribute alanı mevcut olmalıdır.',\n    'present_with_all'     => ':values mevcut olduğunda :attribute alanı mevcut olmalıdır.',\n    'prohibited'           => ':Attribute alanı kısıtlanmıştır.',\n    'prohibited_if'        => ':Other alanının değeri :value ise :attribute alanına veri girişi yapılamaz.',\n    'prohibited_unless'    => ':Other alanı :value değerlerinden birisi değilse :attribute alanına veri girişi yapılamaz.',\n    'prohibits'            => ':Attribute alanı :other alanının mevcut olmasını yasaklar.',\n    'regex'                => ':Attribute biçimi geçersiz.',\n    'relatable'            => 'Bu :attribute bu kaynakla ilişkili olmayabilir.',\n    'required'             => ':Attribute mutlaka gereklidir.',\n    'required_array_keys'  => ':Attribute değeri şu verileri içermelidir: :values.',\n    'required_if'          => ':Attribute :other :value değerine sahip olduğunda mutlaka gereklidir.',\n    'required_if_accepted' => ':Attribute alanı, :other kabul edildiğinde gereklidir.',\n    'required_if_declined' => ':other seçeneği reddedildiğinde :attribute alanı gereklidir.',\n    'required_unless'      => ':Attribute :other :values değerlerinden birine sahip olmadığında mutlaka gereklidir.',\n    'required_with'        => ':Attribute :values varken mutlaka gereklidir.',\n    'required_with_all'    => ':Attribute herhangi bir :values değeri varken mutlaka gereklidir.',\n    'required_without'     => ':Attribute :values yokken mutlaka gereklidir.',\n    'required_without_all' => ':Attribute :values değerlerinden herhangi biri yokken mutlaka gereklidir.',\n    'same'                 => ':Attribute ile :other aynı olmalıdır.',\n    'size'                 => [\n        'array'   => ':Attribute mutlaka :size ögeye sahip olmalıdır.',\n        'file'    => ':Attribute mutlaka :size kilobayt olmalıdır.',\n        'numeric' => ':Attribute mutlaka :size olmalıdır.',\n        'string'  => ':Attribute mutlaka :size karakterli olmalıdır.',\n    ],\n    'starts_with'          => ':Attribute sadece şu değerlerden biriyle başlayabilir: :values.',\n    'string'               => ':Attribute mutlaka bir metin olmalıdır.',\n    'timezone'             => ':Attribute mutlaka geçerli bir saat dilimi olmalıdır.',\n    'ulid'                 => ':Attribute geçerli bir ULID olmalıdır.',\n    'unique'               => ':Attribute zaten alınmış.',\n    'uploaded'             => ':Attribute yüklemesi başarısız.',\n    'uppercase'            => ':Attribute büyük harf olmalıdır.',\n    'url'                  => ':Attribute biçimi geçersiz.',\n    'uuid'                 => ':Attribute mutlaka geçerli bir UUID olmalıdır.',\n    'attributes'           => [\n        'address'                  => 'adres',\n        'affiliate_url'            => 'bağlı kuruluş URL\\'si',\n        'age'                      => 'yaş',\n        'amount'                   => 'tutar',\n        'announcement'             => 'duyuru',\n        'area'                     => 'alan',\n        'audience_prize'           => 'seyirci ödülü',\n        'available'                => 'mevcut',\n        'birthday'                 => 'doğum günü',\n        'body'                     => 'gövde',\n        'city'                     => 'şehir',\n        'compilation'              => 'derleme',\n        'concept'                  => 'kavram',\n        'conditions'               => 'koşullar',\n        'content'                  => 'i̇çerik',\n        'country'                  => 'ülke',\n        'cover'                    => 'kapak',\n        'created_at'               => 'oluşturulduğunda',\n        'creator'                  => 'yaratıcı',\n        'currency'                 => 'para birimi',\n        'current_password'         => 'mevcut şifre',\n        'customer'                 => 'müşteri',\n        'date'                     => 'tarih',\n        'date_of_birth'            => 'doğum tarihi',\n        'dates'                    => 'tarih',\n        'day'                      => 'gün',\n        'deleted_at'               => 'silindi',\n        'description'              => 'açıklama',\n        'display_type'             => 'ekran tipi',\n        'district'                 => 'semt',\n        'duration'                 => 'süre',\n        'email'                    => 'e-posta adresi',\n        'excerpt'                  => 'alıntı',\n        'filter'                   => 'filtre',\n        'finished_at'              => 'bitti',\n        'first_name'               => 'adı',\n        'gender'                   => 'cinsiyet',\n        'grand_prize'              => 'Büyük ödül',\n        'group'                    => 'grup',\n        'hour'                     => 'saat',\n        'image'                    => 'resim',\n        'image_desktop'            => 'masaüstü resmi',\n        'image_main'               => 'Ana resim',\n        'image_mobile'             => 'mobil resim',\n        'images'                   => 'Görüntüler',\n        'is_audience_winner'       => 'seyirci kazananı mı',\n        'is_hidden'                => 'gizli',\n        'is_subscribed'            => 'abone olundu',\n        'is_visible'               => 'görünür',\n        'is_winner'                => 'kazanan',\n        'items'                    => 'öğeler',\n        'key'                      => 'anahtar',\n        'last_name'                => 'soyadı',\n        'lesson'                   => 'ders',\n        'line_address_1'           => 'hat adresi 1',\n        'line_address_2'           => 'hat adresi 2',\n        'login'                    => 'giriş yapmak',\n        'message'                  => 'ileti',\n        'middle_name'              => 'ikinci ad',\n        'minute'                   => 'dakika',\n        'mobile'                   => 'cep telefonu',\n        'month'                    => 'ay',\n        'name'                     => 'adı',\n        'national_code'            => 'ulusal kod',\n        'number'                   => 'sayı',\n        'password'                 => 'parola',\n        'password_confirmation'    => 'parola (tekrar)',\n        'phone'                    => 'telefon',\n        'photo'                    => 'fotoğraf',\n        'portfolio'                => 'portföy',\n        'postal_code'              => 'posta kodu',\n        'preview'                  => 'Ön izleme',\n        'price'                    => 'fiyat',\n        'product_id'               => 'ürün kimliği',\n        'product_uid'              => 'ürün UID\\'si',\n        'product_uuid'             => 'ürün UUID\\'si',\n        'promo_code'               => 'promosyon kodu',\n        'province'                 => 'bölge',\n        'quantity'                 => 'miktar',\n        'reason'                   => 'sebep',\n        'recaptcha_response_field' => 'recaptcha yanıt alanı',\n        'referee'                  => 'hakem',\n        'referees'                 => 'hakemler',\n        'reject_reason'            => 'nedeni reddetmek',\n        'remember'                 => 'hatırlamak',\n        'restored_at'              => 'restore',\n        'result_text_under_image'  => 'resmin altındaki sonuç metni',\n        'role'                     => 'rol',\n        'rule'                     => 'kural',\n        'rules'                    => 'tüzük',\n        'second'                   => 'saniye',\n        'sex'                      => 'cinsiyet',\n        'shipment'                 => 'gönderi',\n        'short_text'               => 'kısa metin',\n        'size'                     => 'boyut',\n        'skills'                   => 'yetenekler',\n        'slug'                     => 'sümüklüböcek',\n        'specialization'           => 'uzmanlık',\n        'started_at'               => 'Başlangıç',\n        'state'                    => 'durum',\n        'status'                   => 'durum',\n        'street'                   => 'sokak',\n        'student'                  => 'öğrenci',\n        'subject'                  => 'ders',\n        'tag'                      => 'etiket',\n        'tags'                     => 'Etiketler',\n        'teacher'                  => 'öğretmen',\n        'terms'                    => 'şartlar',\n        'test_description'         => 'test açıklaması',\n        'test_locale'              => 'yerel ayar',\n        'test_name'                => 'deneme adı',\n        'text'                     => 'metin',\n        'time'                     => 'zaman',\n        'title'                    => 'unvan',\n        'type'                     => 'tip',\n        'updated_at'               => 'güncellendi',\n        'user'                     => 'kullanıcı',\n        'username'                 => 'kullanıcı adı',\n        'value'                    => 'değer',\n        'year'                     => 'yıl',\n    ],\n    'custom'               => [\n        'niteleyici-adi' => [\n            'kural-adi' => 'Özel doğrulama mesajı',\n        ],\n    ],\n];\n"
  },
  {
    "path": "resources/lang/tr.json",
    "content": "{\n    \"(and :count more error)\": \"(ve :count hata daha var)\",\n    \"(and :count more errors)\": \"(ve :count hata daha var)|(ve :count hata daha var)|(ve :count hata daha var)\",\n    \"A new verification link has been sent to the email address you provided in your profile settings.\": \"Profil ayarlarınızda belirttiğiniz e-posta adresine yeni bir doğrulama bağlantısı gönderildi.\",\n    \"A new verification link has been sent to your email address.\": \"E-posta adresinize yeni bir doğrulama bağlantısı gönderildi.\",\n    \"A Timeout Occurred\": \"Bir Zaman Aşımı Oluştu\",\n    \"Accept\": \"Kabul etmek\",\n    \"Accept Invitation\": \"Daveti Kabul Et\",\n    \"Accepted\": \"Kabul Edilmiş\",\n    \"Action\": \"İşlem\",\n    \"Actions\": \"İşlemler\",\n    \"Add\": \"Ekle\",\n    \"Add :name\": \":name ekle\",\n    \"Add a new team member to your team, allowing them to collaborate with you.\": \"Ekibinize yeni bir ekip üyesi ekleyerek, sizinle işbirliği yapmalarına izin verin.\",\n    \"Add additional security to your account using two factor authentication.\": \"İki faktörlü kimlik doğrulama kullanarak hesabınıza ek güvenlik ekleyin.\",\n    \"Add Team Member\": \"Ekip Üyesi Ekle\",\n    \"Added.\": \"Eklendi.\",\n    \"Admin\": \"Yönetici\",\n    \"Administrator\": \"Yönetici\",\n    \"Administrator users can perform any action.\": \"Yöneticiler herhangi bir eylemi gerçekleştirebilir.\",\n    \"Agree\": \"Kabul etmek\",\n    \"All of the people that are part of this team.\": \"Bu ekibin parçası olan tüm kişiler.\",\n    \"All rights reserved.\": \"Tüm hakları saklıdır.\",\n    \"Already registered?\": \"Zaten Üye Misiniz?\",\n    \"Already Reported\": \"Zaten Bildirildi\",\n    \"API Token\": \"API Jeton\",\n    \"API Token Permissions\": \"API Jeton İzinleri\",\n    \"API Tokens\": \"API Jetonları\",\n    \"API tokens allow third-party services to authenticate with our application on your behalf.\": \"API jetonları, üçüncü taraf hizmetlerin sizin adınıza uygulamamızla kimlik doğrulaması yapmasına izin verir.\",\n    \"Archive\": \"Arşiv\",\n    \"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\": \"Bu ekibi silmek istediğinizden emin misiniz? Bir ekip silindiğinde, tüm kaynakları ve verileri kalıcı olarak silinecektir.\",\n    \"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\": \"Hesabınızı silmek istediğinizden emin misiniz? Hesabınız silindiğinde, tüm kaynakları ve verileri kalıcı olarak silinecektir. Lütfen hesabınızı kalıcı olarak silmek istediğinizi onaylamak için parolanızı girin.\",\n    \"Are you sure you would like to delete this API token?\": \"Bu API jetonunu silmek istediğinizden emin misiniz?\",\n    \"Are you sure you would like to leave this team?\": \"Bu kişiyi ekipten çıkarmak istediğinizden emin misiniz?\",\n    \"Are you sure you would like to remove this person from the team?\": \"Bu kişiyi ekipten çıkarmak istediğinizden emin misiniz?\",\n    \"Assign\": \"Atamak\",\n    \"Associate\": \"İş arkadaşı\",\n    \"Attach\": \"İliştir\",\n    \"Bad Gateway\": \"Geçersiz Ağ Geçidi\",\n    \"Bad Request\": \"Geçersiz istek\",\n    \"Bandwidth Limit Exceeded\": \"Bant Genişliği Sınırı Aşıldı\",\n    \"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\": \"Devam etmeden önce, size az önce e-postayla gönderdiğimiz bağlantıya tıklayarak e-posta adresinizi doğrulayabilir misiniz? E-postayı almadıysanız, size memnuniyetle başka bir e-posta göndeririz.\",\n    \"Browse\": \"Araştır\",\n    \"Browser Sessions\": \"Tarayıcı Oturumları\",\n    \"Cancel\": \"İptal et\",\n    \"Choose\": \"Seç\",\n    \"Choose :name\": \":name'u seçin\",\n    \"Choose File\": \"Dosya Seç\",\n    \"Choose Image\": \"Resim Seç\",\n    \"Click here to re-send the verification email.\": \"Doğrulama e-postasını yeniden göndermek için burayı tıklayın.\",\n    \"Click to copy\": \"Kopyalamak için tıklayın\",\n    \"Client Closed Request\": \"İstemci Kapandı İsteği\",\n    \"Close\": \"Kapat\",\n    \"Code\": \"Kod\",\n    \"Collapse\": \"Yıkılmak\",\n    \"Collapse All\": \"Hepsini Daralt\",\n    \"Comment\": \"Yorum\",\n    \"Confirm\": \"Onayla\",\n    \"Confirm Password\": \"Parolayı Onayla\",\n    \"Conflict\": \"Çakışma\",\n    \"Connect\": \"Bağlamak\",\n    \"Connection Closed Without Response\": \"Bağlantı Yanıtsız Kapatıldı\",\n    \"Connection Timed Out\": \"Bağlantı Zaman Aşımına Uğradı\",\n    \"Continue\": \"Devam Et\",\n    \"Create\": \"Oluştur\",\n    \"Create :name\": \":name oluştur\",\n    \"Create a new team to collaborate with others on projects.\": \"Başkalarıyla projelerde işbirliği yapmak için yeni bir ekip oluşturun.\",\n    \"Create Account\": \"Hesap Oluştur\",\n    \"Create API Token\": \"Api Jetonu Oluştur\",\n    \"Create New Team\": \"Yeni Ekip Oluştur\",\n    \"Create Team\": \"Ekip Oluştur\",\n    \"Created\": \"Oluşturuldu\",\n    \"Created.\": \"Oluşturuldu.\",\n    \"Current Password\": \"Mevcut Parola\",\n    \"Dashboard\": \"Gösterge Paneli\",\n    \"Delete\": \"Sil\",\n    \"Delete :name\": \":name'u sil\",\n    \"Delete Account\": \"Hesabı Sil\",\n    \"Delete API Token\": \"API Jetonunu Sil\",\n    \"Delete Team\": \"Ekibi Sil\",\n    \"Detach\": \"Ayırmak\",\n    \"Details\": \"Detaylar\",\n    \"Disable\": \"Devre Dışı Bırak\",\n    \"Discard\": \"At\",\n    \"Done\": \"Tamamlamak\",\n    \"Done.\": \"Bitti.\",\n    \"Down\": \"Aşağı\",\n    \"Duplicate\": \"Kopyalamak\",\n    \"Duplicate :name\": \"Çoğalt: ad\",\n    \"Edit\": \"Düzenle\",\n    \"Edit :name\": \":name'u düzenle\",\n    \"Edit Profile\": \"Profili Düzenle\",\n    \"Editor\": \"Editör\",\n    \"Editor users have the ability to read, create, and update.\": \"Editörler okuma, oluşturma ve güncelleme yapabilir.\",\n    \"Email\": \"E-Posta\",\n    \"Email Password Reset Link\": \"Parola Sıfırlama Bağlantısını Gönder\",\n    \"Enable\": \"Etkinleştir\",\n    \"Ensure your account is using a long, random password to stay secure.\": \"Hesabınızın güvenliğini korumak için uzun, rastgele karakterlerden oluşan bir parola kullandığınızdan emin olun.\",\n    \"errors\": \"hatalar\",\n    \"Expand\": \"Genişletmek\",\n    \"Expand All\": \"Hepsini genişlet\",\n    \"Expectation Failed\": \"Beklenti Başarısız\",\n    \"Explanation\": \"Açıklama\",\n    \"Export\": \"İhracat\",\n    \"Export :name\": \"Export :name\",\n    \"Failed Dependency\": \"Başarısız Bağımlılık\",\n    \"File\": \"Dosya\",\n    \"Files\": \"Dosyalar\",\n    \"Finish enabling two factor authentication.\": \"İki faktörlü kimlik doğrulamayı etkinleştirmeyi tamamlayın.\",\n    \"For your security, please confirm your password to continue.\": \"Güvenliğiniz için lütfen devam etmek için parolanızı onaylayın.\",\n    \"Forbidden\": \"Yasak\",\n    \"Forgot your password?\": \"Parolanızı mı unuttunuz?\",\n    \"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.\": \"Parolanızı mı unuttunuz? Sorun değil. Sadece e-posta adresinizi bize söyleyin size yeni parolanızı belirleyebileceğiniz bir parola sıfırlama linki gönderelim.\",\n    \"Found\": \"Bulundu\",\n    \"Gateway Timeout\": \"Ağ Geçidi Zaman Aşımı\",\n    \"Go Home\": \"Anasayfaya Git\",\n    \"Go to page :page\": \":Page sayfasına git\",\n    \"Gone\": \"Gitmiş\",\n    \"Great! You have accepted the invitation to join the :team team.\": \"Harika! :team ekibine katılma davetini kabul ettiniz.\",\n    \"Hello!\": \"Merhaba!\",\n    \"Hide\": \"Saklamak\",\n    \"Hide :name\": \":name'u gizle\",\n    \"Home\": \"Ev\",\n    \"HTTP Version Not Supported\": \"HTTP Sürümü Desteklenmiyor\",\n    \"I agree to the :terms_of_service and :privacy_policy\": \":Terms_of_service ve :privacy_policy'yi kabul ediyorum\",\n    \"I'm a teapot\": \"Ben bir demliğim\",\n    \"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\": \"Gerekirse, tüm cihazlarınızda diğer tüm tarayıcı oturumlarınızdan çıkış yapabilirsiniz. Son oturumlarınızdan bazıları aşağıda listelenmiştir; ancak, bu liste kapsamlı olmayabilir. Hesabınızın ele geçirildiğini düşünüyorsanız, parolanızı da güncellemelisiniz.\",\n    \"If you already have an account, you may accept this invitation by clicking the button below:\": \"Zaten bir hesabınız varsa, aşağıdaki butona tıklayarak bu daveti kabul edebilirsiniz:\",\n    \"If you did not create an account, no further action is required.\": \"Bir hesap oluşturmadıysanız, başka bir işlem yapmanıza gerek yoktur.\",\n    \"If you did not expect to receive an invitation to this team, you may discard this email.\": \"Bu ekibe davet almayı beklemiyorsanız, bu e-postayı yok sayabilirsiniz.\",\n    \"If you did not request a password reset, no further action is required.\": \"Bir parola sıfırlama talebinde bulunmadıysanız, başka bir işlem yapmanıza gerek yoktur.\",\n    \"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:\": \"Bir hesabınız yoksa, aşağıdaki butona tıklayarak bir tane oluşturabilirsiniz. Bir hesap oluşturduktan sonra, ekip davetini kabul etmek için bu e-postadaki daveti kabul et butonuna tıklayabilirsiniz:\",\n    \"If you're having trouble clicking the \\\":actionText\\\" button, copy and paste the URL below\\ninto your web browser:\": \"\\\":actionText\\\" butonuna tıklamakta sorun yaşıyorsanız, aşağıdaki bağlantıyı kopyalayıp\\ntarayıcınıza yapıştırın:\",\n    \"IM Used\": \"IM Kullanıldı\",\n    \"Image\": \"Resim\",\n    \"Impersonate\": \"Kimliğine bürün\",\n    \"Impersonation\": \"Kimliğe bürünme\",\n    \"Import\": \"İçe aktarmak\",\n    \"Import :name\": \"İthalat :name\",\n    \"Insufficient Storage\": \"Yetersiz depolama\",\n    \"Internal Server Error\": \"İç Sunucu Hatası\",\n    \"Introduction\": \"giriiş\",\n    \"Invalid JSON was returned from the route.\": \"Yoldan geçersiz JSON döndürüldü.\",\n    \"Invalid SSL Certificate\": \"Geçersiz SSL Sertifikası\",\n    \"Last active\": \"Son aktiflik\",\n    \"Last used\": \"Son kullanım\",\n    \"Leave\": \"Ayrıl\",\n    \"Leave Team\": \"Ekipten Ayrıl\",\n    \"length\": \"uzunluk\",\n    \"Length Required\": \"Uzunluk Gerekli\",\n    \"Like\": \"Beğenmek\",\n    \"Load\": \"Yük\",\n    \"Localize\": \"Yerelleştir\",\n    \"Location\": \"Konum\",\n    \"Locked\": \"Kilitli\",\n    \"Log In\": \"Giriş Yap\",\n    \"Log in\": \"Giriş yap\",\n    \"Log Out\": \"Çıkış Yap\",\n    \"Log Out Other Browser Sessions\": \"Diğer Tarayıcılardaki Oturumları Sonlandır\",\n    \"Login\": \"Giriş Yap\",\n    \"Logout\": \"Çıkış Yap\",\n    \"Loop Detected\": \"Döngü Tespit Edildi\",\n    \"Maintenance Mode\": \"Bakım Modu\",\n    \"Manage Account\": \"Hesabı Yönet\",\n    \"Manage and log out your active sessions on other browsers and devices.\": \"Diğer tarayıcılarda ve cihazlardaki aktif oturumlarınızı yönetin ve oturumları kapatın.\",\n    \"Manage API Tokens\": \"API Jetonlarını Yönetin\",\n    \"Manage Role\": \"Rolü Yönet\",\n    \"Manage Team\": \"Ekibi Yönet\",\n    \"Method Not Allowed\": \"İzin Verilmeyen Yöntem\",\n    \"Misdirected Request\": \"Yanlış Yönlendirilmiş İstek\",\n    \"Moved Permanently\": \"Kalıcı Olarak Taşındı\",\n    \"Multi-Status\": \"Çoklu Durum\",\n    \"Multiple Choices\": \"Çoklu Seçimler\",\n    \"Name\": \"Ad\",\n    \"Network Authentication Required\": \"Ağ Kimlik Doğrulaması Gerekli\",\n    \"Network Connect Timeout Error\": \"Ağ Bağlantısı Zaman Aşımı Hatası\",\n    \"Network Read Timeout Error\": \"Ağ Okuma Zaman Aşımı Hatası\",\n    \"New\": \"Yeni\",\n    \"New :name\": \"Yeni :name\",\n    \"New Password\": \"Yeni Parola\",\n    \"No\": \"Hayır\",\n    \"No Content\": \"İçerik Yok\",\n    \"Non-Authoritative Information\": \"Yetkili Olmayan Bilgiler\",\n    \"Not Acceptable\": \"Kabul Edilemez\",\n    \"Not Extended\": \"Genişletilmemiş\",\n    \"Not Found\": \"Bulunamadı\",\n    \"Not Implemented\": \"Uygulanmadı\",\n    \"Not Modified\": \"Değiştirilmedi\",\n    \"of\": \"-den\",\n    \"OK\": \"Tamam\",\n    \"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\": \"Bir ekip silindiğinde, tüm kaynakları ve verileri kalıcı olarak silinecektir. Bu ekibi silmeden önce, lütfen bu ekiple ilgili saklamak istediğiniz tüm verileri veya bilgileri indirin.\",\n    \"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\": \"Hesabınız silindiğinde, tüm kaynakları ve verileri kalıcı olarak silinecektir. Hesabınızı silmeden önce lütfen saklamak istediğiniz tüm verileri veya bilgileri indirin.\",\n    \"Open\": \"Açık\",\n    \"Open in a current window\": \"Geçerli pencerede aç\",\n    \"Open in a new window\": \"Yeni bir pencerede aç\",\n    \"Open in a parent frame\": \"Bir üst çerçevede aç\",\n    \"Open in the topmost frame\": \"En üst çerçevede aç\",\n    \"Open on the website\": \"Web sitesinde aç\",\n    \"Origin Is Unreachable\": \"Kökeni Ulaşılamaz\",\n    \"Page Expired\": \"Sayfa zaman aşımına uğradı\",\n    \"Pagination Navigation\": \"Sayfalandırma Çubuğu\",\n    \"Partial Content\": \"Kısmi İçerik\",\n    \"Password\": \"Parola\",\n    \"Payload Too Large\": \"Veri Çok Büyük\",\n    \"Payment Required\": \"ödeme gerekli\",\n    \"Pending Team Invitations\": \"Bekleyen Ekip Davetiyeleri\",\n    \"Permanent Redirect\": \"Kalıcı Yönlendirme\",\n    \"Permanently delete this team.\": \"Bu ekibi kalıcı olarak sil\",\n    \"Permanently delete your account.\": \"Hesabını kalıcı olarak sil\",\n    \"Permissions\": \"İzinler\",\n    \"Photo\": \"Resim\",\n    \"Please click the button below to verify your email address.\": \"E-posta adresinizi doğrulamak için lütfen aşağıdaki butona tıklayın.\",\n    \"Please confirm access to your account by entering one of your emergency recovery codes.\": \"Girişinizi onaylamak için lütfen hesap kurtarma kodlarınızdan birini girin.\",\n    \"Please confirm access to your account by entering the authentication code provided by your authenticator application.\": \"Lütfen kimlik doğrulayıcı uygulamanız tarafından sağlanan kimlik doğrulama kodunu girerek hesabınıza erişimi onaylayın.\",\n    \"Please copy your new API token. For your security, it won't be shown again.\": \"Lütfen yeni API jetonunuzu kopyalayın. Güvenliğiniz için bir daha gösterilmeyecek.\",\n    \"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\": \"Tüm cihazlarınızda diğer tarayıcı oturumlarınızdan çıkmak istediğinizi onaylamak için lütfen parolanızı girin.\",\n    \"Please provide the email address of the person you would like to add to this team.\": \"Lütfen bu ekibe eklemek istediğiniz kişinin e-posta adresini belirtin.\",\n    \"Precondition Failed\": \"Ön Koşul Başarısız\",\n    \"Precondition Required\": \"Ön Koşul Gerekli\",\n    \"Preview\": \"Önizle\",\n    \"Price\": \"Fiyat\",\n    \"Privacy Policy\": \"Gizlilik Politikası\",\n    \"Processing\": \"İşleniyor\",\n    \"Profile\": \"Profil\",\n    \"Profile Information\": \"Profil Bilgileri\",\n    \"Proxy Authentication Required\": \"Proxy Kimlik Doğrulaması Gerekli\",\n    \"Railgun Error\": \"Railgun Hatası\",\n    \"Range Not Satisfiable\": \"Aralık Yetersiz\",\n    \"Record\": \"Kayıt\",\n    \"Recovery Code\": \"Kurtarma Kodu\",\n    \"Regards\": \"En iyi dileklerle\",\n    \"Regenerate Recovery Codes\": \"Kurtarma Kodunu Tekrar Üret\",\n    \"Register\": \"Kayıt Ol\",\n    \"Remember me\": \"Beni hatırla\",\n    \"Remove\": \"Kaldır\",\n    \"Remove Photo\": \"Resmi Kaldır\",\n    \"Remove Team Member\": \"Ekip Üyesini Kaldır\",\n    \"Request Header Fields Too Large\": \"İstek Başlık Alanları Çok Büyük\",\n    \"Request Timeout\": \"İstek zaman aşımına uğradı\",\n    \"Resend Verification Email\": \"Onay Mailini Tekrar Gönder\",\n    \"Reset Content\": \"İçeriği Sıfırla\",\n    \"Reset Password\": \"Parolayı Sıfırla\",\n    \"Reset Password Notification\": \"Parola Sıfırlama Bildirimi\",\n    \"Restore\": \"Onar\",\n    \"Restore :name\": \":name'u geri yükle\",\n    \"results\": \"sonuçlar\",\n    \"Retry With\": \"İle Yeniden Dene\",\n    \"Role\": \"Rol\",\n    \"Save\": \"Kaydet\",\n    \"Save & Close\": \"Kaydet kapat\",\n    \"Save & Return\": \"Kaydet ve Geri Dön\",\n    \"Save :name\": \":name'u kaydet\",\n    \"Saved.\": \"Kaydedildi.\",\n    \"Search\": \"Ara\",\n    \"Search :name\": \"Ara :name\",\n    \"See Other\": \"Diğerlerini Gör\",\n    \"Select\": \"Seç\",\n    \"Select A New Photo\": \"Yeni Bir Fotoğraf Seçin\",\n    \"Select All\": \"Hepsini seç\",\n    \"Send\": \"Göndermek\",\n    \"Server Error\": \"Sunucu Hatası\",\n    \"Service Unavailable\": \"Hizmet Kullanılamıyor\",\n    \"Session Has Expired\": \"Oturum süresi doldu\",\n    \"Settings\": \"Ayarlar\",\n    \"Setup Key\": \"Kurulum Anahtarı\",\n    \"Show\": \"Göstermek\",\n    \"Show :name\": \":name'u göster\",\n    \"Show All\": \"Hepsini Göster ↓\",\n    \"Show Recovery Codes\": \"Kurtarma Kodlarını Göster\",\n    \"Showing\": \"Gösteri\",\n    \"Sign In\": \"Kayıt olmak\",\n    \"Solve\": \"Çözmek\",\n    \"SSL Handshake Failed\": \"SSL El Sıkışma Başarısız\",\n    \"Start\": \"Başlangıç\",\n    \"Stop\": \"Durmak\",\n    \"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\": \"Bu kurtarma kodlarını güvenli bir parola yöneticisinde saklayın. İki faktörlü kimlik doğrulama cihazınız kaybolursa hesabınıza erişimi kurtarmak için kullanılabilirler.\",\n    \"Submit\": \"Göndermek\",\n    \"Subscribe\": \"Abone Ol\",\n    \"Switch\": \"Anahtar\",\n    \"Switch Teams\": \"Ekip Değiştir\",\n    \"Switch To Role\": \"Role Geç\",\n    \"Switching Protocols\": \"Protokoller Değiştiriliyor\",\n    \"Tag\": \"Etiket\",\n    \"Tags\": \"Etiketler\",\n    \"Team Details\": \"Ekip Detayları\",\n    \"Team Invitation\": \"Ekip Davetiyesi\",\n    \"Team Members\": \"Ekip Üyeleri\",\n    \"Team Name\": \"Ekip İsmi\",\n    \"Team Owner\": \"Ekip Sahibi\",\n    \"Team Settings\": \"Ekip Ayarları\",\n    \"Temporary Redirect\": \"Geçici Yönlendirme\",\n    \"Terms of Service\": \"Hizmet Koşulları\",\n    \"The :attribute must be a valid role.\": \":Attribute geçerli bir rol olmalıdır.\",\n    \"The :attribute must be at least :length characters and contain at least one number.\": \":Attribute en az :length karakterli olmalı ve en az bir sayı içermelidir.\",\n    \"The :attribute must be at least :length characters and contain at least one special character and one number.\": \":Attribute en az :length karakterli olmalı ve en az bir özel karakter ve bir sayı içermelidir.\",\n    \"The :attribute must be at least :length characters and contain at least one special character.\": \":Attribute en az :length karakterli olmalı ve en az bir özel karakter içermelidir\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one number.\": \":Attribute en az :length karakterli olmalı ve en az birer büyük harf ve sayı içermelidir\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.\": \":Attribute en az :length karakterli olmalı ve en az birer büyük harf ve özel karakter içermelidir\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.\": \":Attribute en az :length karakterli olmalı ve en az birer büyük harf, sayı ve özel karakter içermelidir\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character.\": \":Attribute en az :length karakterli olmalı ve en az bir büyük harf içermelidir\",\n    \"The :attribute must be at least :length characters.\": \":Attribute en az :length karakterli olmalı.\",\n    \"The given data was invalid.\": \"Verilen veriler geçersizdi.\",\n    \"The password is incorrect.\": \"Parola hatalı.\",\n    \"The provided password does not match your current password.\": \"Belirtilen parola mevcut parolanızla eşleşmiyor.\",\n    \"The provided password was incorrect.\": \"Belirtilen parola yanlış.\",\n    \"The provided two factor authentication code was invalid.\": \"Belirtilen iki faktörlü kimlik doğrulama kodu geçersiz.\",\n    \"The provided two factor recovery code was invalid.\": \"Sağlanan iki faktörlü kurtarma kodu geçersizdi.\",\n    \"The response is not a streamed response.\": \"Yanıt akışlı bir yanıt değil.\",\n    \"The response is not a view.\": \"Yanıt bir görünüm değildir.\",\n    \"The team's name and owner information.\": \"Ekibin adı ve sahip bilgileri.\",\n    \"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\": \"Bu kişiler ekibinize davet edildi ve bir davet e-postası gönderildi. E-posta davetiyesini kabul ederek ekibe katılabilirler.\",\n    \"This action is unauthorized.\": \"Bu işlem izinsizdir.\",\n    \"This device\": \"Bu cihaz\",\n    \"This is a secure area of the application. Please confirm your password before continuing.\": \"Bu uygulamanın güvenli bir alandır. Lütfen devam etmeden önce parolanızı onaylayın.\",\n    \"This password does not match our records.\": \"Parolanız kayıtlarımızla eşleşmiyor.\",\n    \"This password reset link will expire in :count minutes.\": \"Bu parola sıfırlama bağlantısının geçerliliği :count dakika sonra sona erecek.\",\n    \"This user already belongs to the team.\": \"Bu kullanıcı zaten ekibe katılmış.\",\n    \"This user has already been invited to the team.\": \"Bu kullanıcı zaten ekibe davet edildi.\",\n    \"to\": \"a\",\n    \"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\": \"İki faktörlü kimlik doğrulamayı etkinleştirmeyi tamamlamak için telefonunuzun kimlik doğrulama uygulamasını kullanarak aşağıdaki QR kodunu tarayın veya kurulum anahtarını girin ve oluşturulan OTP kodunu sağlayın.\",\n    \"Toggle navigation\": \"Menüyü Aç/Kapat\",\n    \"Token Name\": \"Jeton İsmi\",\n    \"Too Early\": \"Çok erken\",\n    \"Too Many Requests\": \"Çok Fazla İstek\",\n    \"Translate\": \"Çevirmek\",\n    \"Translate It\": \"Çevir\",\n    \"Two Factor Authentication\": \"İki Faktörlü Kimlik Doğrulama\",\n    \"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\": \"İki faktörlü kimlik doğrulama şimdi etkinleştirildi. Telefonunuzun kimlik doğrulama uygulamasını kullanarak aşağıdaki QR kodunu tarayın veya kurulum anahtarını girin.\",\n    \"Unauthorized\": \"İzinsiz\",\n    \"Unavailable For Legal Reasons\": \"Yasal Sebepler Nedeniyle Kullanılamıyor\",\n    \"Unknown\": \"Bilinmeyen\",\n    \"Unknown Error\": \"Bilinmeyen Hata\",\n    \"Unpack\": \"Paketi aç\",\n    \"Unprocessable Entity\": \"İşlenemeyen Varlık\",\n    \"Unsubscribe\": \"Abonelikten çık\",\n    \"Unsupported Media Type\": \"Desteklenmeyen Medya Türü\",\n    \"Up\": \"Yukarı\",\n    \"Update\": \"Güncelle\",\n    \"Update :name\": \"Güncelleme :name\",\n    \"Update Password\": \"Parolayı Güncelle\",\n    \"Update your account's profile information and email address.\": \"Hesabınızın profil bilgilerini ve e-posta adresini güncelleyin.\",\n    \"Upgrade Required\": \"Yükseltme Gerekli\",\n    \"URI Too Long\": \"URI Çok Uzun\",\n    \"Use a recovery code\": \"Kurtarma kodu kullan\",\n    \"Use an authentication code\": \"Bir kimlik doğrulama kodu kullanın\",\n    \"Use Proxy\": \"Proxy Kullan\",\n    \"User\": \"Kullanıcı\",\n    \"Variant Also Negotiates\": \"Varyant Ayrıca Müzakere Ediyor\",\n    \"Verify Email Address\": \"E-posta Adresini Doğrula\",\n    \"View\": \"Görüntüle\",\n    \"View :name\": \":name'u görüntüle\",\n    \"We were unable to find a registered user with this email address.\": \"Bu e-posta adresiyle kayıtlı bir kullanıcı bulamadık.\",\n    \"Web Server is Down\": \"Web Sunucusu Çalışmıyor\",\n    \"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\": \"İki faktörlü kimlik doğrulama etkinleştirildiğinde, kimlik doğrulama sırasında güvenli ve rastgele bir belirteç girmeniz istenir. Bu belirteci, telefonunuzun Google Authenticator uygulamasından alabilirsiniz.\",\n    \"Whoops!\": \"Hoppala!\",\n    \"Whoops! Something went wrong.\": \"Eyvaaah! Bir şeyler ters gitti.\",\n    \"Yes\": \"Evet\",\n    \"You are receiving this email because we received a password reset request for your account.\": \"Hesabınız adına bir parola sıfırlama talebi aldığımız için bu e-postayı alıyorsunuz.\",\n    \"You have been invited to join the :team team!\": \":Team ekibine katılmaya davet edildiniz!\",\n    \"You have enabled two factor authentication.\": \"İki faktörlü kimlik doğrulamayı etkinleştirdiniz.\",\n    \"You have not enabled two factor authentication.\": \"İki faktörlü kimlik doğrulamayı etkinleştirmediniz.\",\n    \"You may accept this invitation by clicking the button below:\": \"Aşağıdaki butona tıklayarak bu daveti kabul edebilirsiniz:\",\n    \"You may delete any of your existing tokens if they are no longer needed.\": \"Artık ihtiyaç duyulmuyorsa mevcut jetonlarınızdan herhangi birini silebilirsiniz.\",\n    \"You may not delete your personal team.\": \"Kişisel ekibinizi silemezsiniz.\",\n    \"You may not leave a team that you created.\": \"Kendi oluşturduğunuz bir ekipten ayrılamazsınız.\",\n    \"Your email address is unverified.\": \"E-posta adresiniz doğrulanmadı.\"\n}"
  },
  {
    "path": "resources/lang/zh_CN/actions.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accept'          => '接受',\n    'action'          => '行动',\n    'actions'         => '行动',\n    'add'             => '添加',\n    'admin'           => '管理员',\n    'agree'           => '同意',\n    'archive'         => '档案',\n    'assign'          => '分配',\n    'associate'       => '联系',\n    'attach'          => '附',\n    'browse'          => '浏览',\n    'cancel'          => '取消',\n    'choose'          => '选择',\n    'choose_file'     => '选择文件',\n    'choose_image'    => '选择图片',\n    'click_to_copy'   => '点击复制',\n    'close'           => '关闭',\n    'collapse'        => '收缩',\n    'collapse_all'    => '全部收缩',\n    'comment'         => '评论',\n    'confirm'         => '确认',\n    'connect'         => '连接',\n    'create'          => '创建',\n    'delete'          => '删除',\n    'detach'          => '分离',\n    'details'         => '细节',\n    'disable'         => '禁用',\n    'discard'         => '丢弃',\n    'done'            => '完成',\n    'down'            => '向下',\n    'duplicate'       => '复制',\n    'edit'            => '编辑',\n    'enable'          => '启用',\n    'expand'          => '展开',\n    'expand_all'      => '展开全部',\n    'explanation'     => '解释',\n    'export'          => '导出',\n    'file'            => '文件',\n    'files'           => '文件',\n    'go_home'         => '回家',\n    'hide'            => '隐藏',\n    'home'            => '家',\n    'image'           => '图像',\n    'impersonate'     => '模仿',\n    'impersonation'   => '冒充',\n    'import'          => '导入',\n    'introduction'    => '介绍',\n    'like'            => '喜欢',\n    'load'            => '加载',\n    'localize'        => '本地化',\n    'log_in'          => '登录',\n    'log_out'         => '登出',\n    'named'           => [\n        'add'       => '添加 :name',\n        'choose'    => '选择:name',\n        'create'    => '创建 :name 个',\n        'delete'    => '删除 :name 个',\n        'duplicate' => '重复：名称',\n        'edit'      => '编辑:name',\n        'export'    => '导出 :name',\n        'hide'      => '隐藏 :name',\n        'import'    => '导入 :name',\n        'new'       => '新 :name',\n        'restore'   => '恢复:name',\n        'save'      => '保存 :name',\n        'search'    => '搜索 :name',\n        'show'      => '显示 :name',\n        'update'    => '更新:name',\n        'view'      => '查看 :name',\n    ],\n    'new'             => '新的',\n    'no'              => '不',\n    'open'            => '打开',\n    'open_website'    => '在网站上打开',\n    'preview'         => '预览',\n    'price'           => '价格',\n    'record'          => '记录',\n    'restore'         => '恢复',\n    'save'            => '保存',\n    'save_and_close'  => '保存并关闭',\n    'save_and_return' => '保存并返回',\n    'search'          => '搜索',\n    'select'          => '选择',\n    'select_all'      => '全选',\n    'send'            => '发送',\n    'settings'        => '设置',\n    'show'            => '显示',\n    'show_all'        => '显示所有',\n    'sign_in'         => '登入',\n    'solve'           => '解决',\n    'start'           => '开始',\n    'stop'            => '停止',\n    'submit'          => '提交',\n    'subscribe'       => '订阅',\n    'switch'          => '切换',\n    'switch_to_role'  => '切换角色',\n    'tag'             => '标签',\n    'tags'            => '标签',\n    'target_link'     => [\n        'blank'  => '在新窗口中打开',\n        'parent' => '在父框架中打开',\n        'self'   => '在当前窗口中打开',\n        'top'    => '在最上面的框架中打开',\n    ],\n    'translate'       => '翻译',\n    'translate_it'    => '翻译它',\n    'unpack'          => '打开',\n    'unsubscribe'     => '退订',\n    'up'              => '向上',\n    'update'          => '更新',\n    'user'            => '用户',\n    'view'            => '查看',\n    'yes'             => '是的',\n];\n"
  },
  {
    "path": "resources/lang/zh_CN/auth.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'failed'   => '用户名或密码错误。',\n    'password' => '密码错误',\n    'throttle' => '您尝试的登录次数过多，请 :seconds 秒后再试。',\n];\n"
  },
  {
    "path": "resources/lang/zh_CN/http-statuses.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    '0'            => '未知错误',\n    '100'          => '继续请求',\n    '101'          => '切换协议',\n    '102'          => '处理中',\n    '200'          => '请求成功',\n    '201'          => '已创建',\n    '202'          => '已接受',\n    '203'          => '非权威信息',\n    '204'          => '无内容',\n    '205'          => '重置内容',\n    '206'          => '部分内容',\n    '207'          => '多状态',\n    '208'          => '已上报',\n    '226'          => 'IM已使用',\n    '300'          => '多种选择',\n    '301'          => '已永久移动',\n    '302'          => '临时移动',\n    '303'          => '见其他',\n    '304'          => '未修改',\n    '305'          => '使用代理',\n    '307'          => '临时重定向',\n    '308'          => '永久重定向',\n    '400'          => '请求错误',\n    '401'          => '未授权',\n    '402'          => '需要付款',\n    '403'          => '禁止',\n    '404'          => '未找到',\n    '405'          => '方法不允许',\n    '406'          => '无法接受',\n    '407'          => '需要代理验证',\n    '408'          => '请求超时',\n    '409'          => '冲突',\n    '410'          => '不可用',\n    '411'          => '长度要求',\n    '412'          => '前提条件未满足',\n    '413'          => '请求实体过大',\n    '414'          => 'URI太长了',\n    '415'          => '不支持的媒体类型',\n    '416'          => '请求范围不符合',\n    '417'          => '期望不满足',\n    '418'          => '我是一个茶壶',\n    '419'          => '会话已过期',\n    '421'          => '错误的请求',\n    '422'          => '不可处理的实体',\n    '423'          => '锁定',\n    '424'          => '失败的依赖',\n    '425'          => '太早了',\n    '426'          => '需要升级',\n    '428'          => '前提要求',\n    '429'          => '请求太多',\n    '431'          => '请求标头字段太大',\n    '444'          => '连接关闭无响应',\n    '449'          => '重试',\n    '451'          => '法律原因不可用',\n    '499'          => '客户端关闭请求',\n    '500'          => '内部服务器错误',\n    '501'          => '未实现',\n    '502'          => '网关错误',\n    '503'          => '服务不可用',\n    '504'          => '网关超时',\n    '505'          => 'HTTP版本不支持',\n    '506'          => '变体协商',\n    '507'          => '存储空间不足',\n    '508'          => '检测到环路',\n    '509'          => '超出带宽限制',\n    '510'          => '未延期',\n    '511'          => '需要网络验证',\n    '520'          => '未知错误',\n    '521'          => 'Web服务器已关闭',\n    '522'          => '连接超时',\n    '523'          => '原点无法到达',\n    '524'          => '发生超时',\n    '525'          => 'SSL握手失败',\n    '526'          => '无效的SSL证书',\n    '527'          => '轨道炮错误',\n    '598'          => '网络读取超时',\n    '599'          => '网络连接超时',\n    'unknownError' => '未知错误',\n];\n"
  },
  {
    "path": "resources/lang/zh_CN/pagination.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'next'     => '下一页 &raquo;',\n    'previous' => '&laquo; 上一页',\n];\n"
  },
  {
    "path": "resources/lang/zh_CN/passwords.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'reset'     => '密码重置成功！',\n    'sent'      => '密码重置邮件已发送！',\n    'throttled' => '请稍候再试。',\n    'token'     => '密码重置令牌无效。',\n    'user'      => '找不到该邮箱对应的用户。',\n];\n"
  },
  {
    "path": "resources/lang/zh_CN/validation.php",
    "content": "<?php\n\ndeclare(strict_types=1);\n\nreturn [\n    'accepted'             => '您必须接受 :attribute。',\n    'accepted_if'          => '当 :other 为 :value 时，必须接受 :attribute。',\n    'active_url'           => ':Attribute 不是一个有效的网址。',\n    'after'                => ':Attribute 必须要晚于 :date。',\n    'after_or_equal'       => ':Attribute 必须要等于 :date 或更晚。',\n    'alpha'                => ':Attribute 只能由字母组成。',\n    'alpha_dash'           => ':Attribute 只能由字母、数字、短划线(-)和下划线(_)组成。',\n    'alpha_num'            => ':Attribute 只能由字母和数字组成。',\n    'array'                => ':Attribute 必须是一个数组。',\n    'ascii'                => ':Attribute 必须仅包含单字节字母数字字符和符号。',\n    'attached'             => '这个 :attribute 已经连接。',\n    'before'               => ':Attribute 必须要早于 :date。',\n    'before_or_equal'      => ':Attribute 必须要等于 :date 或更早。',\n    'between'              => [\n        'array'   => ':Attribute 必须只有 :min - :max 个单元。',\n        'file'    => ':Attribute 必须介于 :min - :max KB 之间。',\n        'numeric' => ':Attribute 必须介于 :min - :max 之间。',\n        'string'  => ':Attribute 必须介于 :min - :max 个字符之间。',\n    ],\n    'boolean'              => ':Attribute 必须为布尔值。',\n    'can'                  => ':Attribute 字段包含未经授权的值。',\n    'confirmed'            => ':Attribute 两次输入不一致。',\n    'contains'             => 'The :attribute field is missing a required value.',\n    'current_password'     => '密码错误。',\n    'date'                 => ':Attribute 不是一个有效的日期。',\n    'date_equals'          => ':Attribute 必须要等于 :date。',\n    'date_format'          => ':Attribute 的格式必须为 :format。',\n    'decimal'              => ':Attribute 必须有 :decimal 位小数。',\n    'declined'             => ':Attribute 必须是拒绝的。',\n    'declined_if'          => '当 :other 为 :value 时字段 :attribute 必须是拒绝的。',\n    'different'            => ':Attribute 和 :other 必须不同。',\n    'digits'               => ':Attribute 必须是 :digits 位数字。',\n    'digits_between'       => ':Attribute 必须是介于 :min 和 :max 位的数字。',\n    'dimensions'           => ':Attribute 图片尺寸不正确。',\n    'distinct'             => ':Attribute 已经存在。',\n    'doesnt_end_with'      => ':Attribute 不能以以下之一结尾: :values。',\n    'doesnt_start_with'    => ':Attribute 不能以下列之一开头: :values。',\n    'email'                => ':Attribute 不是一个合法的邮箱。',\n    'ends_with'            => ':Attribute 必须以 :values 为结尾。',\n    'enum'                 => ':Attribute 值不正确。',\n    'exists'               => ':Attribute 不存在。',\n    'extensions'           => ':attribute 字段必须具有以下扩展名之一：:values。',\n    'file'                 => ':Attribute 必须是文件。',\n    'filled'               => ':Attribute 不能为空。',\n    'gt'                   => [\n        'array'   => ':Attribute 必须多于 :value 个元素。',\n        'file'    => ':Attribute 必须大于 :value KB。',\n        'numeric' => ':Attribute 必须大于 :value。',\n        'string'  => ':Attribute 必须多于 :value 个字符。',\n    ],\n    'gte'                  => [\n        'array'   => ':Attribute 必须多于或等于 :value 个元素。',\n        'file'    => ':Attribute 必须大于或等于 :value KB。',\n        'numeric' => ':Attribute 必须大于或等于 :value。',\n        'string'  => ':Attribute 必须多于或等于 :value 个字符。',\n    ],\n    'hex_color'            => ':attribute 字段必须是有效的十六进制颜色。',\n    'image'                => ':Attribute 必须是图片。',\n    'in'                   => '已选的属性 :attribute 无效。',\n    'in_array'             => ':Attribute 必须在 :other 中。',\n    'integer'              => ':Attribute 必须是整数。',\n    'ip'                   => ':Attribute 必须是有效的 IP 地址。',\n    'ipv4'                 => ':Attribute 必须是有效的 IPv4 地址。',\n    'ipv6'                 => ':Attribute 必须是有效的 IPv6 地址。',\n    'json'                 => ':Attribute 必须是正确的 JSON 格式。',\n    'list'                 => ':attribute 字段必须是一个列表。',\n    'lowercase'            => ':Attribute 必须小写。',\n    'lt'                   => [\n        'array'   => ':Attribute 必须少于 :value 个元素。',\n        'file'    => ':Attribute 必须小于 :value KB。',\n        'numeric' => ':Attribute 必须小于 :value。',\n        'string'  => ':Attribute 必须少于 :value 个字符。',\n    ],\n    'lte'                  => [\n        'array'   => ':Attribute 必须少于或等于 :value 个元素。',\n        'file'    => ':Attribute 必须小于或等于 :value KB。',\n        'numeric' => ':Attribute 必须小于或等于 :value。',\n        'string'  => ':Attribute 必须少于或等于 :value 个字符。',\n    ],\n    'mac_address'          => ':Attribute 必须是一个有效的 MAC 地址。',\n    'max'                  => [\n        'array'   => ':Attribute 最多只有 :max 个单元。',\n        'file'    => ':Attribute 不能大于 :max KB。',\n        'numeric' => ':Attribute 不能大于 :max。',\n        'string'  => ':Attribute 不能大于 :max 个字符。',\n    ],\n    'max_digits'           => ':Attribute 不能超过 :max 位数。',\n    'mimes'                => ':Attribute 必须是一个 :values 类型的文件。',\n    'mimetypes'            => ':Attribute 必须是一个 :values 类型的文件。',\n    'min'                  => [\n        'array'   => ':Attribute 至少有 :min 个单元。',\n        'file'    => ':Attribute 大小不能小于 :min KB。',\n        'numeric' => ':Attribute 必须大于等于 :min。',\n        'string'  => ':Attribute 至少为 :min 个字符。',\n    ],\n    'min_digits'           => ':Attribute 必须至少有 :min 位数。',\n    'missing'              => '必须缺少 :attribute 字段。',\n    'missing_if'           => '当 :other 为 :value 时，必须缺少 :attribute 字段。',\n    'missing_unless'       => '必须缺少 :attribute 字段，除非 :other 是 :value。',\n    'missing_with'         => '存在 :values 时，必须缺少 :attribute 字段。',\n    'missing_with_all'     => '存在 :values 时，必须缺少 :attribute 字段。',\n    'multiple_of'          => ':Attribute 必须是 :value 中的多个值。',\n    'not_in'               => '已选的属性 :attribute 非法。',\n    'not_regex'            => ':Attribute 的格式错误。',\n    'numeric'              => ':Attribute 必须是一个数字。',\n    'password'             => [\n        'letters'       => ':Attribute 必须至少包含一个字母。',\n        'mixed'         => ':Attribute 必须至少包含一个大写字母和一个小写字母。',\n        'numbers'       => ':Attribute 必须至少包含一个数字。',\n        'symbols'       => ':Attribute 必须至少包含一个符号。',\n        'uncompromised' => '给定的 :attribute 出现在已经泄漏的密码中。请选择不同的 :attribute。',\n    ],\n    'present'              => ':Attribute 必须存在。',\n    'present_if'           => '当 :other 等于 :value 时，必须存在 :attribute 字段。',\n    'present_unless'       => '除非 :other 等于 :value，否则 :attribute 字段必须存在。',\n    'present_with'         => '当 :values 存在时，:attribute 字段必须存在。',\n    'present_with_all'     => '当存在 :values 时，必须存在 :attribute 字段。',\n    'prohibited'           => ':Attribute 字段被禁止。',\n    'prohibited_if'        => '当 :other 为 :value 时，禁止 :attribute 字段。',\n    'prohibited_unless'    => ':Attribute 字段被禁止，除非 :other 位于 :values 中。',\n    'prohibits'            => ':Attribute 字段禁止出现 :other。',\n    'regex'                => ':Attribute 格式不正确。',\n    'relatable'            => '此 :attribute 可能与此资源不相关联。',\n    'required'             => ':Attribute 不能为空。',\n    'required_array_keys'  => ':Attribute 至少包含指定的键：:values.',\n    'required_if'          => '当 :other 为 :value 时 :attribute 不能为空。',\n    'required_if_accepted' => '当 :other 存在时，:attribute 不能为空。',\n    'required_if_declined' => 'The :attribute field is required when :other is declined.',\n    'required_unless'      => '当 :other 不为 :values 时 :attribute 不能为空。',\n    'required_with'        => '当 :values 存在时 :attribute 不能为空。',\n    'required_with_all'    => '当 :values 存在时 :attribute 不能为空。',\n    'required_without'     => '当 :values 不存在时 :attribute 不能为空。',\n    'required_without_all' => '当 :values 都不存在时 :attribute 不能为空。',\n    'same'                 => ':Attribute 和 :other 必须相同。',\n    'size'                 => [\n        'array'   => ':Attribute 必须为 :size 个单元。',\n        'file'    => ':Attribute 大小必须为 :size KB。',\n        'numeric' => ':Attribute 大小必须为 :size。',\n        'string'  => ':Attribute 必须是 :size 个字符。',\n    ],\n    'starts_with'          => ':Attribute 必须以 :values 为开头。',\n    'string'               => ':Attribute 必须是一个字符串。',\n    'timezone'             => ':Attribute 必须是一个合法的时区值。',\n    'ulid'                 => ':Attribute 必须是有效的 ULID。',\n    'unique'               => ':Attribute 已经存在。',\n    'uploaded'             => ':Attribute 上传失败。',\n    'uppercase'            => ':Attribute 必须大写',\n    'url'                  => ':Attribute 格式不正确。',\n    'uuid'                 => ':Attribute 必须是有效的 UUID。',\n    'attributes'           => [\n        'address'                  => '地址',\n        'affiliate_url'            => '附属网址',\n        'age'                      => '年龄',\n        'amount'                   => '数额',\n        'announcement'             => '公告',\n        'area'                     => '区域',\n        'audience_prize'           => '观众奖',\n        'available'                => '可用的',\n        'birthday'                 => '生日',\n        'body'                     => '身体',\n        'city'                     => '城市',\n        'compilation'              => '汇编',\n        'concept'                  => '概念',\n        'conditions'               => '状况',\n        'content'                  => '内容',\n        'country'                  => '国家',\n        'cover'                    => '覆盖',\n        'created_at'               => '创建于',\n        'creator'                  => '创建者',\n        'currency'                 => '货币',\n        'current_password'         => '当前密码',\n        'customer'                 => '顾客',\n        'date'                     => '日期',\n        'date_of_birth'            => '出生日期',\n        'dates'                    => '日期',\n        'day'                      => '天',\n        'deleted_at'               => '删除于',\n        'description'              => '描述',\n        'display_type'             => '显示类型',\n        'district'                 => '地区',\n        'duration'                 => '期间',\n        'email'                    => '邮箱',\n        'excerpt'                  => '摘要',\n        'filter'                   => '过滤',\n        'finished_at'              => '完成于',\n        'first_name'               => '名',\n        'gender'                   => '性别',\n        'grand_prize'              => '大奖',\n        'group'                    => '组',\n        'hour'                     => '时',\n        'image'                    => '图像',\n        'image_desktop'            => '桌面图像',\n        'image_main'               => '主图',\n        'image_mobile'             => '移动图像',\n        'images'                   => '图片',\n        'is_audience_winner'       => '是观众赢家',\n        'is_hidden'                => '被隐藏',\n        'is_subscribed'            => '已订阅',\n        'is_visible'               => '是可见的',\n        'is_winner'                => '是赢家',\n        'items'                    => '项目',\n        'key'                      => '钥匙',\n        'last_name'                => '姓',\n        'lesson'                   => '课程',\n        'line_address_1'           => '线路地址 1',\n        'line_address_2'           => '线路地址 2',\n        'login'                    => '登录',\n        'message'                  => '信息',\n        'middle_name'              => '中间名字',\n        'minute'                   => '分',\n        'mobile'                   => '手机',\n        'month'                    => '月',\n        'name'                     => '名称',\n        'national_code'            => '国家代码',\n        'number'                   => '数字',\n        'password'                 => '密码',\n        'password_confirmation'    => '确认密码',\n        'phone'                    => '电话',\n        'photo'                    => '照片',\n        'portfolio'                => '文件夹',\n        'postal_code'              => '邮政编码',\n        'preview'                  => '预览',\n        'price'                    => '价格',\n        'product_id'               => '产品编号',\n        'product_uid'              => '产品UID',\n        'product_uuid'             => '产品UUID',\n        'promo_code'               => '促销代码',\n        'province'                 => '省',\n        'quantity'                 => '数量',\n        'reason'                   => '原因',\n        'recaptcha_response_field' => '重复验证码响应字段',\n        'referee'                  => '裁判',\n        'referees'                 => '裁判员',\n        'reject_reason'            => '拒绝理由',\n        'remember'                 => '记住',\n        'restored_at'              => '恢复于',\n        'result_text_under_image'  => '图像下的结果文本',\n        'role'                     => '角色',\n        'rule'                     => '规则',\n        'rules'                    => '规则',\n        'second'                   => '秒',\n        'sex'                      => '性别',\n        'shipment'                 => '运输',\n        'short_text'               => '短文本',\n        'size'                     => '大小',\n        'skills'                   => '技能',\n        'slug'                     => '蛞蝓',\n        'specialization'           => '专业化',\n        'started_at'               => '开始于',\n        'state'                    => '状态',\n        'status'                   => '地位',\n        'street'                   => '街道',\n        'student'                  => '学生',\n        'subject'                  => '主题',\n        'tag'                      => '标签',\n        'tags'                     => '标签',\n        'teacher'                  => '教师',\n        'terms'                    => '条款',\n        'test_description'         => '测试说明',\n        'test_locale'              => '测试语言环境',\n        'test_name'                => '测试名称',\n        'text'                     => '文本',\n        'time'                     => '时间',\n        'title'                    => '标题',\n        'type'                     => '类型',\n        'updated_at'               => '更新于',\n        'user'                     => '用户',\n        'username'                 => '用户名',\n        'value'                    => '价值',\n        'year'                     => '年',\n    ],\n];\n"
  },
  {
    "path": "resources/lang/zh_CN.json",
    "content": "{\n    \"(and :count more error)\": \"(还有 :count 个错误)\",\n    \"(and :count more errors)\": \"(还有 :count 个错误)|(以及另外 :count 个错误)|(以及另外 :count 个错误)\",\n    \"A new verification link has been sent to the email address you provided in your profile settings.\": \"一个新的验证链接已被发送到你在个人资料设置中提供的电子邮件地址。\",\n    \"A new verification link has been sent to your email address.\": \"一个新的验证链接已经发送到你的电子邮件地址。\",\n    \"A Timeout Occurred\": \"发生超时\",\n    \"Accept\": \"接受\",\n    \"Accept Invitation\": \"接受邀请\",\n    \"Accepted\": \"已接受\",\n    \"Action\": \"操作\",\n    \"Actions\": \"操作\",\n    \"Add\": \"添加\",\n    \"Add :name\": \"添加 :name\",\n    \"Add a new team member to your team, allowing them to collaborate with you.\": \"添加一个新的团队成员到您的团队，让他们与您合作。\",\n    \"Add additional security to your account using two factor authentication.\": \"使用双因素认证为您的账户添加额外的安全性。\",\n    \"Add Team Member\": \"添加团队成员\",\n    \"Added.\": \"已添加。\",\n    \"Admin\": \"管理员\",\n    \"Administrator\": \"管理员\",\n    \"Administrator users can perform any action.\": \"管理员用户可以执行任何操作。\",\n    \"Agree\": \"同意\",\n    \"All of the people that are part of this team.\": \"所有的人都是这个团队的一部分。\",\n    \"All rights reserved.\": \"版权所有。\",\n    \"Already registered?\": \"已注册？\",\n    \"Already Reported\": \"已上报\",\n    \"API Token\": \"API 令牌\",\n    \"API Token Permissions\": \"API 令牌权限\",\n    \"API Tokens\": \"API 令牌\",\n    \"API tokens allow third-party services to authenticate with our application on your behalf.\": \"API 令牌允许第三方服务代表您与我们的应用程序进行认证。\",\n    \"Archive\": \"档案\",\n    \"Are you sure you want to delete this team? Once a team is deleted, all of its resources and data will be permanently deleted.\": \"您确定要删除这个团队吗？一旦一个团队被删除，它的所有资源和数据将被永久删除。\",\n    \"Are you sure you want to delete your account? Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.\": \"您确定要删除您的账户吗？一旦您的账户被删除，其所有资源和数据将被永久删除。请输入您的密码，确认您要永久删除您的账户。\",\n    \"Are you sure you would like to delete this API token?\": \"您确定要删除这个 API 令牌吗？\",\n    \"Are you sure you would like to leave this team?\": \"您确定要离开这个团队吗？\",\n    \"Are you sure you would like to remove this person from the team?\": \"您确定要把这个人从团队中删除吗？\",\n    \"Assign\": \"分配\",\n    \"Associate\": \"联系\",\n    \"Attach\": \"附加\",\n    \"Bad Gateway\": \"网关错误\",\n    \"Bad Request\": \"请求错误\",\n    \"Bandwidth Limit Exceeded\": \"超出带宽限制\",\n    \"Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn't receive the email, we will gladly send you another.\": \"在继续之前，你能否点击我们刚才发给你的链接来验证你的电子邮件地址？如果你没有收到邮件，我们很乐意再给你发一封。\",\n    \"Browse\": \"浏览\",\n    \"Browser Sessions\": \"浏览器会话\",\n    \"Cancel\": \"取消\",\n    \"Choose\": \"选择\",\n    \"Choose :name\": \"选择:name\",\n    \"Choose File\": \"选择文件\",\n    \"Choose Image\": \"选择图片\",\n    \"Click here to re-send the verification email.\": \"点击这里重新发送验证邮件。\",\n    \"Click to copy\": \"点击复制\",\n    \"Client Closed Request\": \"客户端关闭请求\",\n    \"Close\": \"关闭\",\n    \"Code\": \"验证码\",\n    \"Collapse\": \"收缩\",\n    \"Collapse All\": \"全部收缩\",\n    \"Comment\": \"评论\",\n    \"Confirm\": \"确认\",\n    \"Confirm Password\": \"确认密码\",\n    \"Conflict\": \"冲突\",\n    \"Connect\": \"连接\",\n    \"Connection Closed Without Response\": \"连接关闭无响应\",\n    \"Connection Timed Out\": \"连接超时\",\n    \"Continue\": \"继续请求\",\n    \"Create\": \"创建\",\n    \"Create :name\": \"创建 :name 个\",\n    \"Create a new team to collaborate with others on projects.\": \"创建一个新的团队，与他人合作开展项目。\",\n    \"Create Account\": \"创建账户\",\n    \"Create API Token\": \"创建 API 令牌\",\n    \"Create New Team\": \"创建新的团队\",\n    \"Create Team\": \"创建团队\",\n    \"Created\": \"已创建\",\n    \"Created.\": \"已创建。\",\n    \"Current Password\": \"当前密码\",\n    \"Dashboard\": \"控制面板\",\n    \"Delete\": \"删除\",\n    \"Delete :name\": \"删除 :name 个\",\n    \"Delete Account\": \"删除账户\",\n    \"Delete API Token\": \"删除 API 令牌\",\n    \"Delete Team\": \"删除团队\",\n    \"Detach\": \"分离\",\n    \"Details\": \"详情\",\n    \"Disable\": \"禁用\",\n    \"Discard\": \"丢弃\",\n    \"Done\": \"完成\",\n    \"Done.\": \"已完成。\",\n    \"Down\": \"向下\",\n    \"Duplicate\": \"复制\",\n    \"Duplicate :name\": \"重复：名称\",\n    \"Edit\": \"编辑\",\n    \"Edit :name\": \"编辑:name\",\n    \"Edit Profile\": \"编辑资料\",\n    \"Editor\": \"编辑者\",\n    \"Editor users have the ability to read, create, and update.\": \"编辑者可以阅读、创建和更新。\",\n    \"Email\": \"电子邮箱\",\n    \"Email Password Reset Link\": \"电子邮件密码重置链接\",\n    \"Enable\": \"启用\",\n    \"Ensure your account is using a long, random password to stay secure.\": \"确保您的账户使用足够长且随机的密码来保证安全。\",\n    \"errors\": \"错误\",\n    \"Expand\": \"展开\",\n    \"Expand All\": \"展开全部\",\n    \"Expectation Failed\": \"期望不满足\",\n    \"Explanation\": \"解释\",\n    \"Export\": \"导出\",\n    \"Export :name\": \"导出 :name\",\n    \"Failed Dependency\": \"失败的依赖\",\n    \"File\": \"文件\",\n    \"Files\": \"文件\",\n    \"Finish enabling two factor authentication.\": \"完成启用双因素认证。\",\n    \"For your security, please confirm your password to continue.\": \"为了您的安全，请确认您的密码以继续。\",\n    \"Forbidden\": \"访问被拒绝\",\n    \"Forgot your password?\": \"忘记密码？\",\n    \"Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.\": \"忘记密码？没关系。输入您的电子邮件地址，我们将通过电子邮件向您发送密码重置链接，让您重置一个新的密码。\",\n    \"Found\": \"临时移动\",\n    \"Gateway Timeout\": \"网关超时\",\n    \"Go Home\": \"回首页\",\n    \"Go to page :page\": \"前往第 :page 页\",\n    \"Gone\": \"不可用\",\n    \"Great! You have accepted the invitation to join the :team team.\": \"太好了，您已接受了加入团队「:team」的邀请。\",\n    \"Hello!\": \"您好！\",\n    \"Hide\": \"隐藏\",\n    \"Hide :name\": \"隐藏 :name\",\n    \"Home\": \"家\",\n    \"HTTP Version Not Supported\": \"HTTP版本不支持\",\n    \"I agree to the :terms_of_service and :privacy_policy\": \"我同意 :terms_of_service 和 :privacy_policy\",\n    \"I'm a teapot\": \"我是一个茶壶\",\n    \"If necessary, you may log out of all of your other browser sessions across all of your devices. Some of your recent sessions are listed below; however, this list may not be exhaustive. If you feel your account has been compromised, you should also update your password.\": \"如有必要，您可以注销您其他设备上所有的浏览器会话。下面列出了您最近的一些会话，但是，这个列表可能并不详尽。如果您认为您的账户已被入侵，您还应该更新您的密码。\",\n    \"If you already have an account, you may accept this invitation by clicking the button below:\": \"如果您已经有一个账户，您可以通过点击下面的按钮接受这个邀请：\",\n    \"If you did not create an account, no further action is required.\": \"如果您未注册帐号，请忽略此邮件。\",\n    \"If you did not expect to receive an invitation to this team, you may discard this email.\": \"如果您没有想到会收到这个团队的邀请，您可以丢弃这封邮件。\",\n    \"If you did not request a password reset, no further action is required.\": \"如果您未申请重设密码，请忽略此邮件。\",\n    \"If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:\": \"如果您还没有账号，可以点击下面的按钮创建一个账号。创建账户后，您可以点击此邮件中的邀请接受按钮，接受团队邀请：\",\n    \"If you're having trouble clicking the \\\":actionText\\\" button, copy and paste the URL below\\ninto your web browser:\": \"如果您单击「:actionText」按钮时遇到问题，请复制下方链接到浏览器中访问：\",\n    \"IM Used\": \"IM已使用\",\n    \"Image\": \"图像\",\n    \"Impersonate\": \"模拟登录\",\n    \"Impersonation\": \"冒充\",\n    \"Import\": \"导入\",\n    \"Import :name\": \"导入 :name\",\n    \"Insufficient Storage\": \"存储空间不足\",\n    \"Internal Server Error\": \"内部服务器错误\",\n    \"Introduction\": \"介绍\",\n    \"Invalid JSON was returned from the route.\": \"从路由返回无效的 JSON。\",\n    \"Invalid SSL Certificate\": \"无效的SSL证书\",\n    \"Last active\": \"上次活跃\",\n    \"Last used\": \"上次使用\",\n    \"Leave\": \"离开\",\n    \"Leave Team\": \"离开团队\",\n    \"length\": \"length\",\n    \"Length Required\": \"长度要求\",\n    \"Like\": \"喜欢\",\n    \"Load\": \"加载\",\n    \"Localize\": \"本地化\",\n    \"Location\": \"地点\",\n    \"Locked\": \"锁定\",\n    \"Log In\": \"登录\",\n    \"Log in\": \"登录\",\n    \"Log Out\": \"登出\",\n    \"Log Out Other Browser Sessions\": \"注销其他浏览器的会话\",\n    \"Login\": \"登录\",\n    \"Logout\": \"登出\",\n    \"Loop Detected\": \"检测到环路\",\n    \"Maintenance Mode\": \"服务不可用\",\n    \"Manage Account\": \"管理账户\",\n    \"Manage and log out your active sessions on other browsers and devices.\": \"管理和注销您在其他浏览器和设备上的活动会话。\",\n    \"Manage API Tokens\": \"管理 API 令牌\",\n    \"Manage Role\": \"管理角色\",\n    \"Manage Team\": \"管理团队\",\n    \"Method Not Allowed\": \"方法不允许\",\n    \"Misdirected Request\": \"错误的请求\",\n    \"Moved Permanently\": \"已永久移动\",\n    \"Multi-Status\": \"多状态\",\n    \"Multiple Choices\": \"多种选择\",\n    \"Name\": \"姓名\",\n    \"Network Authentication Required\": \"需要网络验证\",\n    \"Network Connect Timeout Error\": \"网络连接超时\",\n    \"Network Read Timeout Error\": \"网络读取超时\",\n    \"New\": \"新建\",\n    \"New :name\": \"新 :name\",\n    \"New Password\": \"新的密码\",\n    \"No\": \"不\",\n    \"No Content\": \"无内容\",\n    \"Non-Authoritative Information\": \"非权威信息\",\n    \"Not Acceptable\": \"无法接受\",\n    \"Not Extended\": \"未延期\",\n    \"Not Found\": \"页面不存在\",\n    \"Not Implemented\": \"未实现\",\n    \"Not Modified\": \"未修改\",\n    \"of\": \"于\",\n    \"OK\": \"请求成功\",\n    \"Once a team is deleted, all of its resources and data will be permanently deleted. Before deleting this team, please download any data or information regarding this team that you wish to retain.\": \"一旦团队被删除，其所有资源和数据将被永久删除。在删除该团队之前，请下载您希望保留的有关该团队的任何数据或信息。\",\n    \"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.\": \"一旦您的账户被删除，其所有资源和数据将被永久删除。在删除您的账户之前，请下载您希望保留的任何数据或信息。\",\n    \"Open\": \"打开\",\n    \"Open in a current window\": \"在当前窗口中打开\",\n    \"Open in a new window\": \"在新窗口中打开\",\n    \"Open in a parent frame\": \"在父框架中打开\",\n    \"Open in the topmost frame\": \"在最上面的框架中打开\",\n    \"Open on the website\": \"在网站上打开\",\n    \"Origin Is Unreachable\": \"原点无法到达\",\n    \"Page Expired\": \"页面会话已超时\",\n    \"Pagination Navigation\": \"分页导航\",\n    \"Partial Content\": \"部分内容\",\n    \"Password\": \"密码\",\n    \"Payload Too Large\": \"请求实体过大\",\n    \"Payment Required\": \"需要付款\",\n    \"Pending Team Invitations\": \"待处理的团队邀请函\",\n    \"Permanent Redirect\": \"永久重定向\",\n    \"Permanently delete this team.\": \"永久删除此团队\",\n    \"Permanently delete your account.\": \"永久删除您的账户\",\n    \"Permissions\": \"权限\",\n    \"Photo\": \"照片\",\n    \"Please click the button below to verify your email address.\": \"请点击下面按钮验证您的 E-mail：\",\n    \"Please confirm access to your account by entering one of your emergency recovery codes.\": \"请输入您的紧急恢复代码以访问您的账户。\",\n    \"Please confirm access to your account by entering the authentication code provided by your authenticator application.\": \"请输入您的验证器应用程序提供的验证码以访问您的账户。\",\n    \"Please copy your new API token. For your security, it won't be shown again.\": \"请复制您的新 API 令牌。为了您的安全，它不会再被显示出来。\",\n    \"Please enter your password to confirm you would like to log out of your other browser sessions across all of your devices.\": \"请输入您的密码，以确认您要注销您其他设备上的浏览器会话。\",\n    \"Please provide the email address of the person you would like to add to this team.\": \"请提供您想加入这个团队的人的电子邮件地址。\",\n    \"Precondition Failed\": \"前提条件未满足\",\n    \"Precondition Required\": \"前提要求\",\n    \"Preview\": \"预览\",\n    \"Price\": \"价格\",\n    \"Privacy Policy\": \"隐私政策\",\n    \"Processing\": \"处理中\",\n    \"Profile\": \"资料\",\n    \"Profile Information\": \"账户资料\",\n    \"Proxy Authentication Required\": \"需要代理验证\",\n    \"Railgun Error\": \"轨道炮错误\",\n    \"Range Not Satisfiable\": \"请求范围不符合\",\n    \"Record\": \"记录\",\n    \"Recovery Code\": \"恢复代码\",\n    \"Regards\": \"致敬\",\n    \"Regenerate Recovery Codes\": \"重新生成恢复码\",\n    \"Register\": \"注册\",\n    \"Remember me\": \"记住我\",\n    \"Remove\": \"移除\",\n    \"Remove Photo\": \"移除照片\",\n    \"Remove Team Member\": \"移除团队成员\",\n    \"Request Header Fields Too Large\": \"请求标头字段太大\",\n    \"Request Timeout\": \"请求超时\",\n    \"Resend Verification Email\": \"重新发送验证邮件\",\n    \"Reset Content\": \"重置内容\",\n    \"Reset Password\": \"重置密码\",\n    \"Reset Password Notification\": \"重置密码通知\",\n    \"Restore\": \"恢复\",\n    \"Restore :name\": \"恢复:name\",\n    \"results\": \"结果\",\n    \"Retry With\": \"重试\",\n    \"Role\": \"角色\",\n    \"Save\": \"保存\",\n    \"Save & Close\": \"保存并关闭\",\n    \"Save & Return\": \"保存并返回\",\n    \"Save :name\": \"保存 :name\",\n    \"Saved.\": \"已保存。\",\n    \"Search\": \"搜索\",\n    \"Search :name\": \"搜索 :name\",\n    \"See Other\": \"见其他\",\n    \"Select\": \"选择\",\n    \"Select A New Photo\": \"选择新的照片\",\n    \"Select All\": \"全选\",\n    \"Send\": \"发送\",\n    \"Server Error\": \"服务器错误\",\n    \"Service Unavailable\": \"服务不可用\",\n    \"Session Has Expired\": \"会话已过期\",\n    \"Settings\": \"设置\",\n    \"Setup Key\": \"设定键\",\n    \"Show\": \"显示\",\n    \"Show :name\": \"显示 :name\",\n    \"Show All\": \"显示所有\",\n    \"Show Recovery Codes\": \"显示恢复代码\",\n    \"Showing\": \"显示中\",\n    \"Sign In\": \"登入\",\n    \"Solve\": \"解决\",\n    \"SSL Handshake Failed\": \"SSL握手失败\",\n    \"Start\": \"开始\",\n    \"Stop\": \"停止\",\n    \"Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.\": \"将这些恢复码存储在一个安全的密码管理器中。如果您的双因素验证设备丢失，它们可以用来恢复对您账户的访问。\",\n    \"Submit\": \"提交\",\n    \"Subscribe\": \"订阅\",\n    \"Switch\": \"切换\",\n    \"Switch Teams\": \"切换团队\",\n    \"Switch To Role\": \"切换角色\",\n    \"Switching Protocols\": \"切换协议\",\n    \"Tag\": \"标签\",\n    \"Tags\": \"标签\",\n    \"Team Details\": \"团队详情\",\n    \"Team Invitation\": \"团队邀请\",\n    \"Team Members\": \"团队成员\",\n    \"Team Name\": \"团队名称\",\n    \"Team Owner\": \"团队拥有者\",\n    \"Team Settings\": \"团队设置\",\n    \"Temporary Redirect\": \"临时重定向\",\n    \"Terms of Service\": \"服务条款\",\n    \"The :attribute must be a valid role.\": \":Attribute 必须是一个有效的角色。\",\n    \"The :attribute must be at least :length characters and contain at least one number.\": \":Attribute 至少为 :length 个字符且至少包含一个数字。\",\n    \"The :attribute must be at least :length characters and contain at least one special character and one number.\": \":Attribute 长度至少 :length 位并且至少必须包含一个特殊字符和一个数字。\",\n    \"The :attribute must be at least :length characters and contain at least one special character.\": \":Attribute 至少为 :length 个字符且至少包含一个特殊字符。\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one number.\": \":Attribute 至少为 :length 个字符且至少包含一个大写字母和一个数字。\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character and one special character.\": \":Attribute 至少为 :length 个字符且至少包含一个大写字母和一个特殊字符。\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character, one number, and one special character.\": \":Attribute 至少为 :length 个字符且至少包含一个大写字母、一个数字和一个特殊字符。\",\n    \"The :attribute must be at least :length characters and contain at least one uppercase character.\": \":Attribute 至少为 :length 个字符且至少包含一个大写字母。\",\n    \"The :attribute must be at least :length characters.\": \":Attribute 至少为 :length 个字符。\",\n    \"The given data was invalid.\": \"给定的数据无效。\",\n    \"The password is incorrect.\": \"密码不正确。\",\n    \"The provided password does not match your current password.\": \"当前密码不正确\",\n    \"The provided password was incorrect.\": \"密码错误\",\n    \"The provided two factor authentication code was invalid.\": \"双因素认证代码错误\",\n    \"The provided two factor recovery code was invalid.\": \"双因素恢复代码无效。\",\n    \"The response is not a streamed response.\": \"该响应不是流式响应。\",\n    \"The response is not a view.\": \"响应不是视图。\",\n    \"The team's name and owner information.\": \"团队名称和拥有者信息。\",\n    \"These people have been invited to your team and have been sent an invitation email. They may join the team by accepting the email invitation.\": \"这些人已被邀请加入您的团队，并已收到一封邀请邮件。他们可以通过接受电子邮件邀请加入团队。\",\n    \"This action is unauthorized.\": \"此操作未经授权。\",\n    \"This device\": \"当前设备\",\n    \"This is a secure area of the application. Please confirm your password before continuing.\": \"请在继续之前确认您的密码。\",\n    \"This password does not match our records.\": \"密码不正确\",\n    \"This password reset link will expire in :count minutes.\": \"这个重设密码链接将会在 :count 分钟后失效。\",\n    \"This user already belongs to the team.\": \"此用户已经在团队中\",\n    \"This user has already been invited to the team.\": \"该用户已经被邀请加入团队。\",\n    \"to\": \"至\",\n    \"To finish enabling two factor authentication, scan the following QR code using your phone's authenticator application or enter the setup key and provide the generated OTP code.\": \"完成启用双因素认证，使用手机的认证应用程序扫描以下二维码，或者输入设置密钥并提供生成的 OTP 密码。\",\n    \"Toggle navigation\": \"切换导航\",\n    \"Token Name\": \"令牌名称\",\n    \"Too Early\": \"太早了\",\n    \"Too Many Requests\": \"请求次数过多。\",\n    \"Translate\": \"翻译\",\n    \"Translate It\": \"翻译它\",\n    \"Two Factor Authentication\": \"双因素认证\",\n    \"Two factor authentication is now enabled. Scan the following QR code using your phone's authenticator application or enter the setup key.\": \"双因素认证已启用。使用手机的认证应用程序扫描以下二维码，或者输入设置密钥。\",\n    \"Unauthorized\": \"未授权\",\n    \"Unavailable For Legal Reasons\": \"法律原因不可用\",\n    \"Unknown\": \"未知\",\n    \"Unknown Error\": \"未知错误\",\n    \"Unpack\": \"打开\",\n    \"Unprocessable Entity\": \"不可处理的实体\",\n    \"Unsubscribe\": \"退订\",\n    \"Unsupported Media Type\": \"不支持的媒体类型\",\n    \"Up\": \"向上\",\n    \"Update\": \"更新\",\n    \"Update :name\": \"更新:name\",\n    \"Update Password\": \"更新密码\",\n    \"Update your account's profile information and email address.\": \"更新您的账户资料和电子邮件地址。\",\n    \"Upgrade Required\": \"需要升级\",\n    \"URI Too Long\": \"URI太长了\",\n    \"Use a recovery code\": \"使用恢复码\",\n    \"Use an authentication code\": \"使用验证码\",\n    \"Use Proxy\": \"使用代理\",\n    \"User\": \"用户\",\n    \"Variant Also Negotiates\": \"变体协商\",\n    \"Verify Email Address\": \"验证 E-mail\",\n    \"View\": \"查看\",\n    \"View :name\": \"查看 :name\",\n    \"We were unable to find a registered user with this email address.\": \"我们无法找到这个电子邮件地址的注册用户。\",\n    \"Web Server is Down\": \"Web服务器已关闭\",\n    \"When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone's Google Authenticator application.\": \"当启用双因素认证时，在认证过程中会提示您输入一个安全的随机令牌。您可以从手机的 Google Authenticator 应用程序中获取此令牌。\",\n    \"Whoops!\": \"哎呀！\",\n    \"Whoops! Something went wrong.\": \"哎呀！出了点问题\",\n    \"Yes\": \"是的\",\n    \"You are receiving this email because we received a password reset request for your account.\": \"您收到此电子邮件是因为我们收到了您帐户的密码重设请求。\",\n    \"You have been invited to join the :team team!\": \"您已被邀请加入「:team」团队!\",\n    \"You have enabled two factor authentication.\": \"您已经启用了双因素认证。\",\n    \"You have not enabled two factor authentication.\": \"您还没有启用双因素认证。\",\n    \"You may accept this invitation by clicking the button below:\": \"您可以点击下面的按钮接受此邀请：\",\n    \"You may delete any of your existing tokens if they are no longer needed.\": \"如果不再需要，您可以删除任何现有的令牌。\",\n    \"You may not delete your personal team.\": \"您不能删除您的个人团队。\",\n    \"You may not leave a team that you created.\": \"您不能离开您创建的团队。\",\n    \"Your email address is unverified.\": \"您的电子邮箱未经验证。\"\n}"
  },
  {
    "path": "resources/markdown/policy.md",
    "content": "# Privacy Policy\n\nEdit this file to define the privacy policy for your application.\n"
  },
  {
    "path": "resources/markdown/terms.md",
    "content": "# Terms of Service\n\nEdit this file to define the terms of service for your application.\n"
  },
  {
    "path": "resources/sass/app.scss",
    "content": ""
  },
  {
    "path": "resources/views/app.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"{{ str_replace('_', '-', app()->getLocale()) }}\">\n    <head>\n        <meta charset=\"utf-8\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n        <title inertia>{{ config('app.name', 'TailAdmin') }}</title>\n\n        <!-- Fonts -->\n        <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap\">\n\n        <!-- Scripts -->\n        @routes\n        @vite(['resources/js/app.js', \"resources/js/Pages/{$page['component']}.vue\"])\n        @inertiaHead\n    </head>\n    <body class=\"font-sans antialiased\">\n        @inertia\n    </body>\n</html>\n"
  },
  {
    "path": "resources/views/emails/team-invitation.blade.php",
    "content": "@component('mail::message')\n{{ __('You have been invited to join the :team team!', ['team' => $invitation->team->name]) }}\n\n@if (Laravel\\Fortify\\Features::enabled(Laravel\\Fortify\\Features::registration()))\n{{ __('If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:') }}\n\n@component('mail::button', ['url' => route('register')])\n{{ __('Create Account') }}\n@endcomponent\n\n{{ __('If you already have an account, you may accept this invitation by clicking the button below:') }}\n\n@else\n{{ __('You may accept this invitation by clicking the button below:') }}\n@endif\n\n\n@component('mail::button', ['url' => $acceptUrl])\n{{ __('Accept Invitation') }}\n@endcomponent\n\n{{ __('If you did not expect to receive an invitation to this team, you may discard this email.') }}\n@endcomponent\n"
  },
  {
    "path": "routes/api.php",
    "content": "<?php\n\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Route;\n\nRoute::get('/user', function (Request $request) {\n    return $request->user();\n})->middleware('auth:sanctum');\n"
  },
  {
    "path": "routes/console.php",
    "content": "<?php\n\nuse Illuminate\\Foundation\\Inspiring;\nuse Illuminate\\Support\\Facades\\Artisan;\n\nArtisan::command('inspire', function () {\n    $this->comment(Inspiring::quote());\n})->purpose('Display an inspiring quote')->hourly();\n"
  },
  {
    "path": "routes/web.php",
    "content": "<?php\n\nuse Illuminate\\Foundation\\Application;\nuse Illuminate\\Support\\Facades\\Route;\nuse Inertia\\Inertia;\nuse Spatie\\Permission\\Models\\Permission;\nuse Spatie\\Permission\\Models\\Role;\n\n\n/**\n * You can register your routes here.\n**/\ninclude base_path('routes/web_modules/index.php');\n\n/* Change Lang */\nRoute::get('lang/{locale}', function ($locale) {\n    // Available languages\n    $availableLangs = [\n        'en' => 'en',\n        'bg' => 'bg',\n        'de' => 'de',\n        'fr' => 'fr',\n        'ru' => 'ru',\n        'tr' => 'tr',\n        'zh' => 'zh',\n    ];\n    if (array_key_exists($locale, $availableLangs)) {\n        session()->put('locale', $locale);\n    }\n    return redirect()->back();\n\n\n})->name('lang');\nRoute::middleware([\n    'auth:sanctum',\n    config('jetstream.auth_session'),\n    'verified',\n])->group(function () {\n    Route::get('/', function () {\n        return Inertia::render('Dashboard', [\n            'canLogin' => Route::has('login'),\n            'canRegister' => Route::has('register'),\n            'laravelVersion' => Application::VERSION,\n            'phpVersion' => PHP_VERSION,\n        ]);\n    })->name('/');\n\n\n    /*They are the required pages for the system, don't delete it*/\n    Route::prefix('settings')->group(function () {\n\n        /*Settings Summary*/\n        Route::get('/', function () {\n            return Inertia::render('Settings/Index', [\n                'users_count' => count(\\App\\Models\\User::all('id')),\n                'roles_count' => count(Role::all()),\n                'permissions_count' => count(Permission::all())\n            ]);\n        })->name('settings');\n\n        /*Get Routes*/\n        Route::get('system', function () {\n            return Inertia::render('Settings/System');\n        })->name('settings-system');\n\n        /*Resource Routes*/\n        Route::resources([\n            'settings-user'=> \\App\\Http\\Controllers\\Settings\\UserController::class,\n            'settings-role' => \\App\\Http\\Controllers\\Settings\\RoleController::class,\n            'settings-permission' => \\App\\Http\\Controllers\\Settings\\PermissionController::class\n        ]);\n\n        /*Search Routes for Resource Routes*/\n        Route::post('settings-user', [\\App\\Http\\Controllers\\Settings\\UserController::class, 'index'])->name('settings-user.search');\n        Route::post('settings-role', [\\App\\Http\\Controllers\\Settings\\RoleController::class, 'index'])->name('settings-role.search');\n        Route::post('settings-permission', [\\App\\Http\\Controllers\\Settings\\PermissionController::class, 'index'])->name('settings-permission.search');\n\n    });\n\n    /*This pages for example, you can delete when you design the your system*/\n    //Example Pages\n    Route::get('login-app', function () {\n        return Inertia::render('Samples/Examples/Login');\n    })->name('login-app');\n    Route::get('login-app-demo', function () {\n        return Inertia::render('Samples/Examples/Auth/Login');\n    })->name('login-app-demo');\n    Route::get('register-app', function () {\n        return Inertia::render('Samples/Examples/Register');\n    })->name('register-app');\n    Route::get('register-app-demo', function () {\n        return Inertia::render('Samples/Examples/Auth/Register');\n    })->name('register-app-demo');;\n    Route::get('forgot-password-app', function () {\n        return Inertia::render('Samples/Examples/ForgotPassword');\n    })->name('forgot-password-app');\n    Route::get('forgot-password-app-demo', function () {\n        return Inertia::render('Samples/Examples/Auth/ForgotPassword');\n    })->name('forgot-password-app-demo');\n    Route::get('lock-app', function () {\n        return Inertia::render('Samples/Examples/Lock');\n    })->name('lock-app');\n    Route::get('lock-app-demo', function () {\n        return Inertia::render('Samples/Examples/Auth/Lock');\n    })->name('lock-app-demo');\n    Route::get('profile', function () {\n        return Inertia::render('Samples/Examples/Profile');\n    })->name('profile');\n    Route::get('pricing', function () {\n        return Inertia::render('Samples/Examples/Pricing');\n    })->name('pricing');\n    Route::get('project-management-app', function () {\n        return Inertia::render('Samples/Examples/ProjectApp');\n    })->name('project-management-app');\n    Route::get('todo-app', function () {\n        return Inertia::render('Samples/Examples/TodoApp');\n    })->name('todo-app');\n    Route::get('email-app', function () {\n        return Inertia::render('Samples/Examples/EmailApp');\n    })->name('email-app');\n    Route::get('chat-app', function () {\n        return Inertia::render('Samples/Examples/ChatApp');\n    })->name('chat-app');\n    //Component Pages\n    Route::get('alert', function () {\n        return Inertia::render('Samples/Components/Alert');\n    })->name('alert');\n    Route::get('avatar', function () {\n        return Inertia::render('Samples/Components/Avatar');\n    })->name('avatar');\n    Route::get('badge', function () {\n        return Inertia::render('Samples/Components/Badge');\n    })->name('badge');\n    Route::get('breadcrumb', function () {\n        return Inertia::render('Samples/Components/Breadcrumb');\n    })->name('breadcrumb');\n    Route::get('button', function () {\n        return Inertia::render('Samples/Components/Button');\n    })->name('button');\n    Route::get('chart', function () {\n        return Inertia::render('Samples/Components/Chart');\n    })->name('chart');\n    Route::get('collapsible', function () {\n        return Inertia::render('Samples/Components/Collapsible');\n    })->name('collapsible');\n    Route::get('content-box', function () {\n        return Inertia::render('Samples/Component/ContentBox');\n    })->name('content-box');\n    Route::get('dropdown', function () {\n        return Inertia::render('Samples/Components/Dropdown');\n    })->name('dropdown');\n    Route::get('list', function () {\n        return Inertia::render('Samples/Components/List');\n    })->name('list');\n    Route::get('loading', function () {\n        return Inertia::render('Samples/Components/Loading');\n    })->name('loading');\n    Route::get('modal', function () {\n        return Inertia::render('Samples/Components/Modal');\n    })->name('modal');\n    Route::get('pagination', function () {\n        return Inertia::render('Samples/Components/Paginate');\n    })->name('pagination');\n    Route::get('progress', function () {\n        return Inertia::render('Samples/Components/Progress');\n    })->name('progress');\n    Route::get('tab', function () {\n        return Inertia::render('Samples/Components/Tab');\n    })->name('tab');\n    Route::get('table', function () {\n        return Inertia::render('Samples/Components/Table', [\n            'users' => \\App\\Models\\User::all()\n        ]);\n    })->name('table');\n    Route::match(['get', 'post'], 'back-end-table', [\\App\\Http\\Controllers\\DemoContentController::class, 'index'])->name('back-end-table');\n\n    Route::resource('product', \\App\\Http\\Controllers\\DemoContentController::class);\n    Route::post('product', [\\App\\Http\\Controllers\\DemoContentController::class, 'index'])->name('product.search');\n\n    /*TODO: Toastr Feature\n    Route::get('toastr',function (){return Inertia::render('Samples/Components/Toastr');})->name('toastr');*/\n    Route::get('tooltip', function () {\n        return Inertia::render('Samples/Components/Tooltip');\n    })->name('tooltip');\n    // Layout Pages\n    Route::get('layout-structure', function () {\n        return Inertia::render('Samples/Layouts/LayoutStructure');\n    })->name('layout-structure');\n    Route::get('layout-grid', function () {\n        return Inertia::render('Samples/Layouts/Grid');\n    })->name('layout-grid');\n    Route::get('layout-statistic-widget', function () {\n        return Inertia::render('Samples/Layouts/StatisticWidget');\n    })->name('layout-statistic-widget');\n    Route::get('test', function () {\n        return Inertia::render('Samples/Test');\n    })->name('test');\n    // Form Pages\n    Route::get('form-structure', function () {\n        return Inertia::render('Samples/FormElements/FormStructure');\n    })->name('form-structure');\n    Route::get('form-input-group', function () {\n        return Inertia::render('Samples/FormElements/InputGroup');\n    })->name('form-input-group');\n    Route::get('form-simple-field', function () {\n        return Inertia::render('Samples/FormElements/SimpleField');\n    })->name('form-simple-field');\n    Route::get('form-repeatable-field', function () {\n        return Inertia::render('Samples/FormElements/RepeatableField');\n    })->name('form-repeatable-field');\n    Route::get('form-date-field', function () {\n        return Inertia::render('Samples/FormElements/DateField');\n    })->name('form-date-field');\n    Route::get('form-select-input', function () {\n        return Inertia::render('Samples/FormElements/SelectInput', [\n            'users' => \\App\\Models\\User::all()\n        ]);\n    })->name('form-select-input');\n    Route::get('form-tag-input', function () {\n        return Inertia::render('Samples/FormElements/TagInput');\n    })->name('form-tag-input');\n    Route::get('form-validation', function () {\n        return Inertia::render('Samples/FormElements/Validation');\n    })->name('form-validation');\n});\n\n\n\n"
  },
  {
    "path": "routes/web_modules/auth/index.php",
    "content": "<?php\n/**\n * You can register your routes here.\n **/\n\nuse Illuminate\\Support\\Facades\\Route;\nuse Inertia\\Inertia;\n\nRoute::get('terms', function () {\n    return Inertia::render('TermsOfService');\n})->name('terms.show');\n\nRoute::get('privacy-policy', function () {\n    return Inertia::render('PrivacyPolicy');\n})->name('privacy-policy.show');\n"
  },
  {
    "path": "routes/web_modules/index.php",
    "content": "<?php\n\n/**\n * You can register your routes here.\n**/\n\ninclude base_path('routes/web_modules/user/index.php');\ninclude base_path('routes/web_modules/auth/index.php');\n"
  },
  {
    "path": "routes/web_modules/user/index.php",
    "content": "<?php\n/**\n * You can register your routes here.\n **/\n\nuse Illuminate\\Support\\Facades\\Route;\n\nRoute::middleware([\n    'auth:sanctum',\n    config('jetstream.auth_session'),\n    'verified',\n])->prefix('user/')->name('user.')->group([\n    base_path('routes/web_modules/user/preferences_routes.php')\n]);\n"
  },
  {
    "path": "routes/web_modules/user/preferences_routes.php",
    "content": "<?php\n\nuse App\\Actions\\TailAdmin\\UpdateDarkModePreference;\nuse App\\Actions\\TailAdmin\\UpdateUserLanguage;\nuse Illuminate\\Support\\Facades\\Route;\n\nRoute::put('preferred-language', [UpdateUserLanguage::class, 'update'])->name('preferred-language.update');\nRoute::put('dark-mode', [UpdateDarkModePreference::class, 'update'])->name('dark-mode-preference.update');\n"
  },
  {
    "path": "storage/app/.gitignore",
    "content": "*\n!private/\n!public/\n!.gitignore\n"
  },
  {
    "path": "storage/debugbar/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/.gitignore",
    "content": "compiled.php\nconfig.php\ndown\nevents.scanned.php\nmaintenance.php\nroutes.php\nroutes.scanned.php\nschedule-*\nservices.json\n"
  },
  {
    "path": "storage/framework/cache/.gitignore",
    "content": "*\n!data/\n!.gitignore\n"
  },
  {
    "path": "storage/framework/data/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/sessions/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/testing/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/views/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/logs/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "tailwind.config.js",
    "content": "import defaultTheme from 'tailwindcss/defaultTheme';\nimport forms from '@tailwindcss/forms';\nimport typography from '@tailwindcss/typography';\nimport scrollbar from \"tailwind-scrollbar\"\n\n/** @type {import('tailwindcss').Config} */\nexport default {\n    darkMode: 'selector',\n\n    content: [\n        './vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php',\n        './vendor/laravel/jetstream/**/*.blade.php',\n        './storage/framework/views/*.php',\n        './resources/views/**/*.blade.php',\n        './resources/js/**/*.{js,ts,json,vue}',\n    ],\n\n    theme: {\n        extend: {\n            fontFamily: {\n                sans: ['Nunito', ...defaultTheme.fontFamily.sans],\n            },\n            fontSize: {\n                '2xs': '.65rem',\n            },\n        },\n    },\n\n    variants: {\n        extend: {\n            /*opacity: ['disabled'],\n            scale: ['active'],\n            textColor: ['hover', 'active'],\n            backgroundColor: ['active','odd','even'],\n            fontWeight: ['hover', 'active', 'focus'],\n            borderWidth: ['first', 'last', 'hover'],\n            borderRadius: ['first', 'last'],\n            boxShadow: ['dark'],\n            padding: ['focus', 'hover'],\n            zIndex: ['hover'],\n            brightness: ['hover', 'focus']*/\n        },\n        scrollbar: ['dark']\n    },\n\n    plugins: [forms, typography, scrollbar],\n};\n"
  },
  {
    "path": "tests/Feature/ApiTokenPermissionsTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Illuminate\\Support\\Str;\nuse Laravel\\Jetstream\\Features;\n\ntest('api token permissions can be updated', function () {\n    if (Features::hasTeamFeatures()) {\n        $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n    } else {\n        $this->actingAs($user = User::factory()->create());\n    }\n\n    $token = $user->tokens()->create([\n        'name' => 'Test Token',\n        'token' => Str::random(40),\n        'abilities' => ['create', 'read'],\n    ]);\n\n    $this->put('/user/api-tokens/'.$token->id, [\n        'name' => $token->name,\n        'permissions' => [\n            'delete',\n            'missing-permission',\n        ],\n    ]);\n\n    expect($user->fresh()->tokens->first())\n        ->can('delete')->toBeTrue()\n        ->can('read')->toBeFalse()\n        ->can('missing-permission')->toBeFalse();\n})->skip(function () {\n    return ! Features::hasApiFeatures();\n}, 'API support is not enabled.');\n"
  },
  {
    "path": "tests/Feature/AuthenticationTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\n\ntest('login screen can be rendered', function () {\n    $response = $this->get('/login');\n\n    $response->assertStatus(200);\n});\n\ntest('users can authenticate using the login screen', function () {\n    $user = User::factory()->create();\n\n    $response = $this->post('/login', [\n        'email' => $user->email,\n        'password' => 'password',\n    ]);\n\n    $this->assertAuthenticated();\n    $response->assertRedirect(route('dashboard', absolute: false));\n});\n\ntest('users cannot authenticate with invalid password', function () {\n    $user = User::factory()->create();\n\n    $this->post('/login', [\n        'email' => $user->email,\n        'password' => 'wrong-password',\n    ]);\n\n    $this->assertGuest();\n});\n"
  },
  {
    "path": "tests/Feature/BrowserSessionsTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\n\ntest('other browser sessions can be logged out', function () {\n    $this->actingAs(User::factory()->create());\n\n    $response = $this->delete('/user/other-browser-sessions', [\n        'password' => 'password',\n    ]);\n\n    $response->assertSessionHasNoErrors();\n});\n"
  },
  {
    "path": "tests/Feature/CreateApiTokenTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Laravel\\Jetstream\\Features;\n\ntest('api tokens can be created', function () {\n    if (Features::hasTeamFeatures()) {\n        $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n    } else {\n        $this->actingAs($user = User::factory()->create());\n    }\n\n    $this->post('/user/api-tokens', [\n        'name' => 'Test Token',\n        'permissions' => [\n            'read',\n            'update',\n        ],\n    ]);\n\n    expect($user->fresh()->tokens)->toHaveCount(1);\n    expect($user->fresh()->tokens->first())\n        ->name->toEqual('Test Token')\n        ->can('read')->toBeTrue()\n        ->can('delete')->toBeFalse();\n})->skip(function () {\n    return ! Features::hasApiFeatures();\n}, 'API support is not enabled.');\n"
  },
  {
    "path": "tests/Feature/CreateTeamTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\n\ntest('teams can be created', function () {\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $this->post('/teams', [\n        'name' => 'Test Team',\n    ]);\n\n    expect($user->fresh()->ownedTeams)->toHaveCount(2);\n    expect($user->fresh()->ownedTeams()->latest('id')->first()->name)->toEqual('Test Team');\n});\n"
  },
  {
    "path": "tests/Feature/DeleteAccountTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Laravel\\Jetstream\\Features;\n\ntest('user accounts can be deleted', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $this->delete('/user', [\n        'password' => 'password',\n    ]);\n\n    expect($user->fresh())->toBeNull();\n})->skip(function () {\n    return ! Features::hasAccountDeletionFeatures();\n}, 'Account deletion is not enabled.');\n\ntest('correct password must be provided before account can be deleted', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $this->delete('/user', [\n        'password' => 'wrong-password',\n    ]);\n\n    expect($user->fresh())->not->toBeNull();\n})->skip(function () {\n    return ! Features::hasAccountDeletionFeatures();\n}, 'Account deletion is not enabled.');\n"
  },
  {
    "path": "tests/Feature/DeleteApiTokenTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Illuminate\\Support\\Str;\nuse Laravel\\Jetstream\\Features;\n\ntest('api tokens can be deleted', function () {\n    if (Features::hasTeamFeatures()) {\n        $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n    } else {\n        $this->actingAs($user = User::factory()->create());\n    }\n\n    $token = $user->tokens()->create([\n        'name' => 'Test Token',\n        'token' => Str::random(40),\n        'abilities' => ['create', 'read'],\n    ]);\n\n    $this->delete('/user/api-tokens/'.$token->id);\n\n    expect($user->fresh()->tokens)->toHaveCount(0);\n})->skip(function () {\n    return ! Features::hasApiFeatures();\n}, 'API support is not enabled.');\n"
  },
  {
    "path": "tests/Feature/DeleteTeamTest.php",
    "content": "<?php\n\nuse App\\Models\\Team;\nuse App\\Models\\User;\n\ntest('teams can be deleted', function () {\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $user->ownedTeams()->save($team = Team::factory()->make([\n        'personal_team' => false,\n    ]));\n\n    $team->users()->attach(\n        $otherUser = User::factory()->create(), ['role' => 'test-role']\n    );\n\n    $this->delete('/teams/'.$team->id);\n\n    expect($team->fresh())->toBeNull();\n    expect($otherUser->fresh()->teams)->toHaveCount(0);\n});\n\ntest('personal teams cant be deleted', function () {\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $this->delete('/teams/'.$user->currentTeam->id);\n\n    expect($user->currentTeam->fresh())->not->toBeNull();\n});\n"
  },
  {
    "path": "tests/Feature/EmailVerificationTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Illuminate\\Auth\\Events\\Verified;\nuse Illuminate\\Support\\Facades\\Event;\nuse Illuminate\\Support\\Facades\\URL;\nuse Laravel\\Fortify\\Features;\n\ntest('email verification screen can be rendered', function () {\n    $user = User::factory()->withPersonalTeam()->create([\n        'email_verified_at' => null,\n    ]);\n\n    $response = $this->actingAs($user)->get('/email/verify');\n\n    $response->assertStatus(200);\n})->skip(function () {\n    return ! Features::enabled(Features::emailVerification());\n}, 'Email verification not enabled.');\n\ntest('email can be verified', function () {\n    Event::fake(Verified::class);\n\n    $user = User::factory()->create([\n        'email_verified_at' => null,\n    ]);\n\n    $verificationUrl = URL::temporarySignedRoute(\n        'verification.verify',\n        now()->addMinutes(60),\n        ['id' => $user->id, 'hash' => sha1($user->email)]\n    );\n\n    $response = $this->actingAs($user)->get($verificationUrl);\n\n    Event::assertDispatched(Verified::class);\n\n    expect($user->fresh()->hasVerifiedEmail())->toBeTrue();\n    $response->assertRedirect(route('dashboard', absolute: false).'?verified=1');\n})->skip(function () {\n    return ! Features::enabled(Features::emailVerification());\n}, 'Email verification not enabled.');\n\ntest('email can not verified with invalid hash', function () {\n    $user = User::factory()->create([\n        'email_verified_at' => null,\n    ]);\n\n    $verificationUrl = URL::temporarySignedRoute(\n        'verification.verify',\n        now()->addMinutes(60),\n        ['id' => $user->id, 'hash' => sha1('wrong-email')]\n    );\n\n    $this->actingAs($user)->get($verificationUrl);\n\n    expect($user->fresh()->hasVerifiedEmail())->toBeFalse();\n})->skip(function () {\n    return ! Features::enabled(Features::emailVerification());\n}, 'Email verification not enabled.');\n"
  },
  {
    "path": "tests/Feature/ExampleTest.php",
    "content": "<?php\n\nit('returns a successful response', function () {\n    $response = $this->get('/');\n\n    $response->assertStatus(200);\n});\n"
  },
  {
    "path": "tests/Feature/InviteTeamMemberTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Laravel\\Jetstream\\Features;\nuse Laravel\\Jetstream\\Mail\\TeamInvitation;\n\ntest('team members can be invited to team', function () {\n    Mail::fake();\n\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $this->post('/teams/'.$user->currentTeam->id.'/members', [\n        'email' => 'test@example.com',\n        'role' => 'admin',\n    ]);\n\n    Mail::assertSent(TeamInvitation::class);\n\n    expect($user->currentTeam->fresh()->teamInvitations)->toHaveCount(1);\n})->skip(function () {\n    return ! Features::sendsTeamInvitations();\n}, 'Team invitations not enabled.');\n\ntest('team member invitations can be cancelled', function () {\n    Mail::fake();\n\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $invitation = $user->currentTeam->teamInvitations()->create([\n        'email' => 'test@example.com',\n        'role' => 'admin',\n    ]);\n\n    $this->delete('/team-invitations/'.$invitation->id);\n\n    expect($user->currentTeam->fresh()->teamInvitations)->toHaveCount(0);\n})->skip(function () {\n    return ! Features::sendsTeamInvitations();\n}, 'Team invitations not enabled.');\n"
  },
  {
    "path": "tests/Feature/LeaveTeamTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\n\ntest('users can leave teams', function () {\n    $user = User::factory()->withPersonalTeam()->create();\n\n    $user->currentTeam->users()->attach(\n        $otherUser = User::factory()->create(), ['role' => 'admin']\n    );\n\n    $this->actingAs($otherUser);\n\n    $this->delete('/teams/'.$user->currentTeam->id.'/members/'.$otherUser->id);\n\n    expect($user->currentTeam->fresh()->users)->toHaveCount(0);\n});\n\ntest('team owners cant leave their own team', function () {\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $response = $this->delete('/teams/'.$user->currentTeam->id.'/members/'.$user->id);\n\n    $response->assertSessionHasErrorsIn('removeTeamMember', ['team']);\n\n    expect($user->currentTeam->fresh())->not->toBeNull();\n});\n"
  },
  {
    "path": "tests/Feature/PasswordConfirmationTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Laravel\\Jetstream\\Features;\n\ntest('confirm password screen can be rendered', function () {\n    $user = Features::hasTeamFeatures()\n                    ? User::factory()->withPersonalTeam()->create()\n                    : User::factory()->create();\n\n    $response = $this->actingAs($user)->get('/user/confirm-password');\n\n    $response->assertStatus(200);\n});\n\ntest('password can be confirmed', function () {\n    $user = User::factory()->create();\n\n    $response = $this->actingAs($user)->post('/user/confirm-password', [\n        'password' => 'password',\n    ]);\n\n    $response->assertRedirect();\n    $response->assertSessionHasNoErrors();\n});\n\ntest('password is not confirmed with invalid password', function () {\n    $user = User::factory()->create();\n\n    $response = $this->actingAs($user)->post('/user/confirm-password', [\n        'password' => 'wrong-password',\n    ]);\n\n    $response->assertSessionHasErrors();\n});\n"
  },
  {
    "path": "tests/Feature/PasswordResetTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Illuminate\\Auth\\Notifications\\ResetPassword;\nuse Illuminate\\Support\\Facades\\Notification;\nuse Laravel\\Fortify\\Features;\n\ntest('reset password link screen can be rendered', function () {\n    $response = $this->get('/forgot-password');\n\n    $response->assertStatus(200);\n})->skip(function () {\n    return ! Features::enabled(Features::resetPasswords());\n}, 'Password updates are not enabled.');\n\ntest('reset password link can be requested', function () {\n    Notification::fake();\n\n    $user = User::factory()->create();\n\n    $response = $this->post('/forgot-password', [\n        'email' => $user->email,\n    ]);\n\n    Notification::assertSentTo($user, ResetPassword::class);\n})->skip(function () {\n    return ! Features::enabled(Features::resetPasswords());\n}, 'Password updates are not enabled.');\n\ntest('reset password screen can be rendered', function () {\n    Notification::fake();\n\n    $user = User::factory()->create();\n\n    $response = $this->post('/forgot-password', [\n        'email' => $user->email,\n    ]);\n\n    Notification::assertSentTo($user, ResetPassword::class, function (object $notification) {\n        $response = $this->get('/reset-password/'.$notification->token);\n\n        $response->assertStatus(200);\n\n        return true;\n    });\n})->skip(function () {\n    return ! Features::enabled(Features::resetPasswords());\n}, 'Password updates are not enabled.');\n\ntest('password can be reset with valid token', function () {\n    Notification::fake();\n\n    $user = User::factory()->create();\n\n    $response = $this->post('/forgot-password', [\n        'email' => $user->email,\n    ]);\n\n    Notification::assertSentTo($user, ResetPassword::class, function (object $notification) use ($user) {\n        $response = $this->post('/reset-password', [\n            'token' => $notification->token,\n            'email' => $user->email,\n            'password' => 'password',\n            'password_confirmation' => 'password',\n        ]);\n\n        $response->assertSessionHasNoErrors();\n\n        return true;\n    });\n})->skip(function () {\n    return ! Features::enabled(Features::resetPasswords());\n}, 'Password updates are not enabled.');\n"
  },
  {
    "path": "tests/Feature/ProfileInformationTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\n\ntest('profile information can be updated', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $this->put('/user/profile-information', [\n        'name' => 'Test Name',\n        'email' => 'test@example.com',\n    ]);\n\n    expect($user->fresh())\n        ->name->toEqual('Test Name')\n        ->email->toEqual('test@example.com');\n});\n"
  },
  {
    "path": "tests/Feature/RegistrationTest.php",
    "content": "<?php\n\nuse Laravel\\Fortify\\Features;\nuse Laravel\\Jetstream\\Jetstream;\n\ntest('registration screen can be rendered', function () {\n    $response = $this->get('/register');\n\n    $response->assertStatus(200);\n})->skip(function () {\n    return ! Features::enabled(Features::registration());\n}, 'Registration support is not enabled.');\n\ntest('registration screen cannot be rendered if support is disabled', function () {\n    $response = $this->get('/register');\n\n    $response->assertStatus(404);\n})->skip(function () {\n    return Features::enabled(Features::registration());\n}, 'Registration support is enabled.');\n\ntest('new users can register', function () {\n    $response = $this->post('/register', [\n        'name' => 'Test User',\n        'email' => 'test@example.com',\n        'password' => 'password',\n        'password_confirmation' => 'password',\n        'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature(),\n    ]);\n\n    $this->assertAuthenticated();\n    $response->assertRedirect(route('dashboard', absolute: false));\n})->skip(function () {\n    return ! Features::enabled(Features::registration());\n}, 'Registration support is not enabled.');\n"
  },
  {
    "path": "tests/Feature/RemoveTeamMemberTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\n\ntest('team members can be removed from teams', function () {\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $user->currentTeam->users()->attach(\n        $otherUser = User::factory()->create(), ['role' => 'admin']\n    );\n\n    $this->delete('/teams/'.$user->currentTeam->id.'/members/'.$otherUser->id);\n\n    expect($user->currentTeam->fresh()->users)->toHaveCount(0);\n});\n\ntest('only team owner can remove team members', function () {\n    $user = User::factory()->withPersonalTeam()->create();\n\n    $user->currentTeam->users()->attach(\n        $otherUser = User::factory()->create(), ['role' => 'admin']\n    );\n\n    $this->actingAs($otherUser);\n\n    $response = $this->delete('/teams/'.$user->currentTeam->id.'/members/'.$user->id);\n\n    $response->assertStatus(403);\n});\n"
  },
  {
    "path": "tests/Feature/TwoFactorAuthenticationSettingsTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Laravel\\Fortify\\Features;\n\ntest('two factor authentication can be enabled', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $this->withSession(['auth.password_confirmed_at' => time()]);\n\n    $this->post('/user/two-factor-authentication');\n\n    expect($user->fresh()->two_factor_secret)->not->toBeNull();\n    expect($user->fresh()->recoveryCodes())->toHaveCount(8);\n})->skip(function () {\n    return ! Features::canManageTwoFactorAuthentication();\n}, 'Two factor authentication is not enabled.');\n\ntest('recovery codes can be regenerated', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $this->withSession(['auth.password_confirmed_at' => time()]);\n\n    $this->post('/user/two-factor-authentication');\n    $this->post('/user/two-factor-recovery-codes');\n\n    $user = $user->fresh();\n\n    $this->post('/user/two-factor-recovery-codes');\n\n    expect($user->recoveryCodes())->toHaveCount(8);\n    expect(array_diff($user->recoveryCodes(), $user->fresh()->recoveryCodes()))->toHaveCount(8);\n})->skip(function () {\n    return ! Features::canManageTwoFactorAuthentication();\n}, 'Two factor authentication is not enabled.');\n\ntest('two factor authentication can be disabled', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $this->withSession(['auth.password_confirmed_at' => time()]);\n\n    $this->post('/user/two-factor-authentication');\n\n    $this->assertNotNull($user->fresh()->two_factor_secret);\n\n    $this->delete('/user/two-factor-authentication');\n\n    expect($user->fresh()->two_factor_secret)->toBeNull();\n})->skip(function () {\n    return ! Features::canManageTwoFactorAuthentication();\n}, 'Two factor authentication is not enabled.');\n"
  },
  {
    "path": "tests/Feature/UpdatePasswordTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\Hash;\n\ntest('password can be updated', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $this->put('/user/password', [\n        'current_password' => 'password',\n        'password' => 'new-password',\n        'password_confirmation' => 'new-password',\n    ]);\n\n    expect(Hash::check('new-password', $user->fresh()->password))->toBeTrue();\n});\n\ntest('current password must be correct', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $response = $this->put('/user/password', [\n        'current_password' => 'wrong-password',\n        'password' => 'new-password',\n        'password_confirmation' => 'new-password',\n    ]);\n\n    $response->assertSessionHasErrors();\n\n    expect(Hash::check('password', $user->fresh()->password))->toBeTrue();\n});\n\ntest('new passwords must match', function () {\n    $this->actingAs($user = User::factory()->create());\n\n    $response = $this->put('/user/password', [\n        'current_password' => 'password',\n        'password' => 'new-password',\n        'password_confirmation' => 'wrong-password',\n    ]);\n\n    $response->assertSessionHasErrors();\n\n    expect(Hash::check('password', $user->fresh()->password))->toBeTrue();\n});\n"
  },
  {
    "path": "tests/Feature/UpdateTeamMemberRoleTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\n\ntest('team member roles can be updated', function () {\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $user->currentTeam->users()->attach(\n        $otherUser = User::factory()->create(), ['role' => 'admin']\n    );\n\n    $this->put('/teams/'.$user->currentTeam->id.'/members/'.$otherUser->id, [\n        'role' => 'editor',\n    ]);\n\n    expect($otherUser->fresh()->hasTeamRole(\n        $user->currentTeam->fresh(), 'editor'\n    ))->toBeTrue();\n});\n\ntest('only team owner can update team member roles', function () {\n    $user = User::factory()->withPersonalTeam()->create();\n\n    $user->currentTeam->users()->attach(\n        $otherUser = User::factory()->create(), ['role' => 'admin']\n    );\n\n    $this->actingAs($otherUser);\n\n    $this->put('/teams/'.$user->currentTeam->id.'/members/'.$otherUser->id, [\n        'role' => 'editor',\n    ]);\n\n    expect($otherUser->fresh()->hasTeamRole(\n        $user->currentTeam->fresh(), 'admin'\n    ))->toBeTrue();\n});\n"
  },
  {
    "path": "tests/Feature/UpdateTeamNameTest.php",
    "content": "<?php\n\nuse App\\Models\\User;\n\ntest('team names can be updated', function () {\n    $this->actingAs($user = User::factory()->withPersonalTeam()->create());\n\n    $this->put('/teams/'.$user->currentTeam->id, [\n        'name' => 'Test Team',\n    ]);\n\n    expect($user->fresh()->ownedTeams)->toHaveCount(1);\n    expect($user->currentTeam->fresh()->name)->toEqual('Test Team');\n});\n"
  },
  {
    "path": "tests/Pest.php",
    "content": "<?php\n\nuse Illuminate\\Foundation\\Testing\\RefreshDatabase;\nuse Tests\\TestCase;\n\n/*\n|--------------------------------------------------------------------------\n| Test Case\n|--------------------------------------------------------------------------\n|\n| The closure you provide to your test functions is always bound to a specific PHPUnit test\n| case class. By default, that class is \"PHPUnit\\Framework\\TestCase\". Of course, you may\n| need to change it using the \"uses()\" function to bind a different classes or traits.\n|\n*/\n\nuses(TestCase::class, RefreshDatabase::class)->in('Feature');\n\n/*\n|--------------------------------------------------------------------------\n| Expectations\n|--------------------------------------------------------------------------\n|\n| When you're writing tests, you often need to check that values meet certain conditions. The\n| \"expect()\" function gives you access to a set of \"expectations\" methods that you can use\n| to assert different things. Of course, you may extend the Expectation API at any time.\n|\n*/\n\nexpect()->extend('toBeOne', function () {\n    return $this->toBe(1);\n});\n\n/*\n|--------------------------------------------------------------------------\n| Functions\n|--------------------------------------------------------------------------\n|\n| While Pest is very powerful out-of-the-box, you may have some testing code specific to your\n| project that you don't want to repeat in every file. Here you can also expose helpers as\n| global functions to help you to reduce the number of lines of code in your test files.\n|\n*/\n\nfunction something()\n{\n    // ..\n}\n"
  },
  {
    "path": "tests/TestCase.php",
    "content": "<?php\n\nnamespace Tests;\n\nuse Illuminate\\Foundation\\Testing\\TestCase as BaseTestCase;\n\nabstract class TestCase extends BaseTestCase\n{\n    //\n}\n"
  },
  {
    "path": "tests/Unit/ExampleTest.php",
    "content": "<?php\n\ntest('that true is true', function () {\n    expect(true)->toBeTrue();\n});\n"
  },
  {
    "path": "vite.config.js",
    "content": "import { defineConfig } from 'vite';\nimport laravel from 'laravel-vite-plugin';\nimport vue from '@vitejs/plugin-vue';\n\nexport default defineConfig({\n    plugins: [\n        laravel({\n            input: 'resources/js/app.js',\n            ssr: 'resources/js/ssr.js',\n            refresh: true,\n        }),\n        vue({\n            template: {\n                transformAssetUrls: {\n                    base: null,\n                    includeAbsolute: false,\n                },\n            },\n        }),\n    ],\n});\n"
  }
]