├── .editorconfig ├── .env ├── .env.example ├── .eslintignore ├── .eslintrc.json ├── .gitattributes ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── .vscode ├── extensions.json └── settings.json ├── LICENSE ├── README.md ├── app ├── Http │ └── Controllers │ │ ├── Controller.php │ │ ├── authentications │ │ ├── ForgotPasswordBasic.php │ │ ├── LoginBasic.php │ │ └── RegisterBasic.php │ │ ├── cards │ │ └── CardBasic.php │ │ ├── dashboard │ │ └── Analytics.php │ │ ├── extended_ui │ │ ├── PerfectScrollbar.php │ │ └── TextDivider.php │ │ ├── form_elements │ │ ├── BasicInput.php │ │ └── InputGroups.php │ │ ├── form_layouts │ │ ├── HorizontalForm.php │ │ └── VerticalForm.php │ │ ├── icons │ │ └── Boxicons.php │ │ ├── layouts │ │ ├── Blank.php │ │ ├── Container.php │ │ ├── Fluid.php │ │ ├── WithoutMenu.php │ │ └── WithoutNavbar.php │ │ ├── pages │ │ ├── AccountSettingsAccount.php │ │ ├── AccountSettingsConnections.php │ │ ├── AccountSettingsNotifications.php │ │ ├── MiscError.php │ │ └── MiscUnderMaintenance.php │ │ ├── tables │ │ └── Basic.php │ │ └── user_interface │ │ ├── Accordion.php │ │ ├── Alerts.php │ │ ├── Badges.php │ │ ├── Buttons.php │ │ ├── Carousel.php │ │ ├── Collapse.php │ │ ├── Dropdowns.php │ │ ├── Footer.php │ │ ├── ListGroups.php │ │ ├── Modals.php │ │ ├── Navbar.php │ │ ├── Offcanvas.php │ │ ├── PaginationBreadcrumbs.php │ │ ├── Progress.php │ │ ├── Spinners.php │ │ ├── TabsPills.php │ │ ├── Toasts.php │ │ ├── TooltipsPopovers.php │ │ └── Typography.php ├── Models │ └── User.php └── Providers │ ├── AppServiceProvider.php │ └── MenuServiceProvider.php ├── artisan ├── bootstrap ├── app.php ├── cache │ └── .gitignore └── providers.php ├── composer.json ├── composer.lock ├── config ├── app.php ├── auth.php ├── cache.php ├── database.php ├── filesystems.php ├── logging.php ├── mail.php ├── queue.php ├── services.php ├── session.php └── variables.php ├── database ├── .gitignore ├── factories │ └── UserFactory.php ├── migrations │ ├── 0001_01_01_000000_create_users_table.php │ ├── 0001_01_01_000001_create_cache_table.php │ └── 0001_01_01_000002_create_jobs_table.php └── seeders │ └── DatabaseSeeder.php ├── documentation.html ├── hire-us.html ├── package.json ├── phpunit.xml ├── public ├── .htaccess ├── assets │ └── img │ │ ├── avatars │ │ ├── 1.png │ │ ├── 5.png │ │ ├── 6.png │ │ └── 7.png │ │ ├── backgrounds │ │ └── 18.jpg │ │ ├── elements │ │ ├── 1.jpg │ │ ├── 11.jpg │ │ ├── 12.jpg │ │ ├── 13.jpg │ │ ├── 17.jpg │ │ ├── 18.jpg │ │ ├── 19.jpg │ │ ├── 2.jpg │ │ ├── 20.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ └── 7.jpg │ │ ├── favicon │ │ └── favicon.ico │ │ ├── icons │ │ ├── brands │ │ │ ├── asana.png │ │ │ ├── behance.png │ │ │ ├── dribbble.png │ │ │ ├── facebook.png │ │ │ ├── github.png │ │ │ ├── google.png │ │ │ ├── instagram.png │ │ │ ├── mailchimp.png │ │ │ ├── slack.png │ │ │ └── twitter.png │ │ └── unicons │ │ │ ├── cc-primary.png │ │ │ ├── cc-warning.png │ │ │ ├── chart-success.png │ │ │ ├── chart.png │ │ │ ├── paypal.png │ │ │ ├── wallet-info.png │ │ │ └── wallet.png │ │ ├── illustrations │ │ ├── girl-doing-yoga-light.png │ │ ├── man-with-laptop.png │ │ └── page-misc-error-light.png │ │ └── layouts │ │ ├── layout-container-light.png │ │ ├── layout-fluid-light.png │ │ ├── layout-without-menu-light.png │ │ └── layout-without-navbar-light.png ├── favicon.ico ├── index.php └── robots.txt ├── resources ├── assets │ ├── css │ │ └── demo.css │ ├── js │ │ ├── config.js │ │ ├── dashboards-analytics.js │ │ ├── extended-ui-perfect-scrollbar.js │ │ ├── form-basic-inputs.js │ │ ├── main.js │ │ ├── pages-account-settings-account.js │ │ ├── ui-modals.js │ │ ├── ui-popover.js │ │ └── ui-toasts.js │ └── vendor │ │ ├── fonts │ │ ├── boxicons.scss │ │ └── boxicons │ │ │ ├── boxicons.eot │ │ │ ├── boxicons.svg │ │ │ ├── boxicons.ttf │ │ │ ├── boxicons.woff │ │ │ └── boxicons.woff2 │ │ ├── js │ │ ├── bootstrap.js │ │ ├── helpers.js │ │ └── menu.js │ │ ├── libs │ │ ├── apex-charts │ │ │ ├── apex-charts.scss │ │ │ └── apexcharts.js │ │ ├── highlight │ │ │ ├── highlight-github.scss │ │ │ ├── highlight.js │ │ │ └── highlight.scss │ │ ├── jquery │ │ │ └── jquery.js │ │ ├── masonry │ │ │ └── masonry.js │ │ ├── perfect-scrollbar │ │ │ ├── perfect-scrollbar.js │ │ │ └── perfect-scrollbar.scss │ │ └── popper │ │ │ └── popper.js │ │ └── scss │ │ ├── _bootstrap-extended.scss │ │ ├── _bootstrap-extended │ │ ├── _accordion.scss │ │ ├── _alert.scss │ │ ├── _badge.scss │ │ ├── _breadcrumb.scss │ │ ├── _button-group.scss │ │ ├── _buttons.scss │ │ ├── _card.scss │ │ ├── _carousel.scss │ │ ├── _close.scss │ │ ├── _dropdown.scss │ │ ├── _forms.scss │ │ ├── _functions.scss │ │ ├── _include.scss │ │ ├── _list-group.scss │ │ ├── _mixins.scss │ │ ├── _modal.scss │ │ ├── _nav.scss │ │ ├── _navbar.scss │ │ ├── _offcanvas.scss │ │ ├── _pagination.scss │ │ ├── _popover.scss │ │ ├── _progress.scss │ │ ├── _reboot.scss │ │ ├── _root.scss │ │ ├── _spinners.scss │ │ ├── _tables.scss │ │ ├── _toasts.scss │ │ ├── _tooltip.scss │ │ ├── _type.scss │ │ ├── _utilities-ltr.scss │ │ ├── _utilities.scss │ │ ├── _variables.scss │ │ ├── forms │ │ │ ├── _floating-labels.scss │ │ │ ├── _form-check.scss │ │ │ ├── _form-control.scss │ │ │ ├── _form-range.scss │ │ │ ├── _form-select.scss │ │ │ ├── _input-group.scss │ │ │ ├── _labels.scss │ │ │ └── _validation.scss │ │ └── mixins │ │ │ ├── _alert.scss │ │ │ ├── _badge.scss │ │ │ ├── _buttons.scss │ │ │ ├── _caret.scss │ │ │ ├── _dropdown.scss │ │ │ ├── _forms.scss │ │ │ ├── _list-group.scss │ │ │ ├── _misc.scss │ │ │ ├── _navs.scss │ │ │ ├── _pagination.scss │ │ │ ├── _progress.scss │ │ │ ├── _table-variants.scss │ │ │ └── _toasts.scss │ │ ├── _bootstrap.scss │ │ ├── _colors.scss │ │ ├── _components.scss │ │ ├── _components │ │ ├── _app-brand.scss │ │ ├── _avatar.scss │ │ ├── _base.scss │ │ ├── _common.scss │ │ ├── _footer.scss │ │ ├── _include.scss │ │ ├── _layout.scss │ │ ├── _menu.scss │ │ ├── _mixins.scss │ │ ├── _text-divider.scss │ │ ├── _variables.scss │ │ └── mixins │ │ │ ├── _app-brand.scss │ │ │ ├── _avatar.scss │ │ │ ├── _footer.scss │ │ │ ├── _menu.scss │ │ │ ├── _misc.scss │ │ │ ├── _navbar.scss │ │ │ └── _text-divider.scss │ │ ├── _custom-variables │ │ ├── _bootstrap-extended.scss │ │ ├── _components.scss │ │ ├── _libs.scss │ │ ├── _pages.scss │ │ └── _support.scss │ │ ├── _theme │ │ ├── _common.scss │ │ └── _theme.scss │ │ ├── core.scss │ │ ├── pages │ │ ├── page-account-settings.scss │ │ ├── page-auth.scss │ │ ├── page-icons.scss │ │ └── page-misc.scss │ │ └── theme-default.scss ├── css │ └── app.css ├── js │ ├── app.js │ └── bootstrap.js ├── menu │ └── verticalMenu.json └── views │ ├── _partials │ └── macros.blade.php │ ├── content │ ├── authentications │ │ ├── auth-forgot-password-basic.blade.php │ │ ├── auth-login-basic.blade.php │ │ └── auth-register-basic.blade.php │ ├── cards │ │ └── cards-basic.blade.php │ ├── dashboard │ │ └── dashboards-analytics.blade.php │ ├── extended-ui │ │ ├── extended-ui-perfect-scrollbar.blade.php │ │ └── extended-ui-text-divider.blade.php │ ├── form-elements │ │ ├── forms-basic-inputs.blade.php │ │ └── forms-input-groups.blade.php │ ├── form-layout │ │ ├── form-layouts-horizontal.blade.php │ │ └── form-layouts-vertical.blade.php │ ├── icons │ │ └── icons-boxicons.blade.php │ ├── layouts-example │ │ ├── layouts-blank.blade.php │ │ ├── layouts-container.blade.php │ │ ├── layouts-fluid.blade.php │ │ ├── layouts-without-menu.blade.php │ │ └── layouts-without-navbar.blade.php │ ├── pages │ │ ├── pages-account-settings-account.blade.php │ │ ├── pages-account-settings-connections.blade.php │ │ ├── pages-account-settings-notifications.blade.php │ │ ├── pages-misc-error.blade.php │ │ └── pages-misc-under-maintenance.blade.php │ ├── tables │ │ └── tables-basic.blade.php │ └── user-interface │ │ ├── ui-accordion.blade.php │ │ ├── ui-alerts.blade.php │ │ ├── ui-badges.blade.php │ │ ├── ui-buttons.blade.php │ │ ├── ui-carousel.blade.php │ │ ├── ui-collapse.blade.php │ │ ├── ui-dropdowns.blade.php │ │ ├── ui-footer.blade.php │ │ ├── ui-list-groups.blade.php │ │ ├── ui-modals.blade.php │ │ ├── ui-navbar.blade.php │ │ ├── ui-offcanvas.blade.php │ │ ├── ui-pagination-breadcrumbs.blade.php │ │ ├── ui-progress.blade.php │ │ ├── ui-spinners.blade.php │ │ ├── ui-tabs-pills.blade.php │ │ ├── ui-toasts.blade.php │ │ ├── ui-tooltips-popovers.blade.php │ │ └── ui-typography.blade.php │ └── layouts │ ├── blankLayout.blade.php │ ├── commonMaster.blade.php │ ├── contentNavbarLayout.blade.php │ └── sections │ ├── footer │ └── footer.blade.php │ ├── menu │ ├── submenu.blade.php │ └── verticalMenu.blade.php │ ├── navbar │ └── navbar.blade.php │ ├── scripts.blade.php │ ├── scriptsIncludes.blade.php │ └── styles.blade.php ├── routes ├── console.php └── web.php ├── storage ├── app │ ├── .gitignore │ └── public │ │ └── .gitignore ├── framework │ ├── .gitignore │ ├── cache │ │ ├── .gitignore │ │ └── data │ │ │ └── .gitignore │ ├── sessions │ │ └── .gitignore │ ├── testing │ │ └── .gitignore │ └── views │ │ └── .gitignore └── logs │ └── .gitignore ├── tests ├── Feature │ └── ExampleTest.php ├── TestCase.php └── Unit │ └── ExampleTest.php ├── vite.config.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 2 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{yml,yaml}] 15 | indent_size = 2 16 | 17 | [docker-compose.yml] 18 | indent_size = 4 19 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY=base64:mln1keRjYJYz06TPXJg8SZhJ7JN+oToy08vrPQhoq78= 4 | APP_DEBUG=true 5 | APP_TIMEZONE=UTC 6 | APP_URL=http://localhost 7 | 8 | APP_LOCALE=en 9 | APP_FALLBACK_LOCALE=en 10 | APP_FAKER_LOCALE=en_US 11 | 12 | APP_MAINTENANCE_DRIVER=file 13 | APP_MAINTENANCE_STORE=database 14 | 15 | BCRYPT_ROUNDS=12 16 | 17 | LOG_CHANNEL=stack 18 | LOG_STACK=single 19 | LOG_DEPRECATIONS_CHANNEL=null 20 | LOG_LEVEL=debug 21 | 22 | DB_CONNECTION=mysql 23 | DB_HOST=127.0.0.1 24 | DB_PORT=3306 25 | DB_DATABASE=laravel 26 | DB_USERNAME=root 27 | DB_PASSWORD= 28 | 29 | SESSION_DRIVER=database 30 | SESSION_LIFETIME=120 31 | SESSION_ENCRYPT=false 32 | SESSION_PATH=/ 33 | SESSION_DOMAIN=null 34 | 35 | BROADCAST_CONNECTION=log 36 | FILESYSTEM_DISK=local 37 | QUEUE_CONNECTION=database 38 | 39 | CACHE_STORE=database 40 | CACHE_PREFIX= 41 | 42 | MEMCACHED_HOST=127.0.0.1 43 | 44 | REDIS_CLIENT=phpredis 45 | REDIS_HOST=127.0.0.1 46 | REDIS_PASSWORD=null 47 | REDIS_PORT=6379 48 | 49 | MAIL_MAILER=log 50 | MAIL_HOST=127.0.0.1 51 | MAIL_PORT=2525 52 | MAIL_USERNAME=null 53 | MAIL_PASSWORD=null 54 | MAIL_ENCRYPTION=null 55 | MAIL_FROM_ADDRESS="hello@example.com" 56 | MAIL_FROM_NAME="${APP_NAME}" 57 | 58 | AWS_ACCESS_KEY_ID= 59 | AWS_SECRET_ACCESS_KEY= 60 | AWS_DEFAULT_REGION=us-east-1 61 | AWS_BUCKET= 62 | AWS_USE_PATH_STYLE_ENDPOINT=false 63 | 64 | VITE_APP_NAME="${APP_NAME}" 65 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_TIMEZONE=UTC 6 | APP_URL=http://localhost 7 | 8 | APP_LOCALE=en 9 | APP_FALLBACK_LOCALE=en 10 | APP_FAKER_LOCALE=en_US 11 | 12 | APP_MAINTENANCE_DRIVER=file 13 | APP_MAINTENANCE_STORE=database 14 | 15 | BCRYPT_ROUNDS=12 16 | 17 | LOG_CHANNEL=stack 18 | LOG_STACK=single 19 | LOG_DEPRECATIONS_CHANNEL=null 20 | LOG_LEVEL=debug 21 | 22 | DB_CONNECTION=sqlite 23 | # DB_HOST=127.0.0.1 24 | # DB_PORT=3306 25 | # DB_DATABASE=laravel 26 | # DB_USERNAME=root 27 | # DB_PASSWORD= 28 | 29 | SESSION_DRIVER=database 30 | SESSION_LIFETIME=120 31 | SESSION_ENCRYPT=false 32 | SESSION_PATH=/ 33 | SESSION_DOMAIN=null 34 | 35 | BROADCAST_CONNECTION=log 36 | FILESYSTEM_DISK=local 37 | QUEUE_CONNECTION=database 38 | 39 | CACHE_STORE=database 40 | CACHE_PREFIX= 41 | 42 | MEMCACHED_HOST=127.0.0.1 43 | 44 | REDIS_CLIENT=phpredis 45 | REDIS_HOST=127.0.0.1 46 | REDIS_PASSWORD=null 47 | REDIS_PORT=6379 48 | 49 | MAIL_MAILER=log 50 | MAIL_HOST=127.0.0.1 51 | MAIL_PORT=2525 52 | MAIL_USERNAME=null 53 | MAIL_PASSWORD=null 54 | MAIL_ENCRYPTION=null 55 | MAIL_FROM_ADDRESS="hello@example.com" 56 | MAIL_FROM_NAME="${APP_NAME}" 57 | 58 | AWS_ACCESS_KEY_ID= 59 | AWS_SECRET_ACCESS_KEY= 60 | AWS_DEFAULT_REGION=us-east-1 61 | AWS_BUCKET= 62 | AWS_USE_PATH_STYLE_ENDPOINT=false 63 | 64 | VITE_APP_NAME="${APP_NAME}" 65 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | **/*.* 2 | !resources/assets/vendor/js/*.js 3 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "commonjs": true, 5 | "es6": true, 6 | "jquery": true 7 | }, 8 | "plugins": ["prettier"], 9 | "extends": ["airbnb-base", "plugin:prettier/recommended"], 10 | "rules": { 11 | "prettier/prettier": "error", 12 | "no-underscore-dangle": "off", 13 | "semi": ["error", "never"], 14 | "arrow-parens": ["error", "as-needed"], 15 | "no-param-reassign": "off", 16 | "no-plusplus": [ 17 | "error", 18 | { 19 | "allowForLoopAfterthoughts": true 20 | } 21 | ], 22 | "no-cond-assign": ["error", "except-parens"] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.phpunit.cache 2 | /node_modules 3 | 4 | /public/build 5 | /public/hot 6 | /public/storage 7 | /storage/*.key 8 | /vendor 9 | 10 | # .env 11 | .env.backup 12 | .env.production 13 | .phpunit.result.cache 14 | 15 | docker-compose.override.yml 16 | 17 | Homestead.json 18 | Homestead.yaml 19 | npm-debug.log 20 | yarn-error.log 21 | /.fleet 22 | /.idea 23 | /.vscode 24 | 25 | !/public/assets 26 | !/public/assets/* 27 | /public/css 28 | /public/js 29 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | public/assets/vendor 4 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "bracketSpacing": true, 4 | "bracketSameLine": true, 5 | "htmlWhitespaceSensitivity": "css", 6 | "insertPragma": false, 7 | "jsxSingleQuote": true, 8 | "printWidth": 120, 9 | "proseWrap": "preserve", 10 | "quoteProps": "as-needed", 11 | "requirePragma": false, 12 | "semi": true, 13 | "singleQuote": true, 14 | "tabWidth": 2, 15 | "trailingComma": "none", 16 | "useTabs": false, 17 | "endOfLine": "lf", 18 | "embeddedLanguageFormatting": "auto", 19 | "overrides": [ 20 | { 21 | "files": [ 22 | "full-version/resources/assets/vendor/js/*.js" 23 | ], 24 | "options": { 25 | "semi": false 26 | } 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "esbenp.prettier-vscode", 4 | "editorconfig.editorconfig", 5 | "dbaeumer.vscode-eslint", 6 | "formulahendry.auto-close-tag", 7 | "formulahendry.auto-rename-tag", 8 | "abusaidm.html-snippets", 9 | "syler.sass-indented", 10 | "mrmlnc.vscode-scss", 11 | "gamunu.vscode-yarn", 12 | "zignd.html-css-class-completion", 13 | ] 14 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.wordWrap": "off", 3 | "editor.formatOnSave": true, 4 | "files.trimFinalNewlines": true, 5 | "diffEditor.ignoreTrimWhitespace": false, 6 | "cSpell.language": "en", 7 | "search.exclude": { 8 | "**/node_modules": true, 9 | "**/_temp": true, 10 | "**/bower_components": true, 11 | "*.min.js": true, 12 | "*.min.css": true 13 | }, 14 | // JS 15 | "javascript.updateImportsOnFileMove.enabled": "always", 16 | // JSON 17 | "[json]": { 18 | "editor.defaultFormatter": "vscode.json-language-features" 19 | }, 20 | "[jsonc]": { 21 | "editor.defaultFormatter": "vscode.json-language-features" 22 | }, 23 | // Extension: Prettier 24 | "prettier.requireConfig": true, 25 | "prettier.configPath": ".prettierrc.json", 26 | "prettier.ignorePath": ".prettierignore", 27 | "[html]": { 28 | "editor.defaultFormatter": "esbenp.prettier-vscode" 29 | }, 30 | "[javascript]": { 31 | "editor.defaultFormatter": "esbenp.prettier-vscode" 32 | }, 33 | "[markdown]": { 34 | "editor.defaultFormatter": "esbenp.prettier-vscode" 35 | }, 36 | "[scss]": { 37 | "editor.defaultFormatter": "esbenp.prettier-vscode" 38 | }, 39 | "[css]": { 40 | "editor.defaultFormatter": "esbenp.prettier-vscode" 41 | }, 42 | // Extension: Git 43 | "git.rebaseWhenSync": true, 44 | "git.enableSmartCommit": true, 45 | // Extension: ESLint 46 | "eslint.packageManager": "yarn", 47 | "eslint.format.enable": true, 48 | // "eslint.workingDirectories": [ 49 | // "src", 50 | // "dev" 51 | // ], 52 | "eslint.options": { 53 | "configFile": ".eslintrc.json" 54 | }, 55 | "eslint.validate": [ 56 | "vue", 57 | "html", 58 | "javascript", 59 | "typescript", 60 | "javascriptreact", 61 | "typescriptreact" 62 | ], 63 | // Extension: npm 64 | "npm.packageManager": "yarn", 65 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 ThemeSelection 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | 18 | */ 19 | protected $fillable = [ 20 | 'name', 21 | 'email', 22 | 'password', 23 | ]; 24 | 25 | /** 26 | * The attributes that should be hidden for serialization. 27 | * 28 | * @var array 29 | */ 30 | protected $hidden = [ 31 | 'password', 32 | 'remember_token', 33 | ]; 34 | 35 | /** 36 | * Get the attributes that should be cast. 37 | * 38 | * @return array 39 | */ 40 | protected function casts(): array 41 | { 42 | return [ 43 | 'email_verified_at' => 'datetime', 44 | 'password' => 'hashed', 45 | ]; 46 | } 47 | } -------------------------------------------------------------------------------- /app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | app->make('view')->share('menuData', [$verticalMenuData]); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | handleCommand(new ArgvInput); 14 | 15 | exit($status); 16 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | withRouting( 9 | web: __DIR__.'/../routes/web.php', 10 | commands: __DIR__.'/../routes/console.php', 11 | health: '/up', 12 | ) 13 | ->withMiddleware(function (Middleware $middleware) { 14 | // 15 | }) 16 | ->withExceptions(function (Exceptions $exceptions) { 17 | // 18 | })->create(); 19 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /bootstrap/providers.php: -------------------------------------------------------------------------------- 1 | env('FILESYSTEM_DISK', 'local'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Filesystem Disks 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Below you may configure as many filesystem disks as necessary, and you 24 | | may even configure multiple disks for the same driver. Examples for 25 | | most supported storage drivers are configured here for reference. 26 | | 27 | | Supported Drivers: "local", "ftp", "sftp", "s3" 28 | | 29 | */ 30 | 31 | 'disks' => [ 32 | 33 | 'local' => [ 34 | 'driver' => 'local', 35 | 'root' => storage_path('app'), 36 | 'throw' => false, 37 | ], 38 | 39 | 'public' => [ 40 | 'driver' => 'local', 41 | 'root' => storage_path('app/public'), 42 | 'url' => env('APP_URL') . '/storage', 43 | 'visibility' => 'public', 44 | 'throw' => false, 45 | ], 46 | 47 | 's3' => [ 48 | 'driver' => 's3', 49 | 'key' => env('AWS_ACCESS_KEY_ID'), 50 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 51 | 'region' => env('AWS_DEFAULT_REGION'), 52 | 'bucket' => env('AWS_BUCKET'), 53 | 'url' => env('AWS_URL'), 54 | 'endpoint' => env('AWS_ENDPOINT'), 55 | 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), 56 | 'throw' => false, 57 | ], 58 | 59 | ], 60 | 61 | /* 62 | |-------------------------------------------------------------------------- 63 | | Symbolic Links 64 | |-------------------------------------------------------------------------- 65 | | 66 | | Here you may configure the symbolic links that will be created when the 67 | | `storage:link` Artisan command is executed. The array keys should be 68 | | the locations of the links and the values should be their targets. 69 | | 70 | */ 71 | 72 | 'links' => [ 73 | public_path('storage') => storage_path('app/public'), 74 | ], 75 | 76 | ]; -------------------------------------------------------------------------------- /config/mail.php: -------------------------------------------------------------------------------- 1 | env('MAIL_MAILER', 'log'), 18 | 19 | /* 20 | |-------------------------------------------------------------------------- 21 | | Mailer Configurations 22 | |-------------------------------------------------------------------------- 23 | | 24 | | Here you may configure all of the mailers used by your application plus 25 | | their respective settings. Several examples have been configured for 26 | | you and you are free to add your own as your application requires. 27 | | 28 | | Laravel supports a variety of mail "transport" drivers that can be used 29 | | when delivering an email. You may specify which one you're using for 30 | | your mailers below. You may also add additional mailers if needed. 31 | | 32 | | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", 33 | | "postmark", "log", "array", "failover", "roundrobin" 34 | | 35 | */ 36 | 37 | 'mailers' => [ 38 | 39 | 'smtp' => [ 40 | 'transport' => 'smtp', 41 | 'url' => env('MAIL_URL'), 42 | 'host' => env('MAIL_HOST', '127.0.0.1'), 43 | 'port' => env('MAIL_PORT', 2525), 44 | 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 45 | 'username' => env('MAIL_USERNAME'), 46 | 'password' => env('MAIL_PASSWORD'), 47 | 'timeout' => null, 48 | 'local_domain' => env('MAIL_EHLO_DOMAIN'), 49 | ], 50 | 51 | 'ses' => [ 52 | 'transport' => 'ses', 53 | ], 54 | 55 | 'postmark' => [ 56 | 'transport' => 'postmark', 57 | // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), 58 | // 'client' => [ 59 | // 'timeout' => 5, 60 | // ], 61 | ], 62 | 63 | 'sendmail' => [ 64 | 'transport' => 'sendmail', 65 | 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), 66 | ], 67 | 68 | 'log' => [ 69 | 'transport' => 'log', 70 | 'channel' => env('MAIL_LOG_CHANNEL'), 71 | ], 72 | 73 | 'array' => [ 74 | 'transport' => 'array', 75 | ], 76 | 77 | 'failover' => [ 78 | 'transport' => 'failover', 79 | 'mailers' => [ 80 | 'smtp', 81 | 'log', 82 | ], 83 | ], 84 | 85 | ], 86 | 87 | /* 88 | |-------------------------------------------------------------------------- 89 | | Global "From" Address 90 | |-------------------------------------------------------------------------- 91 | | 92 | | You may wish for all emails sent by your application to be sent from 93 | | the same address. Here you may specify a name and address that is 94 | | used globally for all emails that are sent by your application. 95 | | 96 | */ 97 | 98 | 'from' => [ 99 | 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), 100 | 'name' => env('MAIL_FROM_NAME', 'Example'), 101 | ], 102 | 103 | ]; -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'token' => env('POSTMARK_TOKEN'), 19 | ], 20 | 21 | 'ses' => [ 22 | 'key' => env('AWS_ACCESS_KEY_ID'), 23 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 24 | 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 25 | ], 26 | 27 | 'slack' => [ 28 | 'notifications' => [ 29 | 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), 30 | 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), 31 | ], 32 | ], 33 | 34 | ]; -------------------------------------------------------------------------------- /config/variables.php: -------------------------------------------------------------------------------- 1 | "ThemeSelection", 5 | "creatorUrl" => "https://themeselection.com", 6 | "templateName" => "sneat", 7 | "templateSuffix" => "Bootstrap Dashboard FREE", 8 | "templateVersion" => "2.0.0", 9 | "templateFree" => true, 10 | "templateDescription" => "Most Powerful & Comprehensive Bootstrap 5 HTML Admin Dashboard Template built for developers!", 11 | "templateKeyword" => "dashboard, bootstrap 5 dashboard, bootstrap 5 design, bootstrap 5, bootstrap 5 free, free admin template", 12 | "licenseUrl" => "https://themeselection.com/license/", 13 | "livePreview" => "https://demos.themeselection.com/sneat-bootstrap-html-laravel-admin-template-free/demo/", 14 | "productPage" => "https://themeselection.com/item/sneat-dashboard-free-laravel/", 15 | "productPagePro" => "https://themeselection.com/item/sneat-dashboard-pro-laravel/", 16 | "support" => "https://github.com/themeselection/sneat-html-laravel-admin-template-free/issues", 17 | "moreThemes" => "https://themeselection.com/", 18 | "documentation" => "https://demos.themeselection.com/sneat-bootstrap-html-admin-template/documentation", 19 | "repository" => "https://github.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free", 20 | "gitRepo" => "https://github.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free.git", 21 | "gitRepoAccess" => "https://tools.themeselection.com/github/github-access", 22 | "githubFreeUrl" => "https://github.com/themeselection", 23 | "facebookUrl" => "https://www.facebook.com/ThemeSelections/", 24 | "twitterUrl" => "https://twitter.com/Theme_Selection", 25 | "githubUrl" => "https://github.com/themeselection", 26 | "dribbbleUrl" => "https://dribbble.com/themeselection", 27 | "instagramUrl" => "https://www.instagram.com/themeselection/" 28 | ]; 29 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite* 2 | -------------------------------------------------------------------------------- /database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class UserFactory extends Factory 13 | { 14 | /** 15 | * The current password being used by the factory. 16 | */ 17 | protected static ?string $password; 18 | 19 | /** 20 | * Define the model's default state. 21 | * 22 | * @return array 23 | */ 24 | public function definition(): array 25 | { 26 | return [ 27 | 'name' => fake()->name(), 28 | 'email' => fake()->unique()->safeEmail(), 29 | 'email_verified_at' => now(), 30 | 'password' => static::$password ??= Hash::make('password'), 31 | 'remember_token' => Str::random(10), 32 | ]; 33 | } 34 | 35 | /** 36 | * Indicate that the model's email address should be unverified. 37 | */ 38 | public function unverified(): static 39 | { 40 | return $this->state(fn (array $attributes) => [ 41 | 'email_verified_at' => null, 42 | ]); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /database/migrations/0001_01_01_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | id(); 16 | $table->string('name'); 17 | $table->string('email')->unique(); 18 | $table->timestamp('email_verified_at')->nullable(); 19 | $table->string('password'); 20 | $table->rememberToken(); 21 | $table->timestamps(); 22 | }); 23 | 24 | Schema::create('password_reset_tokens', function (Blueprint $table) { 25 | $table->string('email')->primary(); 26 | $table->string('token'); 27 | $table->timestamp('created_at')->nullable(); 28 | }); 29 | 30 | Schema::create('sessions', function (Blueprint $table) { 31 | $table->string('id')->primary(); 32 | $table->foreignId('user_id')->nullable()->index(); 33 | $table->string('ip_address', 45)->nullable(); 34 | $table->text('user_agent')->nullable(); 35 | $table->longText('payload'); 36 | $table->integer('last_activity')->index(); 37 | }); 38 | } 39 | 40 | /** 41 | * Reverse the migrations. 42 | */ 43 | public function down(): void 44 | { 45 | Schema::dropIfExists('users'); 46 | Schema::dropIfExists('password_reset_tokens'); 47 | Schema::dropIfExists('sessions'); 48 | } 49 | }; 50 | -------------------------------------------------------------------------------- /database/migrations/0001_01_01_000001_create_cache_table.php: -------------------------------------------------------------------------------- 1 | string('key')->primary(); 16 | $table->mediumText('value'); 17 | $table->integer('expiration'); 18 | }); 19 | 20 | Schema::create('cache_locks', function (Blueprint $table) { 21 | $table->string('key')->primary(); 22 | $table->string('owner'); 23 | $table->integer('expiration'); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | */ 30 | public function down(): void 31 | { 32 | Schema::dropIfExists('cache'); 33 | Schema::dropIfExists('cache_locks'); 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /database/migrations/0001_01_01_000002_create_jobs_table.php: -------------------------------------------------------------------------------- 1 | id(); 16 | $table->string('queue')->index(); 17 | $table->longText('payload'); 18 | $table->unsignedTinyInteger('attempts'); 19 | $table->unsignedInteger('reserved_at')->nullable(); 20 | $table->unsignedInteger('available_at'); 21 | $table->unsignedInteger('created_at'); 22 | }); 23 | 24 | Schema::create('job_batches', function (Blueprint $table) { 25 | $table->string('id')->primary(); 26 | $table->string('name'); 27 | $table->integer('total_jobs'); 28 | $table->integer('pending_jobs'); 29 | $table->integer('failed_jobs'); 30 | $table->longText('failed_job_ids'); 31 | $table->mediumText('options')->nullable(); 32 | $table->integer('cancelled_at')->nullable(); 33 | $table->integer('created_at'); 34 | $table->integer('finished_at')->nullable(); 35 | }); 36 | 37 | Schema::create('failed_jobs', function (Blueprint $table) { 38 | $table->id(); 39 | $table->string('uuid')->unique(); 40 | $table->text('connection'); 41 | $table->text('queue'); 42 | $table->longText('payload'); 43 | $table->longText('exception'); 44 | $table->timestamp('failed_at')->useCurrent(); 45 | }); 46 | } 47 | 48 | /** 49 | * Reverse the migrations. 50 | */ 51 | public function down(): void 52 | { 53 | Schema::dropIfExists('jobs'); 54 | Schema::dropIfExists('job_batches'); 55 | Schema::dropIfExists('failed_jobs'); 56 | } 57 | }; 58 | -------------------------------------------------------------------------------- /database/seeders/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | create(); 17 | 18 | User::factory()->create([ 19 | 'name' => 'Test User', 20 | 'email' => 'test@example.com', 21 | ]); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /documentation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Sneat - Bootstrap 5 HTML + Laravel Admin Template 5 | 9 | 10 | 11 | 12 |

13 | If you do not redirect please visit : 14 | https://demos.themeselection.com/sneat-bootstrap-html-admin-template/documentation/laravel-introduction.html 18 |

19 | 20 | 21 | -------------------------------------------------------------------------------- /hire-us.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hire Us 5 | 6 | 7 | 8 | 9 |

10 | If you do not redirect please visit : 11 | https://themeselection.com/hire-us/ 12 |

13 | 14 | 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sneat-bootstrap-html-laravel-admin-template-free", 3 | "version": "2.0.0", 4 | "private": true, 5 | "type": "module", 6 | "license": "MIT", 7 | "scripts": { 8 | "dev": "vite", 9 | "build": "vite build" 10 | }, 11 | "devDependencies": { 12 | "@babel/core": "7.23.7", 13 | "@babel/plugin-syntax-dynamic-import": "7.8.3", 14 | "@babel/plugin-transform-object-rest-spread": "7.23.4", 15 | "@babel/plugin-transform-runtime": "7.23.7", 16 | "@babel/preset-env": "7.23.8", 17 | "@prettier/plugin-php": "0.22.1", 18 | "@rollup/plugin-html": "^1.0.3", 19 | "@types/typeahead": "^0.11.32", 20 | "ajv": "^8.17.1", 21 | "autoprefixer": "^10.4.19", 22 | "axios": "^1.7.2", 23 | "babel-loader": "^9.1.3", 24 | "browser-sync": "^2.29.3", 25 | "cross-env": "^7.0.3", 26 | "glob": "^10.4.5", 27 | "lodash": "^4.17.21", 28 | "postcss": "^8.4.40", 29 | "prettier": "3.2.2", 30 | "resolve-url-loader": "5.0.0", 31 | "sass": "~1.76.0", 32 | "sass-loader": "14.0.0", 33 | "vite": "^5.3.5" 34 | }, 35 | "overrides": { 36 | "prop-types": "15.8.1", 37 | "sass": "1.76.0" 38 | }, 39 | "resolutions": { 40 | "prop-types": "15.8.1", 41 | "sass": "1.76.0" 42 | }, 43 | "browserslist": [ 44 | ">= 1%", 45 | "last 2 versions", 46 | "not dead", 47 | "Chrome >= 45", 48 | "Firefox >= 38", 49 | "Edge >= 12", 50 | "Explorer >= 10", 51 | "iOS >= 9", 52 | "Safari >= 9", 53 | "Android >= 4.4", 54 | "Opera >= 30" 55 | ], 56 | "babel": { 57 | "presets": [ 58 | [ 59 | "@babel/env", 60 | { 61 | "targets": { 62 | "browsers": [ 63 | ">= 1%", 64 | "last 2 versions", 65 | "not dead", 66 | "Chrome >= 45", 67 | "Firefox >= 38", 68 | "Edge >= 12", 69 | "Explorer >= 10", 70 | "iOS >= 9", 71 | "Safari >= 9", 72 | "Android >= 4.4", 73 | "Opera >= 30" 74 | ] 75 | } 76 | } 77 | ] 78 | ] 79 | }, 80 | "dependencies": { 81 | "@popperjs/core": "^2.11.8", 82 | "apexcharts-clevision": "^3.28.5", 83 | "bootstrap": "~5.3.3", 84 | "boxicons": "~2.1.4", 85 | "highlight.js": "~11.9.0", 86 | "jquery": "~3.7.1", 87 | "masonry-layout": "~4.2.2", 88 | "perfect-scrollbar": "~1.5.5", 89 | "laravel-vite-plugin": "1.0.1" 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | tests/Unit 10 | 11 | 12 | tests/Feature 13 | 14 | 15 | 16 | 17 | app 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Send Requests To Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /public/assets/img/avatars/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/avatars/1.png -------------------------------------------------------------------------------- /public/assets/img/avatars/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/avatars/5.png -------------------------------------------------------------------------------- /public/assets/img/avatars/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/avatars/6.png -------------------------------------------------------------------------------- /public/assets/img/avatars/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/avatars/7.png -------------------------------------------------------------------------------- /public/assets/img/backgrounds/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/backgrounds/18.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/1.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/11.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/12.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/13.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/17.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/18.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/19.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/2.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/20.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/3.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/4.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/5.jpg -------------------------------------------------------------------------------- /public/assets/img/elements/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/elements/7.jpg -------------------------------------------------------------------------------- /public/assets/img/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/favicon/favicon.ico -------------------------------------------------------------------------------- /public/assets/img/icons/brands/asana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/asana.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/behance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/behance.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/dribbble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/dribbble.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/facebook.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/github.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/google.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/instagram.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/mailchimp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/mailchimp.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/slack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/slack.png -------------------------------------------------------------------------------- /public/assets/img/icons/brands/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/brands/twitter.png -------------------------------------------------------------------------------- /public/assets/img/icons/unicons/cc-primary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/unicons/cc-primary.png -------------------------------------------------------------------------------- /public/assets/img/icons/unicons/cc-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/unicons/cc-warning.png -------------------------------------------------------------------------------- /public/assets/img/icons/unicons/chart-success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/unicons/chart-success.png -------------------------------------------------------------------------------- /public/assets/img/icons/unicons/chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/unicons/chart.png -------------------------------------------------------------------------------- /public/assets/img/icons/unicons/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/unicons/paypal.png -------------------------------------------------------------------------------- /public/assets/img/icons/unicons/wallet-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/unicons/wallet-info.png -------------------------------------------------------------------------------- /public/assets/img/icons/unicons/wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/icons/unicons/wallet.png -------------------------------------------------------------------------------- /public/assets/img/illustrations/girl-doing-yoga-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/illustrations/girl-doing-yoga-light.png -------------------------------------------------------------------------------- /public/assets/img/illustrations/man-with-laptop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/illustrations/man-with-laptop.png -------------------------------------------------------------------------------- /public/assets/img/illustrations/page-misc-error-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/illustrations/page-misc-error-light.png -------------------------------------------------------------------------------- /public/assets/img/layouts/layout-container-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/layouts/layout-container-light.png -------------------------------------------------------------------------------- /public/assets/img/layouts/layout-fluid-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/layouts/layout-fluid-light.png -------------------------------------------------------------------------------- /public/assets/img/layouts/layout-without-menu-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/layouts/layout-without-menu-light.png -------------------------------------------------------------------------------- /public/assets/img/layouts/layout-without-navbar-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/assets/img/layouts/layout-without-navbar-light.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/public/favicon.ico -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | handleRequest(Request::capture()); -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /resources/assets/js/config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Config 3 | * ------------------------------------------------------------------------------------- 4 | * ! IMPORTANT: Make sure you clear the browser local storage In order to see the config changes in the template. 5 | * ! To clear local storage: (https://www.leadshook.com/help/how-to-clear-local-storage-in-google-chrome-browser/). 6 | */ 7 | 8 | 'use strict'; 9 | 10 | // JS global variables 11 | window.config = { 12 | colors: { 13 | primary: '#696cff', 14 | secondary: '#8592a3', 15 | success: '#71dd37', 16 | info: '#03c3ec', 17 | warning: '#ffab00', 18 | danger: '#ff3e1d', 19 | dark: '#233446', 20 | black: '#22303e', 21 | white: '#fff', 22 | cardColor: '#fff', 23 | bodyBg: '#f5f5f9', 24 | bodyColor: '#646E78', 25 | headingColor: '#384551', 26 | textMuted: '#a7acb2', 27 | borderColor: '#e4e6e8' 28 | } 29 | }; 30 | -------------------------------------------------------------------------------- /resources/assets/js/extended-ui-perfect-scrollbar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Perfect Scrollbar 3 | */ 4 | 'use strict'; 5 | 6 | document.addEventListener('DOMContentLoaded', function () { 7 | (function () { 8 | const verticalExample = document.getElementById('vertical-example'), 9 | horizontalExample = document.getElementById('horizontal-example'), 10 | horizVertExample = document.getElementById('both-scrollbars-example'); 11 | 12 | // Vertical Example 13 | // -------------------------------------------------------------------- 14 | if (verticalExample) { 15 | new PerfectScrollbar(verticalExample, { 16 | wheelPropagation: false 17 | }); 18 | } 19 | 20 | // Horizontal Example 21 | // -------------------------------------------------------------------- 22 | if (horizontalExample) { 23 | new PerfectScrollbar(horizontalExample, { 24 | wheelPropagation: false, 25 | suppressScrollY: true 26 | }); 27 | } 28 | 29 | // Both vertical and Horizontal Example 30 | // -------------------------------------------------------------------- 31 | if (horizVertExample) { 32 | new PerfectScrollbar(horizVertExample, { 33 | wheelPropagation: false 34 | }); 35 | } 36 | })(); 37 | }); 38 | -------------------------------------------------------------------------------- /resources/assets/js/form-basic-inputs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Form Basic Inputs 3 | */ 4 | 5 | 'use strict'; 6 | 7 | (function () { 8 | // Indeterminate checkbox 9 | const checkbox = document.getElementById('defaultCheck2'); 10 | checkbox.indeterminate = true; 11 | })(); 12 | -------------------------------------------------------------------------------- /resources/assets/js/pages-account-settings-account.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Account Settings - Account 3 | */ 4 | 5 | 'use strict'; 6 | 7 | document.addEventListener('DOMContentLoaded', function (e) { 8 | (function () { 9 | const deactivateAcc = document.querySelector('#formAccountDeactivation'); 10 | 11 | // Update/reset user image of account page 12 | let accountUserImage = document.getElementById('uploadedAvatar'); 13 | const fileInput = document.querySelector('.account-file-input'), 14 | resetFileInput = document.querySelector('.account-image-reset'); 15 | 16 | if (accountUserImage) { 17 | const resetImage = accountUserImage.src; 18 | fileInput.onchange = () => { 19 | if (fileInput.files[0]) { 20 | accountUserImage.src = window.URL.createObjectURL(fileInput.files[0]); 21 | } 22 | }; 23 | resetFileInput.onclick = () => { 24 | fileInput.value = ''; 25 | accountUserImage.src = resetImage; 26 | }; 27 | } 28 | })(); 29 | }); 30 | -------------------------------------------------------------------------------- /resources/assets/js/ui-modals.js: -------------------------------------------------------------------------------- 1 | /** 2 | * UI Modals 3 | */ 4 | 5 | 'use strict'; 6 | 7 | (function () { 8 | // On hiding modal, remove iframe video/audio to stop playing 9 | const youTubeModal = document.querySelector('#youTubeModal'), 10 | youTubeModalVideo = youTubeModal.querySelector('iframe'); 11 | youTubeModal.addEventListener('hidden.bs.modal', function () { 12 | youTubeModalVideo.setAttribute('src', ''); 13 | }); 14 | 15 | // Function to get and auto play youTube video 16 | const autoPlayYouTubeModal = function () { 17 | const modalTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="modal"]')); 18 | modalTriggerList.map(function (modalTriggerEl) { 19 | modalTriggerEl.onclick = function () { 20 | const theModal = this.getAttribute('data-bs-target'), 21 | videoSRC = this.getAttribute('data-theVideo'), 22 | videoSRCauto = `${videoSRC}?autoplay=1`, 23 | modalVideo = document.querySelector(`${theModal} iframe`); 24 | if (modalVideo) { 25 | modalVideo.setAttribute('src', videoSRCauto); 26 | } 27 | }; 28 | }); 29 | }; 30 | 31 | // Calling function on load 32 | autoPlayYouTubeModal(); 33 | })(); 34 | -------------------------------------------------------------------------------- /resources/assets/js/ui-popover.js: -------------------------------------------------------------------------------- 1 | // /** 2 | // * UI Tooltips & Popovers 3 | // */ 4 | 5 | 'use strict'; 6 | 7 | (function () { 8 | const popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); 9 | const popoverList = popoverTriggerList.map(function (popoverTriggerEl) { 10 | // added { html: true, sanitize: false } option to render button in content area of popover 11 | return new bootstrap.Popover(popoverTriggerEl, { html: true, sanitize: false }); 12 | }); 13 | })(); 14 | -------------------------------------------------------------------------------- /resources/assets/js/ui-toasts.js: -------------------------------------------------------------------------------- 1 | /** 2 | * UI Toasts 3 | */ 4 | 5 | 'use strict'; 6 | 7 | (function () { 8 | // Bootstrap toasts example 9 | // -------------------------------------------------------------------- 10 | const toastPlacementExample = document.querySelector('.toast-placement-ex'), 11 | toastPlacementBtn = document.querySelector('#showToastPlacement'); 12 | let selectedType, selectedPlacement, toastPlacement; 13 | 14 | // Dispose toast when open another 15 | function toastDispose(toast) { 16 | if (toast && toast._element !== null) { 17 | if (toastPlacementExample) { 18 | toastPlacementExample.classList.remove(selectedType); 19 | DOMTokenList.prototype.remove.apply(toastPlacementExample.classList, selectedPlacement); 20 | } 21 | toast.dispose(); 22 | } 23 | } 24 | // Placement Button click 25 | if (toastPlacementBtn) { 26 | toastPlacementBtn.onclick = function () { 27 | if (toastPlacement) { 28 | toastDispose(toastPlacement); 29 | } 30 | selectedType = document.querySelector('#selectTypeOpt').value; 31 | selectedPlacement = document.querySelector('#selectPlacement').value.split(' '); 32 | 33 | toastPlacementExample.classList.add(selectedType); 34 | DOMTokenList.prototype.add.apply(toastPlacementExample.classList, selectedPlacement); 35 | toastPlacement = new bootstrap.Toast(toastPlacementExample); 36 | toastPlacement.show(); 37 | }; 38 | } 39 | })(); 40 | -------------------------------------------------------------------------------- /resources/assets/vendor/fonts/boxicons.scss: -------------------------------------------------------------------------------- 1 | $boxicons-font-path: 'boxicons'; 2 | $boxicons-font-size-base: 16px; 3 | 4 | @import 'boxicons/css/boxicons'; 5 | 6 | .bx { 7 | vertical-align: middle; 8 | font-size: 1.25rem; 9 | line-height: 1; 10 | } 11 | // Override font path 12 | @font-face { 13 | font-family: 'boxicons'; 14 | font-weight: normal; 15 | font-style: normal; 16 | 17 | src: url('../fonts/#{$boxicons-font-path}/boxicons.eot'); 18 | src: 19 | url('../fonts/#{$boxicons-font-path}/boxicons.eot') format('embedded-opentype'), 20 | url('../fonts/#{$boxicons-font-path}/boxicons.woff2') format('woff2'), 21 | url('../fonts/#{$boxicons-font-path}/boxicons.woff') format('woff'), 22 | url('../fonts/#{$boxicons-font-path}/boxicons.ttf') format('truetype'), 23 | url('../fonts/#{$boxicons-font-path}/boxicons.svg?#boxicons') format('svg'); 24 | } 25 | 26 | // icon sizes 27 | 28 | .bx-xs { 29 | font-size: 1rem !important; 30 | } 31 | .bx-sm { 32 | font-size: 1.125rem !important; 33 | } 34 | .bx-md { 35 | font-size: 1.375rem !important; 36 | } 37 | .bx-lg { 38 | font-size: 1.5rem !important; 39 | } 40 | .bx-6px { 41 | &, 42 | &:before { 43 | font-size: 6px; 44 | } 45 | } 46 | .bx-8px { 47 | &, 48 | &:before { 49 | font-size: 8px; 50 | } 51 | } 52 | .bx-10px { 53 | &, 54 | &:before { 55 | font-size: 10px; 56 | } 57 | } 58 | .bx-12px { 59 | &, 60 | &:before { 61 | font-size: 12px; 62 | } 63 | } 64 | .bx-14px { 65 | &, 66 | &:before { 67 | font-size: 14px; 68 | } 69 | } 70 | .bx-16px { 71 | &, 72 | &:before { 73 | font-size: 16px; 74 | } 75 | } 76 | .bx-18px { 77 | &, 78 | &:before { 79 | font-size: 18px; 80 | } 81 | } 82 | .bx-20px { 83 | &, 84 | &:before { 85 | font-size: 20px; 86 | } 87 | } 88 | .bx-22px { 89 | &, 90 | &:before { 91 | font-size: 22px; 92 | } 93 | } 94 | .bx-24px { 95 | &, 96 | &:before { 97 | font-size: 24px; 98 | } 99 | } 100 | .bx-26px { 101 | &, 102 | &:before { 103 | font-size: 26px; 104 | } 105 | } 106 | .bx-28px { 107 | &, 108 | &:before { 109 | font-size: 28px; 110 | } 111 | } 112 | .bx-30px { 113 | &, 114 | &:before { 115 | font-size: 30px; 116 | } 117 | } 118 | .bx-32px { 119 | &, 120 | &:before { 121 | font-size: 32px; 122 | } 123 | } 124 | .bx-36px { 125 | &, 126 | &:before { 127 | font-size: 36px; 128 | } 129 | } 130 | .bx-40px { 131 | &, 132 | &:before { 133 | font-size: 40px; 134 | } 135 | } 136 | .bx-42px { 137 | &, 138 | &:before { 139 | font-size: 42px; 140 | } 141 | } 142 | .bx-48px { 143 | &, 144 | &:before { 145 | font-size: 48px; 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /resources/assets/vendor/fonts/boxicons/boxicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/resources/assets/vendor/fonts/boxicons/boxicons.eot -------------------------------------------------------------------------------- /resources/assets/vendor/fonts/boxicons/boxicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/resources/assets/vendor/fonts/boxicons/boxicons.ttf -------------------------------------------------------------------------------- /resources/assets/vendor/fonts/boxicons/boxicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/resources/assets/vendor/fonts/boxicons/boxicons.woff -------------------------------------------------------------------------------- /resources/assets/vendor/fonts/boxicons/boxicons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/resources/assets/vendor/fonts/boxicons/boxicons.woff2 -------------------------------------------------------------------------------- /resources/assets/vendor/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | import * as bootstrap from 'bootstrap' 2 | 3 | try { 4 | window.bootstrap = bootstrap 5 | } catch (e) {} 6 | 7 | export { bootstrap } 8 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/apex-charts/apex-charts.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Apex Charts 3 | */ 4 | @use '../../scss/_bootstrap-extended/include' as light; 5 | @import '../../scss/_custom-variables/libs'; 6 | @import 'apexcharts-clevision/dist/apexcharts'; 7 | 8 | // Light style 9 | @if $enable-light-style { 10 | .light-style { 11 | .apexcharts-canvas { 12 | .apexcharts-tooltip { 13 | background: light.$card-bg; 14 | border-color: light.$border-color; 15 | box-shadow: light.$box-shadow; 16 | .apexcharts-tooltip-title { 17 | background: light.$card-bg; 18 | border-color: light.$border-color; 19 | font-family: light.$font-family-base !important; 20 | } 21 | &.apexcharts-theme-light { 22 | color: light.$headings-color; 23 | } 24 | &.apexcharts-theme-dark { 25 | color: light.$white; 26 | } 27 | .apexcharts-tooltip-title { 28 | font-weight: light.$headings-font-weight; 29 | } 30 | } 31 | .apexcharts-xaxistooltip, 32 | .apexcharts-yaxistooltip { 33 | background: light.$body-bg; 34 | border-color: light.$border-color; 35 | color: light.$headings-color; 36 | &.apexcharts-xaxistooltip-bottom, 37 | &.apexcharts-yaxistooltip-bottom { 38 | &:after { 39 | border-bottom-color: light.$body-bg; 40 | } 41 | &:before { 42 | border-bottom-color: light.$border-color; 43 | } 44 | } 45 | &.apexcharts-xaxistooltip-left, 46 | &.apexcharts-yaxistooltip-left { 47 | &:after { 48 | border-left-color: light.$body-bg; 49 | } 50 | &:before { 51 | border-left-color: light.$border-color; 52 | } 53 | } 54 | &.apexcharts-xaxistooltip-right, 55 | &.apexcharts-yaxistooltip-right { 56 | &:after { 57 | border-right-color: light.$body-bg; 58 | } 59 | &:before { 60 | border-right-color: light.$border-color; 61 | } 62 | } 63 | &.apexcharts-xaxistooltip-top, 64 | &.apexcharts-yaxistooltip-top { 65 | &:after { 66 | border-top-color: light.$body-bg; 67 | } 68 | &:before { 69 | border-top-color: light.$border-color; 70 | } 71 | } 72 | } 73 | .apexcharts-tooltip-text { 74 | font-family: light.$font-family-base !important; 75 | filter: none; 76 | } 77 | } 78 | } 79 | } 80 | // bar charts with radius hover fix 81 | #orderStatisticsChart, 82 | #totalRevenueChart, 83 | #expensesBarChart { 84 | .apexcharts-xcrosshairs.apexcharts-active, 85 | .apexcharts-ycrosshairs.apexcharts-active { 86 | opacity: 0; 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/apex-charts/apexcharts.js: -------------------------------------------------------------------------------- 1 | import ApexCharts from 'apexcharts-clevision'; 2 | 3 | try { 4 | window.ApexCharts = ApexCharts; 5 | } catch (e) {} 6 | 7 | export { ApexCharts }; 8 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/highlight/highlight-github.scss: -------------------------------------------------------------------------------- 1 | @import 'highlight.js/styles/github.css'; 2 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/highlight/highlight.js: -------------------------------------------------------------------------------- 1 | import hljs from 'highlight.js'; 2 | 3 | try { 4 | window.hljs = hljs; 5 | } catch (e) {} 6 | 7 | export { hljs }; 8 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/highlight/highlight.scss: -------------------------------------------------------------------------------- 1 | @import 'highlight.js/styles/atom-one-light'; 2 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/jquery/jquery.js: -------------------------------------------------------------------------------- 1 | import jQuery from 'jquery/dist/jquery'; 2 | 3 | const $ = jQuery; 4 | try { 5 | window.jQuery = window.$ = jQuery; 6 | } catch (e) {} 7 | 8 | export { jQuery, $ }; 9 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/masonry/masonry.js: -------------------------------------------------------------------------------- 1 | import Masonry from 'masonry-layout'; 2 | 3 | try { 4 | window.Masonry = Masonry; 5 | } catch (e) {} 6 | 7 | export { Masonry }; 8 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js: -------------------------------------------------------------------------------- 1 | import PerfectScrollbar from 'perfect-scrollbar/dist/perfect-scrollbar'; 2 | 3 | try { 4 | window.PerfectScrollbar = PerfectScrollbar; 5 | } catch (e) {} 6 | 7 | export { PerfectScrollbar }; 8 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.scss: -------------------------------------------------------------------------------- 1 | @use '../../scss/_bootstrap-extended/include' as light; 2 | @import '../../scss/_custom-variables/libs'; 3 | @import 'perfect-scrollbar/css/perfect-scrollbar'; 4 | 5 | $ps-width: 0.25rem !default; 6 | $ps-hover-width: 0.375rem !default; 7 | 8 | .ps { 9 | position: relative; 10 | } 11 | 12 | .ps__rail-x { 13 | height: $ps-width; 14 | } 15 | 16 | .ps__rail-y { 17 | width: $ps-width; 18 | z-index: 3; 19 | } 20 | 21 | .ps__rail-x, 22 | .ps__rail-y, 23 | .ps__thumb-x, 24 | .ps__thumb-y { 25 | border-radius: 10rem; 26 | } 27 | .ps__rail-x:hover, 28 | .ps__rail-x:focus, 29 | .ps__rail-x.ps--clicking, 30 | .ps__rail-x:hover > .ps__thumb-x, 31 | .ps__rail-x:focus > .ps__thumb-x, 32 | .ps__rail-x.ps--clicking > .ps__thumb-x { 33 | height: $ps-hover-width; 34 | } 35 | 36 | .ps__rail-y:hover, 37 | .ps__rail-y:focus, 38 | .ps__rail-y.ps--clicking, 39 | .ps__rail-y:hover > .ps__thumb-y, 40 | .ps__rail-y:focus > .ps__thumb-y, 41 | .ps__rail-y.ps--clicking > .ps__thumb-y { 42 | width: $ps-hover-width; 43 | } 44 | 45 | .ps__thumb-x { 46 | height: $ps-width; 47 | bottom: 0; 48 | } 49 | 50 | .ps__thumb-y { 51 | width: $ps-width; 52 | right: 0; 53 | } 54 | 55 | // Light layout 56 | @if $enable-light-style { 57 | .light-style { 58 | .ps__thumb-x, 59 | .ps__thumb-y { 60 | background-color: light.$gray-400; 61 | } 62 | 63 | .ps__rail-x:hover, 64 | .ps__rail-y:hover, 65 | .ps__rail-x:focus, 66 | .ps__rail-y:focus, 67 | .ps__rail-x.ps--clicking, 68 | .ps__rail-y.ps--clicking { 69 | background-color: light.$gray-200; 70 | } 71 | 72 | .ps__rail-x:hover > .ps__thumb-x, 73 | .ps__rail-y:hover > .ps__thumb-y, 74 | .ps__rail-x:focus > .ps__thumb-x, 75 | .ps__rail-y:focus > .ps__thumb-y, 76 | .ps__rail-x.ps--clicking > .ps__thumb-x, 77 | .ps__rail-y.ps--clicking > .ps__thumb-y { 78 | background-color: light.$gray-700; 79 | } 80 | 81 | .ps-inverted { 82 | .ps__rail-x:hover, 83 | .ps__rail-y:hover, 84 | .ps__rail-x:focus, 85 | .ps__rail-y:focus, 86 | .ps__rail-x.ps--clicking, 87 | .ps__rail-y.ps--clicking { 88 | background-color: rgba(#fff, 0.5); 89 | } 90 | 91 | .ps__thumb-x, 92 | .ps__thumb-y { 93 | background-color: rgba(#fff, 0.7); 94 | } 95 | 96 | .ps__rail-x:hover > .ps__thumb-x, 97 | .ps__rail-y:hover > .ps__thumb-y, 98 | .ps__rail-x:focus > .ps__thumb-x, 99 | .ps__rail-y:focus > .ps__thumb-y, 100 | .ps__rail-x.ps--clicking > .ps__thumb-x, 101 | .ps__rail-y.ps--clicking > .ps__thumb-y { 102 | background-color: #fff; 103 | } 104 | } 105 | } 106 | } 107 | 108 | // Firefox width issue fixed 109 | @supports (-moz-appearance: none) { 110 | #both-scrollbars-example { 111 | max-width: 1080px; 112 | margin: 0 auto; 113 | padding-left: 0; 114 | padding-right: 0; 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /resources/assets/vendor/libs/popper/popper.js: -------------------------------------------------------------------------------- 1 | import Popper from '@popperjs/core/dist/umd/popper.min'; 2 | 3 | // Required to enable animations on dropdowns/tooltips/popovers 4 | // Popper.Defaults.modifiers.computeStyle.gpuAcceleration = false 5 | 6 | try { 7 | window.Popper = Popper; 8 | } catch (e) {} 9 | 10 | export { Popper }; 11 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended.scss: -------------------------------------------------------------------------------- 1 | @import '_bootstrap-extended/include'; 2 | 3 | // Import bootstrap extended scss 4 | @import '_bootstrap-extended/root'; 5 | @import '_bootstrap-extended/reboot'; 6 | @import '_bootstrap-extended/type'; 7 | @import '_bootstrap-extended/utilities'; 8 | @import '_bootstrap-extended/tables'; 9 | @import '_bootstrap-extended/buttons'; 10 | @import '_bootstrap-extended/button-group'; 11 | @import '_bootstrap-extended/badge'; 12 | @import '_bootstrap-extended/dropdown'; 13 | @import '_bootstrap-extended/nav'; 14 | @import '_bootstrap-extended/pagination'; 15 | @import '_bootstrap-extended/alert'; 16 | @import '_bootstrap-extended/tooltip'; 17 | @import '_bootstrap-extended/popover'; 18 | @import '_bootstrap-extended/forms'; 19 | @import '_bootstrap-extended/modal'; 20 | @import '_bootstrap-extended/progress'; 21 | @import '_bootstrap-extended/breadcrumb'; 22 | @import '_bootstrap-extended/list-group'; 23 | @import '_bootstrap-extended/navbar'; 24 | @import '_bootstrap-extended/card'; 25 | @import '_bootstrap-extended/accordion'; 26 | @import '_bootstrap-extended/close'; 27 | @import '_bootstrap-extended/toasts'; 28 | @import '_bootstrap-extended/carousel'; 29 | @import '_bootstrap-extended/spinners'; 30 | @import '_bootstrap-extended/offcanvas'; 31 | 32 | // Common Utilities 33 | @import 'bootstrap/scss/utilities/api'; 34 | 35 | // LTR Utilities 36 | @include ltr-only { 37 | @import '_bootstrap-extended/utilities-ltr'; 38 | @import 'bootstrap/scss/utilities/api'; 39 | } 40 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_accordion.scss: -------------------------------------------------------------------------------- 1 | // Accordions 2 | // ******************************************************************************* 3 | 4 | .accordion-header + .accordion-collapse .accordion-body { 5 | padding-top: 0; 6 | padding-left: $accordion-padding-x; 7 | } 8 | 9 | .accordion { 10 | // accordion without icon 11 | &.accordion-without-arrow { 12 | .accordion-button::after { 13 | background-image: none !important; 14 | } 15 | } 16 | .accordion-item { 17 | box-shadow: $box-shadow-xs; 18 | border: 0; 19 | &.active { 20 | box-shadow: $box-shadow; 21 | & .accordion-button:not(.collapsed) { 22 | box-shadow: none; 23 | } 24 | } 25 | &:not(:first-child) { 26 | margin-top: $spacer * 0.5; 27 | } 28 | &:last-child { 29 | margin-bottom: $spacer * 0.5; 30 | } 31 | } 32 | } 33 | 34 | .accordion-header { 35 | line-height: $line-height-base; 36 | } 37 | 38 | // Accordion border radius 39 | .accordion-button { 40 | padding-right: $accordion-body-padding-x; 41 | font-weight: inherit; 42 | @include border-top-radius($accordion-border-radius); 43 | &.collapsed { 44 | @include border-radius($accordion-border-radius); 45 | } 46 | &:not(.collapsed) { 47 | box-shadow: none; 48 | } 49 | } 50 | 51 | // Default card styles of accordion 52 | .accordion > .card.accordion-item { 53 | border-radius: $accordion-border-radius !important; 54 | margin-bottom: 0.5rem; 55 | } 56 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_alert.scss: -------------------------------------------------------------------------------- 1 | // Alerts 2 | // ******************************************************************************* 3 | 4 | // Alert mixins 5 | @each $state, $value in $theme-colors { 6 | @if $state != primary and $state != light { 7 | @include template-alert-variant('.alert-#{$state}', $value); 8 | } 9 | } 10 | // Adjust close link position 11 | .alert-dismissible { 12 | .btn-close { 13 | padding: $alert-padding-y * 1.45 $alert-padding-x; 14 | background-size: 0.625rem 0.625rem; 15 | } 16 | } 17 | 18 | // Alert icon and line-height styles 19 | .alert { 20 | line-height: 1.375rem; 21 | .alert-icon { 22 | color: $white; 23 | height: $alert-icon-size; 24 | width: $alert-icon-size; 25 | padding: $spacer * 0.68; 26 | margin-right: $spacer; 27 | display: flex; 28 | align-items: center; 29 | justify-content: center; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_badge.scss: -------------------------------------------------------------------------------- 1 | // Badges 2 | // ******************************************************************************* 3 | 4 | // Badge Center Style 5 | 6 | .badge-center { 7 | padding: 3px; 8 | line-height: 1.375; 9 | @include badge-size($badge-height, $badge-width, $badge-center-font-size); 10 | i { 11 | font-size: 0.875rem; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_breadcrumb.scss: -------------------------------------------------------------------------------- 1 | // Breadcrumbs 2 | // ******************************************************************************* 3 | 4 | .breadcrumb-item, 5 | .breadcrumb-item a { 6 | color: $breadcrumb-color; 7 | 8 | &:hover, 9 | &:focus { 10 | color: $breadcrumb-active-color; 11 | } 12 | } 13 | 14 | .breadcrumb-item.active a { 15 | &, 16 | &:hover, 17 | &:focus, 18 | &:active { 19 | color: inherit; 20 | } 21 | } 22 | 23 | // Breadcrumb divider styles 24 | .breadcrumb-style1, 25 | .breadcrumb-style2 { 26 | .breadcrumb-item + .breadcrumb-item::before { 27 | font-family: boxicons; 28 | vertical-align: middle; 29 | } 30 | } 31 | .breadcrumb-style1 .breadcrumb-item + .breadcrumb-item::before { 32 | content: '\ea50'; 33 | font-size: 1.125rem; 34 | line-height: 1.4; 35 | } 36 | .breadcrumb-style2 .breadcrumb-item + .breadcrumb-item::before { 37 | content: '\ebe7'; 38 | font-size: $font-size-lg; 39 | line-height: 1.35rem; 40 | } 41 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_button-group.scss: -------------------------------------------------------------------------------- 1 | // Button groups 2 | // ******************************************************************************* 3 | 4 | // * Split button 5 | // ******************************************************************************* 6 | 7 | .btn-group, 8 | .btn-group-vertical { 9 | &:disabled, 10 | &.disabled { 11 | opacity: 0.45; 12 | } 13 | } 14 | 15 | .dropdown-toggle-split, 16 | .btn-lg + .dropdown-toggle-split, 17 | .btn-group-lg > .btn + .dropdown-toggle-split, 18 | .input-group-lg .btn + .dropdown-toggle-split, 19 | .btn-xl + .dropdown-toggle-split, 20 | .btn-group-xl > .btn + .dropdown-toggle-split { 21 | padding: 0.92em; 22 | } 23 | 24 | .btn-sm + .dropdown-toggle-split, 25 | .btn-group-sm > .btn + .dropdown-toggle-split, 26 | .input-group-sm .btn + .dropdown-toggle-split { 27 | padding-right: 0.6em; 28 | padding-left: 0.6em; 29 | } 30 | 31 | .btn-xs + .dropdown-toggle-split, 32 | .btn-group-xs > .btn + .dropdown-toggle-split { 33 | padding-right: 0.5em; 34 | padding-left: 0.5em; 35 | } 36 | 37 | // * Sizing 38 | // ******************************************************************************* 39 | 40 | .btn-group-xs > .btn { 41 | @extend .btn-xs; 42 | } 43 | 44 | .btn-group-xl > .btn { 45 | @extend .btn-xl; 46 | } 47 | 48 | // Button groups border 49 | 50 | .btn-group > .btn-group:first-child > .btn:not([class*='btn-outline-']):first-child, 51 | .input-group > .btn:not([class*='btn-outline-']):first-child, 52 | :not(.btn-group):not(.input-group) > .btn-group > .btn:not([class*='btn-outline-']):first-child, 53 | .input-group > .btn-group:first-child > .btn:not([class*='btn-outline-']):first-child { 54 | @include ltr-style { 55 | border-left-color: transparent !important; 56 | } 57 | } 58 | 59 | .btn-group > .btn-group:last-child > .btn:not([class*='btn-outline-']):last-of-type, 60 | .input-group > .btn:not([class*='btn-outline-']):last-of-type, 61 | :not(.btn-group):not(.input-group) > .btn-group > .btn:not([class*='btn-outline-']):last-of-type, 62 | .input-group > .btn-group:last-child > .btn:not([class*='btn-outline-']):last-of-type { 63 | @include ltr-style { 64 | border-right-color: transparent !important; 65 | } 66 | } 67 | 68 | .btn-group-vertical > .btn-group-vertical:first-child > .btn:not([class*='btn-outline-']):first-child, 69 | :not(.btn-group-vertical):not(.input-group) > .btn-group-vertical > .btn:not([class*='btn-outline-']):first-child { 70 | border-top-color: transparent !important; 71 | } 72 | 73 | .btn-group-vertical > .btn-group-vertical:last-child > .btn:not([class*='btn-outline-']):last-of-type, 74 | :not(.btn-group-vertical):not(.input-group) > .btn-group-vertical > .btn:not([class*='btn-outline-']):last-of-type { 75 | border-bottom-color: transparent !important; 76 | } 77 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_carousel.scss: -------------------------------------------------------------------------------- 1 | // Carousel 2 | // ******************************************************************************* 3 | 4 | // 5 | .carousel { 6 | .carousel-item.active, 7 | .carousel-item.carousel-item-start { 8 | h1, 9 | .h1, 10 | h2, 11 | .h2, 12 | h3, 13 | .h3, 14 | h4, 15 | .h4, 16 | h5, 17 | .h5, 18 | h6, 19 | .h6 { 20 | color: $carousel-caption-color; 21 | } 22 | } 23 | } 24 | .carousel.carousel-dark { 25 | .carousel-item.active, 26 | .carousel-item.carousel-item-start { 27 | h1, 28 | .h1, 29 | h2, 30 | .h2, 31 | h3, 32 | .h3, 33 | h4, 34 | .h4, 35 | h5, 36 | .h5, 37 | h6, 38 | .h6 { 39 | color: $carousel-dark-caption-color; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_close.scss: -------------------------------------------------------------------------------- 1 | // Close buttons 2 | // ******************************************************************************* 3 | 4 | .close:focus { 5 | outline: 0; 6 | } 7 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_dropdown.scss: -------------------------------------------------------------------------------- 1 | // Dropdowns 2 | // ***************************************************************** 3 | 4 | // On hover outline 5 | [data-trigger='hover'] { 6 | outline: 0; 7 | } 8 | 9 | .dropdown-menu { 10 | margin-top: 1px !important; 11 | box-shadow: $dropdown-box-shadow; 12 | 13 | // Mega dropdown inside the dropdown menu 14 | .mega-dropdown > & { 15 | left: 0 !important; 16 | right: 0 !important; 17 | } 18 | 19 | // Badge within dropdown menu 20 | .badge[class^='float-'], 21 | .badge[class*=' float-'] { 22 | position: relative; 23 | top: 0.071em; 24 | } 25 | } 26 | // Dropdown item line height 27 | .dropdown-item { 28 | li:not(:first-child) &, 29 | .dropdown-menu &:not(:first-child) { 30 | margin-top: 2px; 31 | } 32 | } 33 | 34 | // Hidden dropdown toggle arrow 35 | .dropdown-toggle.hide-arrow, 36 | .dropdown-toggle-hide-arrow > .dropdown-toggle { 37 | &::before, 38 | &::after { 39 | display: none; 40 | } 41 | } 42 | 43 | // Dropdown caret icon 44 | 45 | @if $enable-caret { 46 | // Dropdown arrow 47 | .dropdown-toggle::after { 48 | @include caret-down($caret-width); 49 | } 50 | // Dropend arrow 51 | .dropend .dropdown-toggle::after { 52 | @include caret-right($caret-width); 53 | } 54 | // Dropstart arrow 55 | .dropstart .dropdown-toggle::before { 56 | @include caret-left($caret-width); 57 | } 58 | // Dropup arrow 59 | .dropup .dropdown-toggle::after { 60 | @include caret-up($caret-width); 61 | } 62 | 63 | .dropstart .dropdown-toggle::before, 64 | .dropend .dropdown-toggle::after { 65 | vertical-align: $caret-vertical-align; 66 | } 67 | } 68 | .dropdown-toggle-split:after { 69 | margin-left: 0 !important; 70 | } 71 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_forms.scss: -------------------------------------------------------------------------------- 1 | // Forms 2 | // ***************************************************************** 3 | 4 | @import 'forms/labels'; 5 | @import 'forms/form-control'; 6 | @import 'forms/form-select'; 7 | @import 'forms/form-check'; 8 | @import 'forms/form-range'; 9 | @import 'forms/input-group'; 10 | @import 'forms/floating-labels'; 11 | @import 'forms/validation'; 12 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_include.scss: -------------------------------------------------------------------------------- 1 | //Functions 2 | @import 'bootstrap/scss/functions'; // Bootstrap core functions 3 | @import 'functions'; // Bootstrap extended functions 4 | 5 | //Variables 6 | @import '../_custom-variables/bootstrap-extended'; // Bootstrap extended custom variable (for customization purpose) 7 | @import 'variables'; // Bootstrap extended variable 8 | @import 'bootstrap/scss/variables'; // Bootstrap core variable 9 | @import 'bootstrap/scss/maps'; // Bootstrap core variable 10 | 11 | //Mixins 12 | @import 'bootstrap/scss/mixins'; // Bootstrap core mixins 13 | @import 'mixins'; // Bootstrap extended mixins 14 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List groups 2 | // ******************************************************************************* 3 | 4 | // List Group Mixin 5 | @each $color, $value in $theme-colors { 6 | @if $color != primary and $color != light { 7 | @include template-list-group-item-variant('.list-group-item-#{$color}', $value); 8 | } 9 | } 10 | .list-group { 11 | .list-group-item { 12 | line-height: 1.375rem; 13 | padding-bottom: calc($list-group-item-padding-y - 1px); 14 | } 15 | &:not([class*='list-group-flush']) .list-group-item:first-of-type { 16 | padding-top: calc($list-group-item-padding-y - 1px); 17 | } 18 | &[class*='list-group-flush'] .list-group-item:last-of-type { 19 | padding-bottom: $list-group-item-padding-y; 20 | } 21 | &[class*='list-group-horizontal-md'] .list-group-item { 22 | @include media-breakpoint-up(md) { 23 | padding-top: calc($list-group-item-padding-y - 1px); 24 | } 25 | } 26 | } 27 | 28 | .list-group { 29 | // Timeline CSS 30 | &.list-group-timeline { 31 | position: relative; 32 | &:before { 33 | background-color: $border-color; 34 | position: absolute; 35 | content: ''; 36 | width: 1px; 37 | height: 100%; 38 | top: 0; 39 | bottom: 0; 40 | left: 0.2rem; 41 | } 42 | .list-group-item { 43 | border: none; 44 | padding-left: 1.25rem; 45 | &:before { 46 | position: absolute; 47 | display: block; 48 | content: ''; 49 | width: 7px; 50 | height: 7px; 51 | left: 0; 52 | top: 50%; 53 | margin-top: -3.5px; 54 | border-radius: 100%; 55 | } 56 | } 57 | } 58 | 59 | .list-group-item.active { 60 | h1, 61 | .h1, 62 | h2, 63 | .h2, 64 | h3, 65 | .h3, 66 | h4, 67 | .h4, 68 | h5, 69 | .h5, 70 | h6, 71 | .h6 { 72 | color: $primary; 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // 3 | // Template mixins (custom and overrides) 4 | @import 'mixins/alert'; 5 | @import 'mixins/badge'; 6 | @import 'mixins/buttons'; 7 | @import 'mixins/list-group'; 8 | @import 'mixins/navs'; 9 | @import 'mixins/pagination'; 10 | @import 'mixins/progress'; 11 | @import 'mixins/toasts'; 12 | @import 'mixins/caret'; 13 | @import 'mixins/dropdown'; 14 | @import 'mixins/forms'; 15 | @import 'mixins/table-variants'; 16 | @import 'mixins/misc'; // layout, text directions & colors 17 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_modal.scss: -------------------------------------------------------------------------------- 1 | // Modals 2 | // ******************************************************************************* 3 | 4 | // Modal Shadow 5 | .modal-content { 6 | box-shadow: $modal-content-box-shadow-xs; 7 | } 8 | 9 | // Modal Header close btn style 10 | .modal { 11 | .btn-close { 12 | background-color: $card-bg; 13 | border-radius: $border-radius-sm; 14 | background-image: str-replace(str-replace($btn-close-bg, '#{$btn-close-color}', $text-muted), '#', '%23'); 15 | opacity: 1; 16 | padding: 0.563rem; 17 | box-shadow: $box-shadow-xs; 18 | background-size: 0.75rem 0.6875rem; 19 | transition: all 0.23s ease 0.1s; 20 | 21 | @include ltr-style { 22 | transform: translate(23px, -25px); 23 | } 24 | 25 | // For hover effect of close btn 26 | &:hover, 27 | &:focus, 28 | &:active { 29 | opacity: 1; 30 | outline: none; 31 | 32 | @include ltr-style { 33 | transform: translate(20px, -20px); 34 | } 35 | } 36 | } 37 | .modal-header { 38 | position: relative; 39 | .btn-close { 40 | position: absolute; 41 | top: $modal-dialog-margin + 0.1875rem; 42 | right: $modal-footer-margin-between - 0.1875rem; 43 | } 44 | } 45 | } 46 | 47 | // modal footer 48 | .modal-footer { 49 | padding: $modal-footer-padding; 50 | > * { 51 | margin-block: 0; 52 | &:last-child { 53 | margin-left: 0; 54 | } 55 | &:first-child { 56 | margin-right: 0; 57 | } 58 | } 59 | } 60 | 61 | // ! remove close button animation & shadow for .modal-dialog-scrollable, .modal-fullscreen, .modal-top modal 62 | .modal-dialog-scrollable, 63 | .modal-fullscreen, 64 | .modal-top { 65 | .btn-close { 66 | box-shadow: none; 67 | @include ltr-style { 68 | transform: translate(0, 0) !important; 69 | } 70 | 71 | &:hover { 72 | @include ltr-style { 73 | transform: translate(0, 0) !important; 74 | } 75 | } 76 | } 77 | } 78 | 79 | // Top modals 80 | // ******************************************************************************* 81 | 82 | .modal-top { 83 | .modal-dialog { 84 | margin-top: 0; 85 | } 86 | 87 | .modal-content { 88 | @include border-top-radius(0); 89 | } 90 | } 91 | 92 | // Responsive 93 | // ******************************************************************************* 94 | 95 | @include media-breakpoint-down(lg) { 96 | .modal-onboarding .onboarding-horizontal { 97 | flex-direction: column; 98 | } 99 | } 100 | @include media-breakpoint-down(md) { 101 | .modal { 102 | .modal-dialog:not(.modal-fullscreen) { 103 | padding: 0 0.75rem; 104 | padding-left: 0.75rem !important; 105 | } 106 | .carousel-control-prev, 107 | .carousel-control-next { 108 | display: none; 109 | } 110 | } 111 | } 112 | @include media-breakpoint-up(sm) { 113 | .modal-content { 114 | box-shadow: $modal-content-box-shadow-sm-up; 115 | } 116 | .modal-sm .modal-dialog { 117 | max-width: $modal-sm; 118 | } 119 | } 120 | @include media-breakpoint-up(xl) { 121 | .modal-xl .modal-dialog { 122 | max-width: $modal-xl; 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_navbar.scss: -------------------------------------------------------------------------------- 1 | // Navbar 2 | // ******************************************************************************* 3 | 4 | .navbar { 5 | z-index: 2; 6 | // ! Fix: navbar dropdown focus outline 7 | .dropdown:focus, 8 | .dropdown-toggle:focus { 9 | outline: 0; 10 | } 11 | .navbar-toggler { 12 | border: none; 13 | } 14 | .navbar-toggler:focus { 15 | box-shadow: none; 16 | } 17 | } 18 | 19 | .fixed-top { 20 | z-index: $zindex-fixed; 21 | } 22 | 23 | .navbar.navbar-light { 24 | color: $navbar-light-color; 25 | } 26 | 27 | .navbar-light .navbar-nav .nav-link.disabled { 28 | color: $navbar-light-disabled-color !important; 29 | } 30 | 31 | .navbar.navbar-dark { 32 | color: $navbar-dark-color; 33 | } 34 | 35 | .navbar-dark .navbar-nav .nav-link.disabled { 36 | color: $navbar-dark-disabled-color !important; 37 | } 38 | 39 | // IE fix 40 | .navbar-collapse, 41 | .navbar-brand, 42 | .navbar-text { 43 | flex-shrink: 1; 44 | } 45 | 46 | // Icons 47 | // .navbar-icon { 48 | // font-size: 130%; 49 | // } 50 | 51 | // Rulers 52 | .navbar-dark hr { 53 | border-color: rgba(255, 255, 255, 0.1); 54 | } 55 | 56 | .navbar-light hr { 57 | border-color: $gray-100; 58 | } 59 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_offcanvas.scss: -------------------------------------------------------------------------------- 1 | // Offcanvas 2 | // ******************************************************************************* 3 | 4 | .offcanvas { 5 | box-shadow: $offcanvas-box-shadow; 6 | } 7 | .offcanvas-header { 8 | padding-bottom: $offcanvas-padding-y * 0.5; 9 | } 10 | 11 | .offcanvas-body { 12 | padding-top: $offcanvas-padding-y * 0.5; 13 | } 14 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | // ******************************************************************************* 3 | 4 | // Pagination next, prev, first & last css padding 5 | .page-item { 6 | &.first, 7 | &.last, 8 | &.next, 9 | &.prev, 10 | &.previous { 11 | .page-link { 12 | padding: $pagination-padding-y - 0.043rem $pagination-padding-x - 0.067rem; 13 | } 14 | } 15 | &.disabled, 16 | &[disabled] { 17 | .page-link { 18 | opacity: $pagination-disabled-opacity; 19 | pointer-events: none; 20 | } 21 | } 22 | } 23 | .page-item:last-child .tf-icon { 24 | transform: translateX(7%); 25 | } 26 | 27 | // Pagination basic style 28 | .page-link, 29 | .page-link > a { 30 | @include border-radius($border-radius); 31 | 32 | text-align: center; 33 | min-width: calc( 34 | #{'#{($font-size-base * $pagination-line-height) + ($pagination-padding-x * 1.923)} + calc(#{$pagination-border-width} * 2)'} 35 | ); 36 | min-height: calc( 37 | #{'#{($font-size-base * $pagination-line-height) + ($pagination-padding-y * 2)} + calc(#{$pagination-border-width} * 2)'} 38 | ); 39 | 40 | &:focus { 41 | color: $pagination-hover-color; 42 | } 43 | display: inline-flex !important; 44 | justify-content: center; 45 | align-items: center; 46 | } 47 | 48 | // Add spacing between pagination items 49 | .page-item + .page-item .page-link, 50 | .pagination li + li > a:not(.page-link) { 51 | .pagination-sm & { 52 | margin-left: 0.25rem; 53 | } 54 | .pagination-lg & { 55 | margin-left: 0.5rem; 56 | } 57 | } 58 | 59 | // Removed border from default pagination and set line-height of icons 60 | .pagination { 61 | .page-link { 62 | border-color: transparent; 63 | } 64 | } 65 | 66 | .page-link.btn-primary { 67 | box-shadow: none !important; 68 | } 69 | 70 | // Sizing 71 | // ******************************************************************************* 72 | 73 | // Pagination Large 74 | .pagination-lg .page-link, 75 | .pagination-lg > li > a:not(.page-link) { 76 | min-width: calc( 77 | #{'#{($font-size-base * $pagination-line-height) + ($pagination-padding-x-lg * 1.615)} + calc(#{$pagination-border-width} * 2)'} 78 | ); 79 | min-height: calc( 80 | #{'#{($font-size-base * $pagination-line-height) + ($pagination-padding-y-lg * 2.33)} + calc(#{$pagination-border-width} * 2)'} 81 | ); 82 | } 83 | 84 | // Pagination Small 85 | .pagination-sm .page-link, 86 | .pagination-sm > li > a:not(.page-link) { 87 | min-width: calc( 88 | #{'#{($font-size-sm * $pagination-line-height) + ($pagination-padding-x-sm * 2.356)} + calc(#{$pagination-border-width} * 2)'} 89 | ); 90 | min-height: calc( 91 | #{'#{($font-size-sm * $pagination-line-height) + ($pagination-padding-y-sm * 2)} + calc(#{$pagination-border-width} * 2)'} 92 | ); 93 | } 94 | .pagination-sm > .page-item { 95 | &.first, 96 | &.last, 97 | &.next, 98 | &.prev, 99 | &.previous { 100 | .page-link { 101 | padding: $pagination-padding-y-sm - 0.1055rem; 102 | } 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_popover.scss: -------------------------------------------------------------------------------- 1 | // Popovers 2 | // ******************************************************************************* 3 | 4 | .modal-open .popover { 5 | z-index: $zindex-modal + 1; 6 | } 7 | 8 | .popover { 9 | box-shadow: $popover-box-shadow; 10 | 11 | .popover-arrow { 12 | z-index: 1; 13 | } 14 | } 15 | 16 | // popover header font size override 17 | .popover-header { 18 | padding: $popover-header-padding-x $popover-header-padding-x $popover-header-padding-y; 19 | @include font-size($popover-header-font-size); 20 | } 21 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_progress.scss: -------------------------------------------------------------------------------- 1 | // Progress 2 | // ******************************************************************************* 3 | 4 | .progress { 5 | overflow: initial; //revet the default style for box-shadow 6 | } 7 | 8 | // Progress Shadow Variant 9 | @each $color, $value in $theme-colors { 10 | @if $color != primary { 11 | @include template-progress-bar-shadow-variant('.bg-#{$color}', $value); 12 | } 13 | } 14 | 15 | @include ltr-only { 16 | .progress { 17 | // border radius for first and last child 18 | .progress-bar:last-child { 19 | border-top-right-radius: $progress-border-radius; 20 | border-bottom-right-radius: $progress-border-radius; 21 | } 22 | .progress-bar:first-child { 23 | border-top-left-radius: $progress-border-radius; 24 | border-bottom-left-radius: $progress-border-radius; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_reboot.scss: -------------------------------------------------------------------------------- 1 | // Reboot 2 | // 3 | 4 | b, 5 | strong { 6 | font-weight: $font-weight-bold; 7 | } 8 | 9 | a:not([href]) { 10 | color: inherit; 11 | text-decoration: none; 12 | 13 | &:hover { 14 | color: inherit; 15 | text-decoration: none; 16 | } 17 | } 18 | 19 | //! Fix: Autofill input bg and text color issue on different OS and browsers 20 | input:-webkit-autofill, 21 | input:-webkit-autofill:hover, 22 | input:-webkit-autofill:focus, 23 | textarea:-webkit-autofill, 24 | textarea:-webkit-autofill:hover, 25 | textarea:-webkit-autofill:focus, 26 | select:-webkit-autofill, 27 | select:-webkit-autofill:hover, 28 | select:-webkit-autofill:focus, 29 | input:-internal-autofill-selected { 30 | background-clip: text !important; 31 | -webkit-background-clip: text !important; 32 | } 33 | 34 | h1 { 35 | line-height: $h1-line-height; 36 | } 37 | h2 { 38 | line-height: $h2-line-height; 39 | } 40 | 41 | h3 { 42 | line-height: $h3-line-height; 43 | } 44 | 45 | h4 { 46 | line-height: $h4-line-height; 47 | } 48 | 49 | h5 { 50 | line-height: $h5-line-height; 51 | } 52 | 53 | h6 { 54 | line-height: $h6-line-height; 55 | } 56 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_root.scss: -------------------------------------------------------------------------------- 1 | // The color-scheme CSS property https://web.dev/color-scheme/ 2 | :root { 3 | color-scheme: #{$color-scheme}; 4 | } 5 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_spinners.scss: -------------------------------------------------------------------------------- 1 | // Spinners 2 | // 3 | 4 | //Large size 5 | .spinner-border-lg { 6 | width: $spinner-width-lg; 7 | height: $spinner-height-lg; 8 | border-width: $spinner-border-width-lg; 9 | } 10 | 11 | .spinner-grow-lg { 12 | width: $spinner-width-lg; 13 | height: $spinner-height-lg; 14 | border-width: $spinner-border-width-lg; 15 | } 16 | 17 | @include keyframes('spinner-border-rtl') { 18 | to { 19 | transform: rotate(-360deg); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_toasts.scss: -------------------------------------------------------------------------------- 1 | // Toasts 2 | // ******************************************************************************* 3 | 4 | // Toast Mixin 5 | @each $color, $value in $theme-colors { 6 | @if $color != primary { 7 | @include template-toast-variant('.bg-#{$color}', $value); 8 | } 9 | } 10 | 11 | .bs-toast[class^='bg-'], 12 | .bs-toast[class*=' bg-'] { 13 | border: none; 14 | } 15 | 16 | .toast.bs-toast { 17 | background-color: rgba($toast-background-color, $toast-bg-factor); 18 | z-index: $zindex-toast; 19 | .toast-header { 20 | padding-bottom: 0.5rem; 21 | position: relative; 22 | .btn-close { 23 | position: absolute; 24 | top: -8px; 25 | border-radius: $border-radius; 26 | padding: 0.45rem; 27 | background-size: $toast-btn-close-size; 28 | transition: all 0.23s ease 0.1s; 29 | background-color: $toast-background-color; 30 | box-shadow: $box-shadow-sm; 31 | @include ltr-style { 32 | right: 2px; 33 | } 34 | 35 | // For hover effect of close btn 36 | &:hover, 37 | &:focus, 38 | &:active { 39 | opacity: 1; 40 | outline: none; 41 | } 42 | } 43 | } 44 | .toast-header ~ .toast-body { 45 | padding-top: 0; 46 | } 47 | } 48 | .toast-container { 49 | --#{$prefix}toast-zindex: 9; 50 | } 51 | 52 | // Bootstrap Toasts Example 53 | .toast-ex { 54 | position: fixed; 55 | top: 4.1rem; 56 | right: 2.5rem; 57 | } 58 | // Placement Toast example 59 | .toast-placement-ex { 60 | position: fixed; 61 | } 62 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_tooltip.scss: -------------------------------------------------------------------------------- 1 | // Tooltips 2 | // ******************************************************************************* 3 | 4 | // Open modal tooltip z-index 5 | .modal-open .tooltip { 6 | z-index: $zindex-modal + 2; 7 | } 8 | 9 | .tooltip-inner { 10 | font-weight: $font-weight-medium; 11 | display: flex; 12 | align-items: center; 13 | gap: 3px; 14 | } 15 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/_type.scss: -------------------------------------------------------------------------------- 1 | // Type 2 | // 3 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/forms/_floating-labels.scss: -------------------------------------------------------------------------------- 1 | // Floating Labels 2 | // ******************************************************************************* 3 | 4 | // Display placeholder on focus 5 | .form-floating { 6 | > .form-control:focus, 7 | > .form-control:not(:placeholder-shown) { 8 | &::placeholder { 9 | color: $input-placeholder-color; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/forms/_form-check.scss: -------------------------------------------------------------------------------- 1 | // Checkboxes and Radios 2 | // ******************************************************************************* 3 | .form-check-input { 4 | cursor: $form-check-label-cursor; 5 | &:disabled { 6 | background-color: $form-check-input-disabled-bg; 7 | border-color: $form-check-input-disabled-bg; 8 | } 9 | &:checked { 10 | box-shadow: $box-shadow-sm; 11 | } 12 | } 13 | 14 | .form-check { 15 | position: relative; 16 | } 17 | 18 | .form-check:not(.form-switch) { 19 | .form-check-input[type='radio'] { 20 | background-size: 1.3125rem; 21 | &:not(:checked) { 22 | background-size: 0.75rem; 23 | } 24 | } 25 | } 26 | // Switches 27 | // ******************************************************************************* 28 | 29 | .form-switch .form-check-input { 30 | background-color: $form-switch-bg; 31 | border: none; 32 | box-shadow: $form-switch-box-shadow; 33 | &:focus { 34 | box-shadow: $form-switch-box-shadow; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/forms/_form-control.scss: -------------------------------------------------------------------------------- 1 | // Form control 2 | // ******************************************************************************* 3 | .form-control { 4 | //? Form control (all size) padding calc due to border increase on focus 5 | padding: calc($input-padding-y - $input-border-width) calc($input-padding-x - $input-border-width); 6 | // form input placeholder animation 7 | &::placeholder, 8 | &:focus::placeholder { 9 | transition: all 0.2s ease; 10 | } 11 | // border color on hover state 12 | &:hover { 13 | &:not([disabled]):not([focus]) { 14 | border-color: $input-border-hover-color; 15 | } 16 | } 17 | &:focus { 18 | border-width: $input-focus-border-width; 19 | padding: calc($input-padding-y - $input-focus-border-width) calc($input-padding-x - $input-focus-border-width); 20 | } 21 | &.form-control-lg { 22 | padding: calc($input-padding-y-lg - $input-border-width) calc($input-padding-x-lg - $input-border-width); 23 | &:focus { 24 | padding: calc($input-padding-y-lg - $input-focus-border-width) 25 | calc($input-padding-x-lg - $input-focus-border-width); 26 | } 27 | } 28 | &.form-control-sm { 29 | padding: calc($input-padding-y-sm - $input-border-width) calc($input-padding-x-sm - $input-border-width); 30 | &:focus { 31 | padding: calc($input-padding-y-sm - $input-focus-border-width) 32 | calc($input-padding-x-sm - $input-focus-border-width); 33 | } 34 | } 35 | } 36 | .input-group:has(button) .form-control { 37 | padding: calc($input-padding-y - $input-border-width) calc($input-padding-x - $input-border-width) !important; 38 | border-width: $input-border-width !important; 39 | } 40 | .form-control:not([readonly]) { 41 | &:focus::placeholder { 42 | transform: translateX(5px); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/forms/_form-range.scss: -------------------------------------------------------------------------------- 1 | // Range select 2 | // ******************************************************************************* 3 | 4 | .form-range { 5 | // Chrome specific 6 | &::-webkit-slider-thumb { 7 | box-shadow: $form-range-thumb-box-shadow; 8 | 9 | &:hover { 10 | box-shadow: 0 0 0 8px rgba($primary, 0.16); 11 | } 12 | &:active, 13 | &:focus { 14 | box-shadow: 0 0 0 13px rgba($primary, 0.16); 15 | border-color: $primary; 16 | } 17 | } 18 | &::-webkit-slider-runnable-track { 19 | background-color: $primary; 20 | } 21 | 22 | // Mozilla specific 23 | &::-moz-range-thumb { 24 | box-shadow: $form-range-thumb-box-shadow; 25 | &:hover { 26 | box-shadow: 0 0 0 8px rgba($primary, 0.16); 27 | } 28 | &:active, 29 | &:focus { 30 | box-shadow: 0 0 0 13px rgba($primary, 0.16); 31 | border-color: $primary; 32 | } 33 | } 34 | 35 | &::-moz-range-track { 36 | background-color: $primary; 37 | } 38 | &:disabled { 39 | &::-webkit-slider-runnable-track { 40 | background-color: $form-range-track-disabled-bg; 41 | } 42 | 43 | &::-moz-range-track { 44 | background-color: $form-range-track-disabled-bg; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/forms/_form-select.scss: -------------------------------------------------------------------------------- 1 | // Select 2 | // ******************************************************************************* 3 | 4 | .form-select { 5 | background-clip: padding-box; 6 | padding: calc($form-select-padding-y - $input-border-width) calc($form-select-padding-x - $input-border-width); 7 | padding-inline-end: calc($form-select-padding-x * 3 - $input-border-width); 8 | &:hover { 9 | &:not([disabled]):not([focus]) { 10 | border-color: $input-border-hover-color; 11 | } 12 | } 13 | &:disabled { 14 | background-image: escape-svg($form-select-disabled-indicator); 15 | } 16 | &:focus { 17 | border-width: $input-focus-border-width; 18 | padding: calc($form-select-padding-y - $input-focus-border-width) 19 | calc($form-select-padding-x * 3 - $input-focus-border-width) 20 | calc($form-select-padding-y - $input-focus-border-width) calc($form-select-padding-x - $input-focus-border-width); 21 | background-position: right calc($form-select-padding-x - 1px) center; 22 | } 23 | &.form-select-lg { 24 | min-height: $input-height-lg; 25 | background-size: 24px 24px; 26 | padding: calc($form-select-padding-y-lg - $input-border-width) calc($form-select-padding-x-lg - $input-border-width); 27 | padding-inline-end: calc($form-select-padding-x-lg * 3 - $input-border-width); 28 | &:focus { 29 | padding: calc($form-select-padding-y-lg - $input-focus-border-width) 30 | calc($form-select-padding-x-lg * 3 - $input-focus-border-width) 31 | calc($form-select-padding-y-lg - $input-focus-border-width) 32 | calc($form-select-padding-x-lg - $input-focus-border-width); 33 | } 34 | } 35 | &.form-select-sm { 36 | min-height: $input-height-sm; 37 | background-size: 20px 20px; 38 | padding: calc($form-select-padding-y-sm - $input-border-width) calc($form-select-padding-x-sm - $input-border-width); 39 | padding-inline-end: calc($form-select-padding-x-sm * 3 - $input-border-width); 40 | &:focus { 41 | padding: calc($form-select-padding-y-sm - $input-focus-border-width) 42 | calc($form-select-padding-x-sm * 3 - $input-focus-border-width) 43 | calc($form-select-padding-y-sm - $input-focus-border-width) 44 | calc($form-select-padding-x-sm - $input-focus-border-width); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/forms/_labels.scss: -------------------------------------------------------------------------------- 1 | // Labels 2 | // ******************************************************************************* 3 | 4 | .form-label, 5 | .col-form-label { 6 | text-transform: $form-label-text-transform; 7 | letter-spacing: $form-label-letter-spacing; 8 | color: $headings-color; 9 | white-space: nowrap; 10 | } 11 | // Default (vertical ) form label size 12 | .form-label-lg { 13 | @include font-size($input-font-size-lg); 14 | } 15 | 16 | .form-label-sm { 17 | @include font-size($input-font-size-sm); 18 | } 19 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/forms/_validation.scss: -------------------------------------------------------------------------------- 1 | // Validation states 2 | // ******************************************************************************* 3 | 4 | @each $state, $data in $form-validation-states { 5 | @include template-form-validation-state($state, $data...); 6 | } 7 | 8 | // Currently supported for form-validation and jq-validation 9 | form { 10 | .error:not(li):not(input) { 11 | color: $form-feedback-invalid-color; 12 | font-size: 85%; 13 | margin-top: 0.25rem; 14 | } 15 | 16 | .invalid, 17 | .is-invalid .invalid:before, 18 | .is-invalid::before { 19 | border-width: $input-focus-border-width; 20 | border-color: $form-feedback-invalid-color !important; 21 | } 22 | 23 | .form-label { 24 | &.invalid, 25 | &.is-invalid { 26 | border-width: $input-focus-border-width; 27 | border-color: $form-feedback-invalid-color; 28 | box-shadow: 0 0 0 2px rgba($form-feedback-invalid-color, 0.4) !important; 29 | } 30 | } 31 | 32 | select { 33 | &.invalid { 34 | & ~ .select2 { 35 | .select2-selection { 36 | border-width: $input-focus-border-width; 37 | border-color: $form-feedback-invalid-color; 38 | } 39 | } 40 | } 41 | 42 | // FormValidation 43 | 44 | //Select2 45 | &.is-invalid { 46 | & ~ .select2 { 47 | .select2-selection { 48 | border-width: $input-focus-border-width; 49 | border-color: $form-feedback-invalid-color !important; 50 | } 51 | } 52 | } 53 | // Bootstrap select 54 | &.selectpicker { 55 | &.is-invalid { 56 | ~ .btn { 57 | padding: calc($input-padding-y - $input-focus-border-width) calc($input-padding-x - $input-border-width); 58 | border-width: $input-focus-border-width; 59 | border-color: $form-feedback-invalid-color !important; 60 | } 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | // Alerts 2 | // ******************************************************************************* 3 | 4 | @mixin alert-variant($background: null, $border: null, $color: null) { 5 | } 6 | 7 | // Basic Alerts 8 | @mixin template-alert-variant($parent, $background) { 9 | $border: if( 10 | $dark-style, 11 | shift-color($background, -$alert-border-scale, $card-bg), 12 | shift-color($background, $alert-border-scale, $card-bg) 13 | ); 14 | $color: $background; 15 | $background: if( 16 | $dark-style, 17 | shade-color($background, $alert-bg-scale, $card-bg), 18 | tint-color($background, $alert-bg-tint-scale, $card-bg) 19 | ); 20 | 21 | #{$parent} { 22 | @include gradient-bg($background); 23 | border-color: $border; 24 | color: $color; 25 | .btn-close { 26 | background-image: str-replace(str-replace($btn-close-bg, '#{$btn-close-color}', $color), '#', '%23'); 27 | } 28 | 29 | .alert-link { 30 | color: $color; 31 | } 32 | } 33 | 34 | #{$parent} { 35 | hr { 36 | color: $color !important; 37 | } 38 | .alert-icon { 39 | background-color: $color; 40 | box-shadow: 0 0 0 0.125rem rgba($color, 0.16); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_badge.scss: -------------------------------------------------------------------------------- 1 | // Badges 2 | // ******************************************************************************* 3 | 4 | // Size 5 | @mixin badge-size($badge-height, $badge-width, $badge-font-size) { 6 | height: $badge-height; 7 | width: $badge-width; 8 | @include font-size($badge-font-size); 9 | } 10 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_caret.scss: -------------------------------------------------------------------------------- 1 | // * Carets 2 | // ******************************************************************************* 3 | 4 | @mixin caret-up($caret-width) { 5 | margin-top: 0.97 * divide($caret-width, 2); 6 | margin-left: 0.8em; 7 | width: $caret-width; 8 | height: $caret-width; 9 | border: 2px solid; 10 | border-bottom: 0; 11 | border-left: 0; 12 | transform: rotate(-45deg); 13 | } 14 | 15 | @mixin caret-down($caret-width) { 16 | margin-top: -1.07 * divide($caret-width, 2); 17 | margin-left: 0.8em; 18 | width: $caret-width; 19 | height: $caret-width; 20 | border: 2px solid; 21 | border-top: 0; 22 | border-left: 0; 23 | transform: rotate(45deg); 24 | } 25 | 26 | @mixin caret-left($caret-width) { 27 | margin-top: 0; 28 | margin-right: 0.5em; 29 | width: $caret-width; 30 | height: $caret-width; 31 | border: 2px solid; 32 | border-top: 0; 33 | border-right: 0; 34 | transform: rotate(45deg); 35 | } 36 | 37 | @mixin caret-right($caret-width) { 38 | margin-top: 0; 39 | margin-right: 0.5em; 40 | width: $caret-width; 41 | height: $caret-width; 42 | border: 2px solid; 43 | border-top: 0; 44 | border-left: 0; 45 | transform: rotate(-45deg); 46 | } 47 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_dropdown.scss: -------------------------------------------------------------------------------- 1 | // * Dropdowns 2 | // ******************************************************************************* 3 | 4 | @mixin template-dropdown-variant($parent, $background, $color: null) { 5 | #{$parent} .dropdown-item { 6 | &:not(.disabled).active, 7 | &:not(.disabled):active { 8 | background-color: $background; 9 | color: if($color, $color, color-contrast($background)) !important; 10 | } 11 | } 12 | 13 | #{$parent}.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active, 14 | #{$parent}.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) { 15 | background-color: $background; 16 | color: if($color, $color, color-contrast($background)) !important; 17 | } 18 | // DataTables collection dropdown item active 19 | .dt-button-collection { 20 | .dropdown-item:not(.disabled):active { 21 | background-color: $background; 22 | } 23 | } 24 | } 25 | 26 | @mixin template-dropdown-theme($background, $color: null) { 27 | @include template-dropdown-variant('', $background, $color); 28 | } 29 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List groups 2 | // ******************************************************************************* 3 | 4 | @mixin list-group-item-variant($state: null, $background: null, $color: null) { 5 | } 6 | 7 | // Basic List groups 8 | @mixin template-list-group-item-variant($parent, $background, $color: null) { 9 | $background-color: if( 10 | $dark-style, 11 | shift-color($background, -$list-group-item-bg-scale, $card-bg), 12 | shift-color($background, $list-group-item-bg-scale, $card-bg) 13 | ); 14 | $border-color: if( 15 | $dark-style, 16 | if( 17 | $parent == '.list-group-item-dark', 18 | color-contrast($background), 19 | shift-color($background, -$list-group-item-color-scale, $card-bg) 20 | ), 21 | shift-color($background, $list-group-item-color-scale, $card-bg) 22 | ); 23 | $color: shift-color($background, $list-group-item-color-scale); 24 | $hover-background: shade-color($background-color, $list-group-item-bg-hover-scale); 25 | #{$parent} { 26 | border-color: $border-color; 27 | background-color: $background-color; 28 | color: $color !important; 29 | } 30 | 31 | a#{$parent}, 32 | button#{$parent} { 33 | color: $color; 34 | &:hover, 35 | &:focus { 36 | border-color: $border-color; 37 | background-color: $hover-background; 38 | color: $color; 39 | } 40 | 41 | &.active { 42 | border-color: $border-color !important; 43 | background-color: $background !important; 44 | // color: if($color, $color, color-contrast($background)); 45 | color: color-contrast($background) !important; 46 | } 47 | } 48 | } 49 | 50 | @mixin template-list-group-theme($background, $color: null) { 51 | @include template-list-group-item-variant('.list-group-item-primary', $background); 52 | 53 | .list-group-item.active { 54 | &, 55 | &:hover, 56 | &:focus { 57 | background-color: rgba-to-hex(rgba($background, 0.16), $card-bg); 58 | color: $background; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_misc.scss: -------------------------------------------------------------------------------- 1 | // * Light/Dark layout 2 | // ******************************************************************************* 3 | @mixin light-layout-only() { 4 | @if $dark-style { 5 | html:not(.dark-style) { 6 | @content; 7 | } 8 | } @else { 9 | @content; 10 | } 11 | } 12 | 13 | // * RTL/LTR 14 | // ******************************************************************************* 15 | 16 | @mixin ltr-only() { 17 | @if $rtl-support { 18 | html:not([dir='rtl']) { 19 | @content; 20 | } 21 | } @else { 22 | @content; 23 | } 24 | } 25 | 26 | @mixin ltr-style() { 27 | @if $rtl-support { 28 | html:not([dir='rtl']) & { 29 | @content; 30 | } 31 | } @else { 32 | @content; 33 | } 34 | } 35 | 36 | // * Keyframes 37 | // ******************************************************************************* 38 | 39 | @mixin keyframes($name) { 40 | @-webkit-keyframes #{$name} { 41 | @content; 42 | } 43 | 44 | @-moz-keyframes #{$name} { 45 | @content; 46 | } 47 | 48 | @keyframes #{$name} { 49 | @content; 50 | } 51 | } 52 | 53 | // * Colors 54 | // ******************************************************************************* 55 | 56 | @mixin bg-color-variant($parent, $color, $rth-color: #000) { 57 | #{$parent} { 58 | background-color: $color !important; 59 | } 60 | 61 | a#{$parent} { 62 | &:hover, 63 | &:focus { 64 | background-color: rgba-to-hex(rgba($color, 0.95), $background: $rth-color) !important; 65 | } 66 | } 67 | 68 | //! Fix: Dropdown notification read badge bg color 69 | .dropdown-notifications-item:not(.mark-as-read) { 70 | .dropdown-notifications-read span { 71 | background-color: $color; 72 | } 73 | } 74 | } 75 | 76 | @mixin bg-variant($parent, $color, $rth-color: #000) { 77 | @include bg-color-variant($parent, $color); 78 | } 79 | 80 | // BG Label 81 | @mixin bg-label-variant($parent, $background, $color: $background) { 82 | $label-background: if( 83 | $dark-style, 84 | shade-color($background, $btn-label-bg-shade-amount, $card-bg), 85 | tint-color($background, $btn-label-bg-tint-amount, $card-bg) 86 | ); 87 | #{$parent} { 88 | background-color: $label-background !important; 89 | color: if($color, $color, color-contrast($bg)) !important; 90 | } 91 | } 92 | 93 | // Border Label 94 | @mixin border-label-variant($parent, $background) { 95 | $label-background: if( 96 | $dark-style, 97 | shade-color($background, $border-shade-amount), 98 | tint-color($background, $border-tint-amount) 99 | ); 100 | #{$parent} { 101 | border: 3px solid $label-background !important; 102 | } 103 | } 104 | 105 | // Border Light 106 | @mixin border-light-variant($parent, $background) { 107 | #{$parent} { 108 | border: 3px solid rgba($background, 0.08); 109 | } 110 | } 111 | 112 | @mixin text-variant($parent, $color) { 113 | #{$parent} { 114 | color: $color !important; 115 | } 116 | //! Fix: text-body hover color 117 | .text-body, 118 | .text-heading { 119 | &[href]:hover { 120 | color: shift-color($color, $link-shade-percentage) !important; 121 | } 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_navs.scss: -------------------------------------------------------------------------------- 1 | // Navs 2 | // ******************************************************************************* 3 | 4 | @mixin template-nav-size($padding-y, $padding-x, $font-size, $line-height) { 5 | > .nav .nav-link, 6 | &.nav .nav-link { 7 | padding: $padding-y $padding-x; 8 | font-size: $font-size; 9 | line-height: $line-height; 10 | } 11 | } 12 | 13 | @mixin template-nav-variant($parent, $background, $color: null) { 14 | $pills-selector: if($parent== '', '.nav-pills', '#{$parent}.nav-pills, #{$parent} > .nav-pills'); 15 | 16 | #{$pills-selector} .nav-link.active { 17 | box-shadow: 0 0.125rem 0.25rem 0 rgba($background, 0.4); 18 | &, 19 | &:hover, 20 | &:focus { 21 | background-color: $background; 22 | color: if($color, $color, color-contrast($background)); 23 | } 24 | } 25 | #{$parent}.nav-tabs .nav-link.active, 26 | #{$parent}.nav-tabs .nav-link.active { 27 | &, 28 | &:hover, 29 | &:focus { 30 | box-shadow: 0 -2px 0 $background inset; 31 | } 32 | } 33 | 34 | .nav-align-bottom .nav-tabs .nav-link.active, 35 | .nav-align-bottom .nav-tabs .nav-link.active { 36 | &, 37 | &:hover, 38 | &:focus { 39 | box-shadow: 0 2px 0 $background inset; 40 | } 41 | } 42 | 43 | .nav-align-left .nav-tabs .nav-link.active, 44 | .nav-align-left .nav-tabs .nav-link.active { 45 | &, 46 | &:hover, 47 | &:focus { 48 | box-shadow: -2px 0px 0 $background inset; 49 | } 50 | } 51 | 52 | .nav-align-right .nav-tabs .nav-link.active, 53 | .nav-align-right .nav-tabs .nav-link.active { 54 | &, 55 | &:hover, 56 | &:focus { 57 | box-shadow: 2px 0px 0 $background inset; 58 | } 59 | } 60 | } 61 | 62 | @mixin template-nav-theme($background, $color: null) { 63 | @include template-nav-variant('', $background, $color); 64 | } 65 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | // ******************************************************************************* 3 | 4 | // Basic Pagination 5 | @mixin template-pagination-variant($parent, $background, $color: null) { 6 | #{$parent} .page-item.active .page-link, 7 | #{$parent}.pagination li.active > a:not(.page-link) { 8 | &, 9 | &:hover, 10 | &:focus { 11 | border-color: $background; 12 | background-color: $background; 13 | color: if($color, $color, color-contrast($background)); 14 | box-shadow: 0 0.125rem 0.25rem rgba(rgba-to-hex($background, $rgba-to-hex-bg), 0.4); 15 | } 16 | } 17 | } 18 | 19 | @mixin template-pagination-theme($background, $color: null) { 20 | @include template-pagination-variant('', $background, $color); 21 | } 22 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_progress.scss: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | // ******************************************************************************* 3 | 4 | @mixin template-progress-bar-theme($background, $color: null) { 5 | .progress-bar { 6 | background-color: $background; 7 | color: if($color, $color, color-contrast($background)); 8 | box-shadow: 0 2px 4px 0 rgba($background, 0.4); 9 | } 10 | } 11 | 12 | @mixin template-progress-bar-shadow-variant($parent, $background-shadow) { 13 | $background-shadow: $background-shadow; 14 | .progress-bar { 15 | &#{$parent} { 16 | box-shadow: 0 2px 4px 0 rgba($background-shadow, 0.4); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_table-variants.scss: -------------------------------------------------------------------------------- 1 | // Tables 2 | // ******************************************************************************* 3 | 4 | @mixin template-table-variant($parent, $background, $layout-color: $white) { 5 | .table-#{$parent} { 6 | $color: color-contrast(opaque($body-bg, $background)); 7 | $hover-bg: mix($color, $background, percentage($table-hover-bg-factor)); 8 | $striped-bg: mix($color, $background, percentage($table-striped-bg-factor)); 9 | $active-bg: mix($color, $background, percentage($table-active-bg-factor)); 10 | $dark-border-color: if($parent == 'dark', mix($color, $background, percentage($table-border-factor)), inherit); 11 | 12 | --#{$variable-prefix}table-bg: #{$background}; 13 | --#{$variable-prefix}table-striped-bg: #{$striped-bg}; 14 | --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)}; 15 | --#{$variable-prefix}table-active-bg: #{$active-bg}; 16 | --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)}; 17 | --#{$variable-prefix}table-hover-bg: #{$hover-bg}; 18 | --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)}; 19 | 20 | color: $color; 21 | border-color: mix($color, $background, percentage($table-border-factor)); 22 | .btn-icon, 23 | .btn { 24 | color: $color; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap-extended/mixins/_toasts.scss: -------------------------------------------------------------------------------- 1 | // * Toast 2 | // ******************************************************************************* 3 | 4 | @mixin template-toast-variant($parent, $background, $color: null) { 5 | $label-color: if($color, $color, $background); 6 | $color: if($color, $color, color-contrast($background)); 7 | 8 | #{$parent} { 9 | &.toast, 10 | &.bs-toast { 11 | color: $white; 12 | background-color: rgba($background, $toast-bg-factor) !important; 13 | box-shadow: 0 0.25rem 1rem rgba($background, 0.4); 14 | 15 | .toast-header { 16 | color: $white; 17 | .btn-close { 18 | background-color: $background !important; 19 | background-image: str-replace( 20 | str-replace(str-replace($btn-close-bg, '#{$btn-close-color}', $white), '#', '%23'), 21 | "fill-opacity='0.5'", 22 | "fill-opacity='1'" 23 | ); 24 | box-shadow: 0 0.1875rem 0.375rem 0 rgba($background, 0.4) !important; 25 | } 26 | } 27 | } 28 | } 29 | } 30 | 31 | @mixin template-toast-theme($parent, $background, $color: null) { 32 | @include template-toast-variant($parent, $background, $color); 33 | } 34 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_bootstrap.scss: -------------------------------------------------------------------------------- 1 | @import 'bootstrap/scss/mixins/banner'; 2 | @include bsBanner(''); 3 | 4 | @import '_bootstrap-extended/include'; 5 | 6 | // Import bootstrap core scss from node_module 7 | // ! Utilities are customized and added in bootstrap-extended 8 | 9 | // Layout & components 10 | @import 'bootstrap/scss/root'; 11 | @import 'bootstrap/scss/reboot'; 12 | @import 'bootstrap/scss/type'; 13 | @import 'bootstrap/scss/images'; 14 | @import 'bootstrap/scss/containers'; 15 | @import 'bootstrap/scss/grid'; 16 | @import 'bootstrap/scss/tables'; 17 | @import 'bootstrap/scss/forms'; 18 | @import 'bootstrap/scss/buttons'; 19 | @import 'bootstrap/scss/transitions'; 20 | @import 'bootstrap/scss/dropdown'; 21 | @import 'bootstrap/scss/button-group'; 22 | @import 'bootstrap/scss/nav'; 23 | @import 'bootstrap/scss/navbar'; 24 | @import 'bootstrap/scss/card'; 25 | @import 'bootstrap/scss/accordion'; 26 | @import 'bootstrap/scss/breadcrumb'; 27 | @import 'bootstrap/scss/pagination'; 28 | @import 'bootstrap/scss/badge'; 29 | @import 'bootstrap/scss/alert'; 30 | @import 'bootstrap/scss/progress'; 31 | @import 'bootstrap/scss/list-group'; 32 | @import 'bootstrap/scss/close'; 33 | @import 'bootstrap/scss/toasts'; 34 | @import 'bootstrap/scss/modal'; 35 | @import 'bootstrap/scss/tooltip'; 36 | @import 'bootstrap/scss/popover'; 37 | @import 'bootstrap/scss/carousel'; 38 | @import 'bootstrap/scss/spinners'; 39 | @import 'bootstrap/scss/offcanvas'; 40 | @import 'bootstrap/scss/placeholders'; 41 | 42 | // Helpers 43 | @import 'bootstrap/scss/helpers'; 44 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_colors.scss: -------------------------------------------------------------------------------- 1 | @import '_components/include'; 2 | 3 | // * Bootstrap colors (Uncomment required colors) 4 | // ******************************************************************************* 5 | 6 | $bootstrap-colors: () !default; 7 | 8 | @each $color-name, $color-value in $bootstrap-colors { 9 | @include bg-variant('.bg-#{$color-name}', $color-value); 10 | @include bg-label-variant('.bg-label-#{$color-name}', $color-value); 11 | 12 | @include border-label-variant('.border-label-#{$color-name}', $color-value); 13 | @include border-light-variant('.border-light-#{$color-name}', $color-value); 14 | 15 | .border-#{$color-name} { 16 | border-color: $color-value !important; 17 | } 18 | 19 | @include template-button-variant('.btn-#{$color-name}', $color-value); 20 | @include template-button-outline-variant('.btn-outline-#{$color-name}', $color-value); 21 | } 22 | 23 | // * Navbar 24 | // ******************************************************************************* 25 | 26 | @each $color, $value in $theme-colors { 27 | @if $color !=primary and $color !=light { 28 | @include template-navbar-style('.navbar.bg-#{$color}', $value); 29 | } 30 | } 31 | 32 | @include template-navbar-style('.navbar.bg-white', #fff, $color: $body-color, $active-color: $headings-color); 33 | @include template-navbar-style('.navbar.bg-light', $gray-100, $color: $body-color, $active-color: $headings-color); 34 | 35 | // * Footer 36 | // ******************************************************************************* 37 | 38 | @include template-footer-style('.footer.bg-white', #fff, $color: $headings-color, $active-color: $body-color); 39 | @include template-footer-style('.footer.bg-light', $gray-100, $color: $headings-color, $active-color: $body-color); 40 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components.scss: -------------------------------------------------------------------------------- 1 | @import '_components/include'; 2 | 3 | // Import components scss 4 | @import '_components/base'; 5 | @import '_components/common'; 6 | @import '_components/menu'; 7 | @import '_components/layout'; 8 | @import '_components/app-brand'; 9 | @import '_components/avatar'; 10 | @import '_components/text-divider'; 11 | @import '_components/footer'; 12 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/_app-brand.scss: -------------------------------------------------------------------------------- 1 | // App Brand 2 | // ******************************************************************************* 3 | 4 | @import 'mixins/app-brand'; 5 | 6 | .app-brand { 7 | display: flex; 8 | flex-grow: 0; 9 | flex-shrink: 0; 10 | overflow: hidden; 11 | line-height: 1; 12 | min-height: 1px; 13 | align-items: center; 14 | } 15 | 16 | .app-brand-link { 17 | display: flex; 18 | align-items: center; 19 | } 20 | .app-brand-logo { 21 | display: block; 22 | flex-grow: 0; 23 | flex-shrink: 0; 24 | overflow: hidden; 25 | min-height: 1px; 26 | 27 | img, 28 | svg { 29 | display: block; 30 | } 31 | } 32 | 33 | .app-brand-text { 34 | flex-shrink: 0; 35 | opacity: 1; 36 | transition: opacity $menu-animation-duration * 0.5 ease-in-out; 37 | } 38 | 39 | .app-brand-img-collapsed { 40 | display: none; 41 | } 42 | 43 | // App brand with vertical menu 44 | .menu-vertical .app-brand { 45 | padding-right: $menu-vertical-link-padding-x + $menu-vertical-link-margin-x; 46 | padding-left: $menu-vertical-link-padding-x + $menu-vertical-link-margin-x; 47 | } 48 | 49 | // App brand with vertical menu 50 | .menu-horizontal .app-brand, 51 | .menu-horizontal .app-brand + .menu-divider { 52 | display: none !important; 53 | } 54 | 55 | :not(.layout-menu) > .menu-vertical.menu-collapsed:not(.layout-menu):not(:hover) { 56 | @include template-app-brand-collapsed(); 57 | } 58 | 59 | @include media-breakpoint-up($menu-collapsed-layout-breakpoint) { 60 | .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) 61 | .layout-menu { 62 | @include template-app-brand-collapsed(); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/_avatar.scss: -------------------------------------------------------------------------------- 1 | // Avatar 2 | // ******************************************************************************* 3 | 4 | // Avatar Styles 5 | .avatar { 6 | position: relative; 7 | width: $avatar-size; 8 | height: $avatar-size; 9 | cursor: pointer; 10 | img { 11 | width: 100%; 12 | height: 100%; 13 | } 14 | // Avatar Initials if no images added 15 | .avatar-initial { 16 | position: absolute; 17 | top: 0; 18 | left: 0; 19 | right: 0; 20 | bottom: 0; 21 | text-transform: uppercase; 22 | display: flex; 23 | align-items: center; 24 | justify-content: center; 25 | color: $component-active-color; 26 | background-color: $avatar-bg; 27 | font-size: $avatar-initial; 28 | } 29 | // Avatar Status indication 30 | &.avatar-online, 31 | &.avatar-offline, 32 | &.avatar-away, 33 | &.avatar-busy { 34 | &:after { 35 | content: ''; 36 | position: absolute; 37 | bottom: 0; 38 | right: 3px; 39 | width: 8px; 40 | height: 8px; 41 | border-radius: 100%; 42 | box-shadow: 0 0 0 2px $avatar-group-border; 43 | } 44 | } 45 | &.avatar-online:after { 46 | background-color: $success; 47 | } 48 | &.avatar-offline:after { 49 | background-color: $secondary; 50 | } 51 | &.avatar-away:after { 52 | background-color: $warning; 53 | } 54 | &.avatar-busy:after { 55 | background-color: $danger; 56 | } 57 | } 58 | 59 | // Pull up avatar style 60 | .pull-up { 61 | transition: all 0.25s ease; 62 | &:hover { 63 | transform: translateY(-5px); 64 | box-shadow: $box-shadow; 65 | z-index: 30; 66 | border-radius: 50%; 67 | } 68 | } 69 | 70 | // Avatar Sizes 71 | .avatar-xs { 72 | @include template-avatar-style($avatar-size-xs, $avatar-size-xs, $avatar-initial-xs, 1px); 73 | } 74 | .avatar-sm { 75 | @include template-avatar-style($avatar-size-sm, $avatar-size-sm, $avatar-initial-sm, 2px); 76 | } 77 | .avatar-md { 78 | @include template-avatar-style($avatar-size-md, $avatar-size-md, $avatar-initial-md, 4px); 79 | } 80 | .avatar-lg { 81 | @include template-avatar-style($avatar-size-lg, $avatar-size-lg, $avatar-initial-lg, 5px); 82 | } 83 | .avatar-xl { 84 | @include template-avatar-style($avatar-size-xl, $avatar-size-xl, $avatar-initial-xl, 6px); 85 | } 86 | 87 | // Avatar Group SCSS 88 | .avatar-group { 89 | .avatar { 90 | transition: all 0.25s ease; 91 | img, 92 | .avatar-initial { 93 | border: 2px solid $avatar-group-border; 94 | // box-shadow: 0 0 0 2px $avatar-group-border, inset 0 0 0 1px rgba($black, 0.07); //0 2px 10px 0 rgba($secondary,.3); 95 | } 96 | .avatar-initial { 97 | background-color: $avatar-bg; 98 | color: $headings-color; 99 | } 100 | &:hover { 101 | z-index: 30 !important; 102 | transition: all 0.25s ease; 103 | } 104 | } 105 | // Avatar Group Sizings 106 | .avatar { 107 | margin-left: -0.8rem; 108 | &:first-child { 109 | margin-left: 0; 110 | } 111 | } 112 | .avatar-xs { 113 | margin-left: -0.65rem; 114 | } 115 | .avatar-sm { 116 | margin-left: -0.75rem; 117 | } 118 | .avatar-md { 119 | margin-left: -0.9rem; 120 | } 121 | .avatar-lg { 122 | margin-left: -1.5rem; 123 | } 124 | .avatar-xl { 125 | margin-left: -1.75rem; 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/_footer.scss: -------------------------------------------------------------------------------- 1 | // Footer 2 | // ******************************************************************************* 3 | 4 | .footer-link { 5 | display: inline-block; 6 | } 7 | .content-footer .footer-container { 8 | block-size: 54px; 9 | } 10 | // Light footer 11 | .footer-light { 12 | color: $navbar-light-color; 13 | 14 | .footer-text { 15 | color: $navbar-light-active-color; 16 | } 17 | 18 | .footer-link { 19 | color: $navbar-light-color; 20 | 21 | &:hover, 22 | &:focus { 23 | color: $navbar-light-hover-color; 24 | } 25 | 26 | &.disabled { 27 | color: $navbar-light-disabled-color !important; 28 | } 29 | } 30 | 31 | .show > .footer-link, 32 | .active > .footer-link, 33 | .footer-link.show, 34 | .footer-link.active { 35 | color: $navbar-light-active-color; 36 | } 37 | 38 | hr { 39 | border-color: $menu-light-border-color; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/_include.scss: -------------------------------------------------------------------------------- 1 | // Include 2 | // ******************************************************************************* 3 | 4 | @import '../_bootstrap-extended/include'; 5 | 6 | //Mixins 7 | @import './_mixins'; // Components mixins 8 | 9 | //Components variables 10 | @import '../_custom-variables/components'; // Components variable (for customization purpose) 11 | @import 'variables'; // Components variable 12 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/_mixins.scss: -------------------------------------------------------------------------------- 1 | @import 'mixins/navbar'; 2 | @import 'mixins/footer'; 3 | @import 'mixins/menu'; 4 | @import 'mixins/avatar'; 5 | @import 'mixins/text-divider'; 6 | @import 'mixins/misc'; 7 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/_text-divider.scss: -------------------------------------------------------------------------------- 1 | // Divider 2 | // ******************************************************************************* 3 | 4 | @import '../../scss/_custom-variables/libs'; 5 | 6 | .divider { 7 | display: block; 8 | text-align: center; 9 | margin: $divider-margin-y $divider-margin-x; 10 | overflow: hidden; 11 | white-space: nowrap; 12 | 13 | .divider-text { 14 | position: relative; 15 | display: inline-block; 16 | font-size: $divider-font-size; 17 | color: $divider-text-color; 18 | padding: $divider-text-padding-y $divider-text-padding-x; 19 | 20 | i { 21 | font-size: $divider-icon-size; 22 | } 23 | 24 | &:before, 25 | &:after { 26 | content: ''; 27 | position: absolute; 28 | top: 50%; 29 | width: 100vw; 30 | border-top: 1px solid $divider-color; 31 | } 32 | 33 | &:before { 34 | right: 100%; 35 | } 36 | 37 | &:after { 38 | left: 100%; 39 | } 40 | } 41 | &.text-start { 42 | .divider-text { 43 | padding-left: 0; 44 | } 45 | } 46 | &.text-end { 47 | .divider-text { 48 | padding-right: 0; 49 | } 50 | } 51 | &.text-start-center { 52 | .divider-text { 53 | left: -25%; 54 | } 55 | } 56 | &.text-end-center { 57 | .divider-text { 58 | right: -25%; 59 | } 60 | } 61 | // Dotted Bordered Divider 62 | &.divider-dotted { 63 | .divider-text { 64 | &:before, 65 | &:after { 66 | border-style: dotted; 67 | border-width: 0 1px 1px; 68 | border-color: $divider-color; 69 | } 70 | } 71 | } 72 | // Dashed Bordered Divider 73 | &.divider-dashed { 74 | .divider-text { 75 | &:before, 76 | &:after { 77 | border-style: dashed; 78 | border-width: 0 1px 1px; 79 | border-color: $divider-color; 80 | } 81 | } 82 | } 83 | } 84 | 85 | // For Contextual Colors 86 | @each $color, $value in $theme-colors { 87 | @if $color !=primary and $color !=light { 88 | @include template-text-divider-variant('.divider.divider-#{$color}', $value); 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/_variables.scss: -------------------------------------------------------------------------------- 1 | // Common 2 | // ******************************************************************************* 3 | 4 | $ui-star-size: 1.1em !default; 5 | $ui-stars-spacer: -0.1em !default; 6 | $ui-star-filled-color: $yellow !default; 7 | 8 | // Navbar (custom navbar) 9 | // ******************************************************************************* 10 | $navbar-height: 3.875rem !default; 11 | $navbar-suggestion-width: 100% !default; 12 | $navbar-suggestion-height: 28rem !default; 13 | $navbar-suggestion-border-radius: 0.5rem !default; 14 | $navbar-dropdown-width: 22rem !default; 15 | $navbar-dropdown-content-height: 30rem !default; 16 | 17 | // Menu 18 | // ******************************************************************************* 19 | 20 | $menu-width: 16.25rem !default; 21 | $menu-collapsed-width: 5.25rem !default; 22 | $menu-collapsed-layout-breakpoint: xl !default; 23 | $menu-font-size: $font-size-base !default; 24 | 25 | $menu-item-spacer: 0.125rem !default; 26 | 27 | $menu-vertical-link-margin-y: 0rem !default; 28 | $menu-vertical-link-margin-x: 1rem !default; 29 | 30 | $menu-vertical-header-margin-y: 1rem !default; 31 | $menu-vertical-header-margin-x: 0 !default; 32 | 33 | $menu-vertical-link-padding-y: 0.3125rem !default; 34 | $menu-vertical-link-padding-x: 1rem !default; 35 | 36 | $menu-vertical-menu-link-padding-y: 0.3125rem !default; 37 | $menu-vertical-menu-level-spacer: 0.65rem !default; 38 | 39 | $menu-horizontal-link-padding-y: 0.565rem !default; 40 | $menu-horizontal-menu-box-shadow: $dropdown-box-shadow !default; 41 | 42 | $menu-sub-width: 14.5rem !default; 43 | $menu-control-width: 2.25rem !default; 44 | $menu-control-arrow-size: 0.5rem !default; 45 | 46 | $menu-icon-expanded-width: 1.5rem !default; 47 | $menu-icon-expanded-left-spacer: 1.675rem !default; 48 | $menu-icon-expanded-font-size: 1.375rem !default; 49 | $menu-icon-expanded-spacer: 0.5rem !default; 50 | 51 | $menu-animation-duration: 0.3s !default; 52 | 53 | $menu-max-levels: 5 !default; 54 | 55 | $menu-dark-border-color: rgba(255, 255, 255, 0.2) !default; 56 | $menu-dark-menu-bg: rgba(0, 0, 0, 0.06) !default; 57 | $menu-light-border-color: rgba(0, 0, 0, 0.06) !default; 58 | $menu-light-menu-bg: rgba(0, 0, 0, 0.05) !default; 59 | 60 | // Avatars 61 | // ******************************************************************************* 62 | 63 | $avatar-size-xl: 4rem !default; 64 | $avatar-size-lg: 3.5rem !default; 65 | $avatar-size-md: 3rem !default; 66 | $avatar-size: 2.375rem !default; // Default 67 | $avatar-size-sm: 2rem !default; 68 | $avatar-size-xs: 1.5rem !default; 69 | 70 | $avatar-initial-xl: 1.875rem !default; 71 | $avatar-initial-lg: 1.5rem !default; 72 | $avatar-initial-md: 1.125rem !default; 73 | $avatar-initial: $font-size-base !default; 74 | $avatar-initial-sm: 0.8125rem !default; 75 | $avatar-initial-xs: 0.625rem !default; 76 | 77 | $avatar-group-border: $card-bg !default; 78 | $avatar-bg: #eeedf0 !default; 79 | 80 | // Text Divider 81 | // ******************************************************************************* 82 | $divider-color: $gray-200 !default; 83 | $divider-text-color: $headings-color !default; 84 | 85 | $divider-margin-y: 1rem !default; 86 | $divider-margin-x: 0 !default; 87 | 88 | $divider-text-padding-y: 0rem !default; 89 | $divider-text-padding-x: 0.677rem !default; 90 | 91 | $divider-font-size: $font-size-base !default; 92 | $divider-icon-size: 1rem !default; 93 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/mixins/_app-brand.scss: -------------------------------------------------------------------------------- 1 | // Within menu 2 | @mixin template-app-brand-collapsed() { 3 | .app-brand { 4 | width: $menu-collapsed-width; 5 | } 6 | 7 | .app-brand-logo, 8 | .app-brand-link, 9 | .app-brand-text { 10 | margin-right: auto; 11 | margin-left: auto; 12 | } 13 | 14 | .app-brand-logo ~ .app-brand-text { 15 | overflow: hidden; 16 | text-overflow: ellipsis; 17 | white-space: nowrap; 18 | opacity: 0; 19 | } 20 | .app-brand .layout-menu-toggle { 21 | // display: none !important; 22 | opacity: 0; 23 | left: calc(#{$menu-collapsed-width} - 1.5rem); 24 | } 25 | 26 | .app-brand-img { 27 | display: none; 28 | } 29 | 30 | .app-brand-img-collapsed { 31 | display: block; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/mixins/_avatar.scss: -------------------------------------------------------------------------------- 1 | // Avatar 2 | // ******************************************************************************* 3 | 4 | @mixin template-avatar-style($height, $width, $font-size, $status-indicator-position: 2px) { 5 | width: $width; 6 | height: $height; 7 | 8 | .avatar-initial { 9 | font-size: $font-size; 10 | } 11 | 12 | &.avatar-online, 13 | &.avatar-offline, 14 | &.avatar-away, 15 | &.avatar-busy { 16 | &:after { 17 | width: $width * 0.2; 18 | height: $height * 0.2; 19 | right: $status-indicator-position; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/mixins/_footer.scss: -------------------------------------------------------------------------------- 1 | // Footer 2 | // ******************************************************************************* 3 | 4 | @mixin template-footer-style($parent, $bg, $color: null, $active-color: null, $border: null) { 5 | $colors: get-navbar-prop($bg, $active-color, $color, $border); 6 | 7 | #{$parent} { 8 | color: map-get($colors, color); 9 | 10 | .footer-link { 11 | color: map-get($colors, active-color); 12 | 13 | &:hover, 14 | &:focus { 15 | color: map-get($colors, active-color); 16 | } 17 | 18 | &.disabled { 19 | color: map-get($colors, disabled-color) !important; 20 | } 21 | } 22 | 23 | .footer-text { 24 | color: map-get($colors, color); 25 | } 26 | 27 | .show > .footer-link, 28 | .active > .footer-link, 29 | .footer-link.show, 30 | .footer-link.active { 31 | color: map-get($colors, active-color); 32 | } 33 | 34 | hr { 35 | border-color: map-get($colors, border); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/mixins/_misc.scss: -------------------------------------------------------------------------------- 1 | // SVG Color 2 | @mixin template-svg-color($background) { 3 | .svg-illustration svg { 4 | fill: $background; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/mixins/_navbar.scss: -------------------------------------------------------------------------------- 1 | // Navbar 2 | // ******************************************************************************* 3 | 4 | @mixin template-navbar-style($parent, $bg, $color: null, $active-color: null, $border: null) { 5 | $colors: get-navbar-prop($bg, $active-color, $color, $border); 6 | 7 | #{$parent} { 8 | background-color: rgba(map-get($colors, bg), 0.88) !important; 9 | color: map-get($colors, color); 10 | 11 | .navbar-brand, 12 | .navbar-brand a { 13 | color: map-get($colors, active-color); 14 | 15 | &:hover, 16 | &:focus { 17 | color: map-get($colors, active-color); 18 | } 19 | } 20 | 21 | // Navbar search color 22 | .navbar-search-wrapper { 23 | .navbar-search-icon, 24 | .search-input { 25 | color: map-get($colors, color); 26 | } 27 | } 28 | .search-input-wrapper { 29 | .search-input, 30 | .search-toggler { 31 | background-color: $bg !important; 32 | color: map-get($colors, color); 33 | } 34 | } 35 | 36 | .navbar-nav { 37 | > .nav-link, 38 | > .nav-item > .nav-link, 39 | > .nav > .nav-item > .nav-link { 40 | color: map-get($colors, color); 41 | 42 | &:hover, 43 | &:focus { 44 | color: map-get($colors, active-color); 45 | } 46 | 47 | &.disabled { 48 | color: map-get($colors, disabled-color) !important; 49 | } 50 | } 51 | 52 | .show > .nav-link, 53 | .active > .nav-link, 54 | .nav-link.show, 55 | .nav-link.active { 56 | color: map-get($colors, active-color); 57 | } 58 | } 59 | 60 | .navbar-toggler { 61 | color: map-get($colors, color); 62 | border-color: map-get($colors, border); 63 | } 64 | 65 | .navbar-toggler-icon { 66 | background-image: if( 67 | map-get($colors, active-color) == #fff, 68 | $navbar-dark-toggler-icon-bg, 69 | $navbar-light-toggler-icon-bg 70 | ); 71 | } 72 | 73 | .navbar-text { 74 | color: map-get($colors, color); 75 | 76 | a { 77 | color: map-get($colors, active-color); 78 | 79 | &:hover, 80 | &:focus { 81 | color: map-get($colors, active-color); 82 | } 83 | } 84 | } 85 | 86 | hr { 87 | border-color: map-get($colors, border); 88 | } 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_components/mixins/_text-divider.scss: -------------------------------------------------------------------------------- 1 | // Text Divider 2 | // ******************************************************************************* 3 | 4 | @mixin template-text-divider-variant($divider-color, $background) { 5 | $divider-selector: if($divider-color== '', '', '#{$divider-color}'); 6 | .divider { 7 | &#{$divider-selector} { 8 | .divider-text { 9 | &:before, 10 | &:after { 11 | border-color: $background; 12 | } 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_custom-variables/_bootstrap-extended.scss: -------------------------------------------------------------------------------- 1 | // =================================================================================================================== 2 | // ? TIP: It is recommended to use this file for overriding bootstrap extended variables (_bootstrap-extended/_variables.scss). 3 | // Copy and paste variables as needed, modify their values, and remove the !default flag. 4 | // =================================================================================================================== 5 | 6 | // $font-size-root: 14px !default; 7 | // $success: #00ff00 !default; 8 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_custom-variables/_components.scss: -------------------------------------------------------------------------------- 1 | // ================================================================================================ 2 | // ? TIP: It is recommended to use this file for overriding component variables (_components/_variables.scss). 3 | // Copy and paste variables as needed, modify their values, and remove the !default flag. 4 | // ================================================================================================ 5 | 6 | // $menu-width: 14rem !default; 7 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_custom-variables/_libs.scss: -------------------------------------------------------------------------------- 1 | // ================================================================================================ 2 | // ? TIP: It is recommended to use this file for overriding any library variables from (libs/) folder. 3 | // Copy and paste variables as needed, modify their values, and remove the !default flag. 4 | // ================================================================================================ 5 | 6 | @import 'support'; 7 | 8 | // $flatpickr-content-padding: 0.5rem; -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_custom-variables/_pages.scss: -------------------------------------------------------------------------------- 1 | // ================================================================================================ 2 | // ? TIP: It is recommended to use this file for overriding any pages variables from the (pages/) folder. 3 | // Copy and paste variables as needed, modify their values, and remove the !default flag. 4 | // ================================================================================================ 5 | 6 | @import 'support'; 7 | 8 | // $calender-sidebar-width: 20rem; -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_custom-variables/_support.scss: -------------------------------------------------------------------------------- 1 | $enable-light-style: true; 2 | 3 | @mixin app-ltr($has-child: true) { 4 | @content; 5 | } 6 | 7 | @mixin app-ltr-style() { 8 | @content; 9 | } 10 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/_theme/_common.scss: -------------------------------------------------------------------------------- 1 | // Theme mixin 2 | // ******************************************************************************* 3 | 4 | @mixin template-common-theme($background, $color: null) { 5 | @include text-variant('.text-primary', $background); 6 | @include bg-variant('.bg-primary', $background); 7 | @include bg-label-variant('.bg-label-primary', $background); 8 | @include border-label-variant('.border-label-primary', $background); 9 | @include border-light-variant('.border-light-primary', $background); 10 | @include template-pagination-theme($background, $color); 11 | @include template-progress-bar-theme($background, $color); 12 | @include template-list-group-theme($background, $color); 13 | @include template-alert-variant('.alert-primary', $background); 14 | 15 | // Need to add shift-color as BS5 updated with table variant colors like this 16 | 17 | @include template-table-variant('primary', shift-color($background, $table-bg-scale)); 18 | @include template-button-variant('.btn-primary', $background, $color); 19 | @include template-button-outline-variant('.btn-outline-primary', $background, $color); 20 | @include template-dropdown-theme(rgba($background, 0.16), $background); 21 | @include template-nav-theme($background, $color); 22 | @include template-form-control-theme($background); 23 | @include template-form-check-theme($background, $color); 24 | @include template-form-switch-theme($background); 25 | @include template-file-input-theme($background); 26 | 27 | @include template-text-divider-variant('.divider-primary', $background); 28 | 29 | @include template-navbar-style('.navbar.bg-primary', $primary-color); 30 | @include template-menu-style('.menu.bg-primary', $primary-color); 31 | @include template-footer-style('.footer.bg-primary', $primary-color); 32 | @include template-toast-theme('.bg-primary', $primary-color, $color); 33 | @include template-float-label-theme($primary-color); 34 | @include template-svg-color($primary-color); 35 | 36 | html:not([dir='rtl']) .border-primary, 37 | html[dir='rtl'] .border-primary { 38 | border-color: $background !important; 39 | } 40 | a { 41 | color: $background; 42 | &:hover { 43 | color: tint-color($background, 10%); 44 | } 45 | } 46 | .fill-primary { 47 | fill: $background; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/core.scss: -------------------------------------------------------------------------------- 1 | @import 'bootstrap'; 2 | @import 'bootstrap-extended'; 3 | @import 'components'; 4 | @import 'colors'; 5 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/pages/page-account-settings.scss: -------------------------------------------------------------------------------- 1 | // * Account Settings 2 | // ******************************************************************************* 3 | 4 | @import '../_custom-variables/pages'; 5 | @import '../_bootstrap-extended/include'; 6 | 7 | .api-key-actions { 8 | position: absolute !important; 9 | top: 0.75rem; 10 | @include app-ltr() { 11 | right: 0.5rem; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/pages/page-icons.scss: -------------------------------------------------------------------------------- 1 | // * Page Icons (Page specific only) 2 | // ******************************************************************************* 3 | 4 | @import '../_bootstrap-extended/include'; 5 | @import '../_custom-variables/pages'; 6 | 7 | #icons-container { 8 | .icon-card { 9 | width: 128px; 10 | 11 | i { 12 | font-size: 2rem; 13 | } 14 | } 15 | } 16 | 17 | @media (max-width: 1024px) { 18 | #icons-container { 19 | .icon-card { 20 | width: 126px; 21 | } 22 | } 23 | } 24 | @include media-breakpoint-down(md) { 25 | #icons-container { 26 | .icon-card { 27 | width: 131px; 28 | } 29 | } 30 | } 31 | 32 | @media (max-width: 414px) { 33 | #icons-container { 34 | .icon-card { 35 | width: 110px; 36 | } 37 | } 38 | } 39 | 40 | @media (max-width: 375px) { 41 | #icons-container { 42 | .icon-card { 43 | width: 150px; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/pages/page-misc.scss: -------------------------------------------------------------------------------- 1 | // * Miscellaneous 2 | // ******************************************************************************* 3 | 4 | @import '../_bootstrap-extended/include'; 5 | 6 | .misc-wrapper { 7 | display: flex; 8 | flex-direction: column; 9 | justify-content: center; 10 | align-items: center; 11 | min-height: calc( 12 | 100vh - calc(#{$container-padding-y} * 2) 13 | ); // ?we have added container-p-y class to add padding on top & bottom 14 | text-align: center; 15 | } 16 | -------------------------------------------------------------------------------- /resources/assets/vendor/scss/theme-default.scss: -------------------------------------------------------------------------------- 1 | @import './_components/include'; 2 | @import './_theme/common'; 3 | @import './_theme/_theme'; 4 | 5 | $primary-color: #696cff; 6 | 7 | @include template-common-theme($primary-color); 8 | 9 | // Navbar 10 | // --------------------------------------------------------------------------- 11 | @include template-navbar-style('.bg-navbar-theme', $card-bg, $color: $headings-color, $active-color: $body-color); 12 | .layout-navbar { 13 | background-color: rgba($card-bg, 0.88) !important; 14 | backdrop-filter: saturate(200%) blur(6px); 15 | } 16 | .navbar-detached { 17 | box-shadow: 0 0 0.375rem 0.25rem rgba(rgba-to-hex($gray-500, $rgba-to-hex-bg), 0.15); 18 | } 19 | .layout-navbar-fixed .layout-page:before { 20 | backdrop-filter: saturate(200%) blur(10px); 21 | background: rgba($body-bg, 0.6); 22 | } 23 | 24 | // Menu 25 | // --------------------------------------------------------------------------- 26 | @include template-menu-style( 27 | '.bg-menu-theme', 28 | $white, 29 | $color: $headings-color, 30 | $active-color: $headings-color, 31 | $border: transparent, 32 | $active-bg: $white 33 | ); 34 | .bg-menu-theme { 35 | // Menu header 36 | .menu-header { 37 | color: $text-muted; 38 | &:before { 39 | background-color: $text-muted !important; 40 | } 41 | } 42 | 43 | // menu shadow 44 | &.menu-vertical { 45 | box-shadow: 0 0.125rem 0.375rem 0 rgba(rgba-to-hex($gray-500, $rgba-to-hex-bg), 0.12); 46 | } 47 | 48 | // menu item open(vertical) & hover (vertical & horizontal) 49 | .menu-inner .menu-item.open > .menu-link, 50 | .menu-inner .menu-item .menu-link:not(.active):hover { 51 | html:not(.layout-menu-collapsed) &, 52 | .layout-menu-hover.layout-menu-collapsed & { 53 | background-color: $gray-60; 54 | } 55 | } 56 | // menu item open(horizontal) 57 | .menu-inner .menu-sub > .menu-item.active { 58 | > .menu-link.menu-toggle { 59 | background-color: $gray-80 !important; 60 | } 61 | &:not(:has(.menu-sub)) { 62 | .menu-icon { 63 | color: $primary-color; 64 | } 65 | } 66 | } 67 | // menu item active 68 | .menu-inner > .menu-item.active > .menu-link { 69 | color: $primary-color; 70 | background-color: rgba($primary-color, 0.16) !important; 71 | } 72 | 73 | .menu-inner > .menu-item.active:before { 74 | background: $primary-color; 75 | } 76 | 77 | // Sub menu item link bullet 78 | .menu-sub > .menu-item > .menu-link:before { 79 | background-color: rgba-to-hex($gray-400, $rgba-to-hex-bg) !important; 80 | } 81 | // Sub menu item link active bullet 82 | .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle):before { 83 | background-color: $primary-color !important; 84 | border: 3px solid rgba-to-hex(rgba($primary-color, 0.16), $rgba-to-hex-bg) !important; 85 | } 86 | } 87 | 88 | .app-brand .layout-menu-toggle { 89 | background-color: $primary-color; 90 | border: 7px solid $body-bg; 91 | i { 92 | color: color-contrast($primary-color); 93 | } 94 | .menu-inner > .menu-header::before { 95 | background-color: rgba-to-hex($gray-400, $rgba-to-hex-bg); 96 | } 97 | } 98 | 99 | // Footer 100 | // --------------------------------------------------------------------------- 101 | @include template-footer-style('.bg-footer-theme', $card-bg, $color: $body-color, $active-color: $primary-color); 102 | -------------------------------------------------------------------------------- /resources/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themeselection/sneat-bootstrap-html-laravel-admin-template-free/36de33aefce759546a7c0d0c52071b216544fce3/resources/css/app.css -------------------------------------------------------------------------------- /resources/js/app.js: -------------------------------------------------------------------------------- 1 | import './bootstrap'; 2 | /* 3 | Add custom scripts here 4 | */ 5 | import.meta.glob([ 6 | '../assets/img/**', 7 | // '../assets/json/**', 8 | '../assets/vendor/fonts/**' 9 | ]); 10 | -------------------------------------------------------------------------------- /resources/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | window.axios = axios; 3 | 4 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 5 | -------------------------------------------------------------------------------- /resources/views/content/authentications/auth-forgot-password-basic.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/blankLayout') 2 | 3 | @section('title', 'Forgot Password Basic - Pages') 4 | 5 | @section('page-style') 6 | @vite([ 7 | 'resources/assets/vendor/scss/pages/page-auth.scss' 8 | ]) 9 | @endsection 10 | 11 | @section('content') 12 |
13 |
14 |
15 | 16 | 17 |
18 |
19 | 20 | 26 | 27 |

Forgot Password? 🔒

28 |

Enter your email and we'll send you instructions to reset your password

29 |
30 |
31 | 32 | 33 |
34 | 35 |
36 | 42 |
43 |
44 | 45 |
46 |
47 |
48 | @endsection 49 | -------------------------------------------------------------------------------- /resources/views/content/authentications/auth-login-basic.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/blankLayout') 2 | 3 | @section('title', 'Login Basic - Pages') 4 | 5 | @section('page-style') 6 | @vite([ 7 | 'resources/assets/vendor/scss/pages/page-auth.scss' 8 | ]) 9 | @endsection 10 | 11 | @section('content') 12 |
13 |
14 |
15 | 16 |
17 |
18 | 19 | 25 | 26 |

Welcome to {{config('variables.templateName')}}! 👋

27 |

Please sign-in to your account and start the adventure

28 | 29 |
30 |
31 | 32 | 33 |
34 |
35 | 36 |
37 | 38 | 39 |
40 |
41 |
42 |
43 |
44 | 45 | 48 |
49 | 50 | Forgot Password? 51 | 52 |
53 |
54 |
55 | 56 |
57 |
58 | 59 |

60 | New on our platform? 61 | 62 | Create an account 63 | 64 |

65 |
66 |
67 |
68 | 69 |
70 |
71 | @endsection 72 | -------------------------------------------------------------------------------- /resources/views/content/authentications/auth-register-basic.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/blankLayout') 2 | 3 | @section('title', 'Register Basic - Pages') 4 | 5 | @section('page-style') 6 | @vite([ 7 | 'resources/assets/vendor/scss/pages/page-auth.scss' 8 | ]) 9 | @endsection 10 | 11 | 12 | @section('content') 13 |
14 |
15 |
16 | 17 |
18 |
19 | 20 | 26 | 27 |

Adventure starts here 🚀

28 |

Make your app management easy and fun!

29 | 30 |
31 |
32 | 33 | 34 |
35 |
36 | 37 | 38 |
39 |
40 | 41 |
42 | 43 | 44 |
45 |
46 | 47 |
48 |
49 | 50 | 54 |
55 |
56 | 59 |
60 | 61 |

62 | Already have an account? 63 | 64 | Sign in instead 65 | 66 |

67 |
68 |
69 | 70 |
71 |
72 |
73 | @endsection 74 | -------------------------------------------------------------------------------- /resources/views/content/layouts-example/layouts-blank.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/blankLayout') 2 | 3 | @section('title', 'Blank layout - Layouts') 4 | 5 | @section('content') 6 |

Blank Page

7 | @endsection 8 | -------------------------------------------------------------------------------- /resources/views/content/layouts-example/layouts-container.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | $container = 'container-xxl'; 3 | $containerNav = 'container-xxl'; 4 | @endphp 5 | 6 | @extends('layouts/contentNavbarLayout') 7 | 8 | @section('title', 'Container - Layouts') 9 | 10 | @section('content') 11 | 12 |
13 |
14 | Layout container 15 |
16 |
17 |

Layout container

18 |

Container layout sets a max-width at each responsive breakpoint.

19 |
20 |
21 | 22 | 23 | 24 | @endsection 25 | -------------------------------------------------------------------------------- /resources/views/content/layouts-example/layouts-fluid.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | $container = 'container-fluid'; 3 | $containerNav = 'container-fluid'; 4 | @endphp 5 | 6 | @extends('layouts/contentNavbarLayout') 7 | 8 | @section('title', 'Fluid - Layouts') 9 | 10 | @section('content') 11 | 12 |
13 |
14 | Layout fluid 15 |
16 |
17 |

Layout fluid

18 |

Fluid layout sets a 100% width at each responsive breakpoint.

19 |
20 |
21 | 22 | @endsection 23 | -------------------------------------------------------------------------------- /resources/views/content/layouts-example/layouts-without-menu.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | $isMenu = false; 3 | $navbarHideToggle = false; 4 | @endphp 5 | 6 | @extends('layouts/contentNavbarLayout') 7 | 8 | @section('title', 'Without menu - Layouts') 9 | 10 | @section('content') 11 | 12 | 13 |
14 |
15 | Layout without menu 16 |
17 |
18 |

Layout without Menu (Navigation)

19 | 20 |
21 |
22 | 23 | 24 | @endsection 25 | -------------------------------------------------------------------------------- /resources/views/content/layouts-example/layouts-without-navbar.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | $isNavbar = false; 3 | @endphp 4 | 5 | @extends('layouts/contentNavbarLayout') 6 | 7 | @section('title', 'Without navbar - Layouts') 8 | 9 | @section('content') 10 | 11 | 12 |
13 |
14 | Layout without navbar 15 |
16 |
17 |

Layout without Navbar

18 |

Layout does not contain Navbar component.

19 |
20 |
21 | 22 | 23 | @endsection 24 | -------------------------------------------------------------------------------- /resources/views/content/pages/pages-misc-error.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/blankLayout') 2 | 3 | @section('title', 'Error - Pages') 4 | 5 | @section('page-style') 6 | 7 | @vite(['resources/assets/vendor/scss/pages/page-misc.scss']) 8 | @endsection 9 | 10 | 11 | @section('content') 12 | 13 |
14 |
15 |

404

16 |

Page Not Found️ ⚠️

17 |

we couldn't find the page you are looking for

18 | Back to home 19 |
20 | page-misc-error-light 21 |
22 |
23 |
24 | 25 | @endsection 26 | -------------------------------------------------------------------------------- /resources/views/content/pages/pages-misc-under-maintenance.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/blankLayout') 2 | 3 | @section('title', 'Under Maintenance - Pages') 4 | 5 | @section('page-style') 6 | 7 | @vite(['resources/assets/vendor/scss/pages/page-misc.scss']) 8 | @endsection 9 | 10 | @section('content') 11 | 12 |
13 |
14 |

Under Maintenance! 🚧

15 |

16 | Sorry for the inconvenience but we're performing some maintenance at the moment 17 |

18 | Back to home 19 |
20 | girl-doing-yoga-light 21 |
22 |
23 |
24 | 25 | @endsection 26 | -------------------------------------------------------------------------------- /resources/views/content/user-interface/ui-footer.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/contentNavbarLayout') 2 | 3 | @section('title', 'Footer - UI elements') 4 | 5 | @section('content') 6 | 7 | 24 | 25 |
26 | 27 | 28 | 60 | 61 | @endsection 62 | -------------------------------------------------------------------------------- /resources/views/layouts/blankLayout.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/commonMaster' ) 2 | 3 | @section('layoutContent') 4 | 5 | 6 | @yield('content') 7 | 8 | 9 | @endsection 10 | -------------------------------------------------------------------------------- /resources/views/layouts/commonMaster.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | @yield('title') | Sneat - HTML Laravel Free Admin Template 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | @include('layouts/sections/styles') 22 | 23 | 24 | @include('layouts/sections/scriptsIncludes') 25 | 26 | 27 | 28 | 29 | 30 | @yield('layoutContent') 31 | 32 | 33 | 34 | 35 | 36 | @include('layouts/sections/scripts') 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /resources/views/layouts/contentNavbarLayout.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts/commonMaster' ) 2 | 3 | @php 4 | /* Display elements */ 5 | $contentNavbar = true; 6 | $containerNav = ($containerNav ?? 'container-xxl'); 7 | $isNavbar = ($isNavbar ?? true); 8 | $isMenu = ($isMenu ?? true); 9 | $isFlex = ($isFlex ?? false); 10 | $isFooter = ($isFooter ?? true); 11 | 12 | /* HTML Classes */ 13 | $navbarDetached = 'navbar-detached'; 14 | 15 | /* Content classes */ 16 | $container = ($container ?? 'container-xxl'); 17 | 18 | @endphp 19 | 20 | @section('layoutContent') 21 |
22 |
23 | 24 | @if ($isMenu) 25 | @include('layouts/sections/menu/verticalMenu') 26 | @endif 27 | 28 | 29 | 30 |
31 | 32 | @if ($isNavbar) 33 | @include('layouts/sections/navbar/navbar') 34 | @endif 35 | 36 | 37 | 38 | 39 |
40 | 41 | 42 | @if ($isFlex) 43 |
44 | @else 45 |
46 | @endif 47 | 48 | @yield('content') 49 | 50 |
51 | 52 | 53 | 54 | @if ($isFooter) 55 | @include('layouts/sections/footer/footer') 56 | @endif 57 | 58 |
59 |
60 | 61 |
62 | 63 |
64 | 65 | @if ($isMenu) 66 | 67 |
68 | @endif 69 | 70 |
71 |
72 | 73 | @endsection 74 | -------------------------------------------------------------------------------- /resources/views/layouts/sections/footer/footer.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | $containerFooter = !empty($containerNav) ? $containerNav : 'container-fluid'; 3 | @endphp 4 | 5 | 6 | 21 | 22 | -------------------------------------------------------------------------------- /resources/views/layouts/sections/menu/submenu.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | use Illuminate\Support\Facades\Route; 3 | @endphp 4 | 5 | 53 | -------------------------------------------------------------------------------- /resources/views/layouts/sections/menu/verticalMenu.blade.php: -------------------------------------------------------------------------------- 1 | 75 | -------------------------------------------------------------------------------- /resources/views/layouts/sections/scripts.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | @vite([ 4 | 'resources/assets/vendor/libs/jquery/jquery.js', 5 | 'resources/assets/vendor/libs/popper/popper.js', 6 | 'resources/assets/vendor/js/bootstrap.js', 7 | 'resources/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js', 8 | 'resources/assets/vendor/js/menu.js' 9 | ]) 10 | 11 | @yield('vendor-script') 12 | 13 | 14 | @vite(['resources/assets/js/main.js']) 15 | 16 | 17 | 18 | @stack('pricing-script') 19 | 20 | 21 | @yield('page-script') 22 | 23 | -------------------------------------------------------------------------------- /resources/views/layouts/sections/scriptsIncludes.blade.php: -------------------------------------------------------------------------------- 1 | @php 2 | use Illuminate\Support\Facades\Vite; 3 | @endphp 4 | 5 | @vite(['resources/assets/vendor/js/helpers.js']) 6 | 7 | 8 | @vite(['resources/assets/js/config.js']) 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/views/layouts/sections/styles.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | @vite(['resources/assets/vendor/fonts/boxicons.scss']) 8 | 9 | 10 | @vite([ 11 | 'resources/assets/vendor/scss/core.scss', 12 | 'resources/assets/vendor/scss/theme-default.scss', 13 | 'resources/assets/css/demo.css' 14 | ]) 15 | 16 | 17 | @vite(['resources/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.scss']) 18 | @yield('vendor-style') 19 | 20 | 21 | @yield('page-style') 22 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 8 | })->purpose('Display an inspiring quote')->hourly(); 9 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | compiled.php 2 | config.php 3 | down 4 | events.scanned.php 5 | maintenance.php 6 | routes.php 7 | routes.scanned.php 8 | schedule-* 9 | services.json 10 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /tests/Feature/ExampleTest.php: -------------------------------------------------------------------------------- 1 | get('/'); 16 | 17 | $response->assertStatus(200); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import laravel from 'laravel-vite-plugin'; 3 | import html from '@rollup/plugin-html'; 4 | import { glob } from 'glob'; 5 | 6 | /** 7 | * Get Files from a directory 8 | * @param {string} query 9 | * @returns array 10 | */ 11 | function GetFilesArray(query) { 12 | return glob.sync(query); 13 | } 14 | /** 15 | * Js Files 16 | */ 17 | // Page JS Files 18 | const pageJsFiles = GetFilesArray('resources/assets/js/*.js'); 19 | 20 | // Processing Vendor JS Files 21 | const vendorJsFiles = GetFilesArray('resources/assets/vendor/js/*.js'); 22 | 23 | // Processing Libs JS Files 24 | const LibsJsFiles = GetFilesArray('resources/assets/vendor/libs/**/*.js'); 25 | 26 | /** 27 | * Scss Files 28 | */ 29 | // Processing Core, Themes & Pages Scss Files 30 | const CoreScssFiles = GetFilesArray('resources/assets/vendor/scss/**/!(_)*.scss'); 31 | 32 | // Processing Libs Scss & Css Files 33 | const LibsScssFiles = GetFilesArray('resources/assets/vendor/libs/**/!(_)*.scss'); 34 | const LibsCssFiles = GetFilesArray('resources/assets/vendor/libs/**/*.css'); 35 | 36 | // Processing Fonts Scss Files 37 | const FontsScssFiles = GetFilesArray('resources/assets/vendor/fonts/!(_)*.scss'); 38 | 39 | export default defineConfig({ 40 | plugins: [ 41 | laravel({ 42 | input: [ 43 | 'resources/css/app.css', 44 | 'resources/assets/css/demo.css', 45 | 'resources/js/app.js', 46 | ...pageJsFiles, 47 | ...vendorJsFiles, 48 | ...LibsJsFiles, 49 | ...CoreScssFiles, 50 | ...LibsScssFiles, 51 | ...LibsCssFiles, 52 | ...FontsScssFiles 53 | ], 54 | refresh: true 55 | }), 56 | html() 57 | ] 58 | }); 59 | --------------------------------------------------------------------------------