Shyim
7 years ago
commit
6e17bdfb16
176 changed files with 38486 additions and 0 deletions
@ -0,0 +1,31 @@ |
|||||||
|
# This file is a "template" of which env vars need to be defined for your application |
||||||
|
# Copy this file to .env file for development, create environment variables when deploying to production |
||||||
|
# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration |
||||||
|
|
||||||
|
###> symfony/framework-bundle ### |
||||||
|
APP_ENV=dev |
||||||
|
APP_SECRET=7b95b76ffab0932d7a1753c0475e61bf |
||||||
|
#TRUSTED_PROXIES=127.0.0.1,127.0.0.2 |
||||||
|
#TRUSTED_HOSTS=localhost,example.com |
||||||
|
###< symfony/framework-bundle ### |
||||||
|
|
||||||
|
###> symfony/swiftmailer-bundle ### |
||||||
|
# For Gmail as a transport, use: "gmail://username:password@localhost" |
||||||
|
# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode=" |
||||||
|
# Delivery is disabled by default via "null://localhost" |
||||||
|
MAILER_URL=null://localhost |
||||||
|
###< symfony/swiftmailer-bundle ### |
||||||
|
|
||||||
|
###> doctrine/doctrine-bundle ### |
||||||
|
# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url |
||||||
|
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db" |
||||||
|
# Configure your db driver and server_version in config/packages/doctrine.yaml |
||||||
|
DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name |
||||||
|
###< doctrine/doctrine-bundle ### |
||||||
|
|
||||||
|
###> lexik/jwt-authentication-bundle ### |
||||||
|
# Key paths should be relative to the project directory |
||||||
|
JWT_PRIVATE_KEY_PATH=config/jwt/private.pem |
||||||
|
JWT_PUBLIC_KEY_PATH=config/jwt/public.pem |
||||||
|
JWT_PASSPHRASE=a758fddfbc878122f8b37259b8ea14c3 |
||||||
|
###< lexik/jwt-authentication-bundle ### |
@ -0,0 +1,26 @@ |
|||||||
|
|
||||||
|
###> symfony/framework-bundle ### |
||||||
|
/.env |
||||||
|
/public/bundles/ |
||||||
|
/var/ |
||||||
|
/vendor/ |
||||||
|
###< symfony/framework-bundle ### |
||||||
|
|
||||||
|
###> symfony/webpack-encore-pack ### |
||||||
|
/node_modules/ |
||||||
|
/public/build/ |
||||||
|
npm-debug.log |
||||||
|
yarn-error.log |
||||||
|
###< symfony/webpack-encore-pack ### |
||||||
|
|
||||||
|
###> symfony/phpunit-bridge ### |
||||||
|
.phpunit |
||||||
|
/phpunit.xml |
||||||
|
###< symfony/phpunit-bridge ### |
||||||
|
|
||||||
|
###> symfony/web-server-bundle ### |
||||||
|
/.web-server-pid |
||||||
|
###< symfony/web-server-bundle ### |
||||||
|
|
||||||
|
.idea |
||||||
|
/config/jwt |
@ -0,0 +1,39 @@ |
|||||||
|
#!/usr/bin/env php |
||||||
|
<?php |
||||||
|
|
||||||
|
use App\Kernel; |
||||||
|
use Symfony\Bundle\FrameworkBundle\Console\Application; |
||||||
|
use Symfony\Component\Console\Input\ArgvInput; |
||||||
|
use Symfony\Component\Debug\Debug; |
||||||
|
use Symfony\Component\Dotenv\Dotenv; |
||||||
|
|
||||||
|
set_time_limit(0); |
||||||
|
|
||||||
|
require __DIR__.'/../vendor/autoload.php'; |
||||||
|
|
||||||
|
if (!class_exists(Application::class)) { |
||||||
|
throw new \RuntimeException('You need to add "symfony/framework-bundle" as a Composer dependency.'); |
||||||
|
} |
||||||
|
|
||||||
|
if (!isset($_SERVER['APP_ENV'])) { |
||||||
|
if (!class_exists(Dotenv::class)) { |
||||||
|
throw new \RuntimeException('APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file.'); |
||||||
|
} |
||||||
|
(new Dotenv())->load(__DIR__.'/../.env'); |
||||||
|
} |
||||||
|
|
||||||
|
$input = new ArgvInput(); |
||||||
|
$env = $input->getParameterOption(['--env', '-e'], $_SERVER['APP_ENV'] ?? 'dev', true); |
||||||
|
$debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)) && !$input->hasParameterOption('--no-debug', true); |
||||||
|
|
||||||
|
if ($debug) { |
||||||
|
umask(0000); |
||||||
|
|
||||||
|
if (class_exists(Debug::class)) { |
||||||
|
Debug::enable(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$kernel = new Kernel($env, $debug); |
||||||
|
$application = new Application($kernel); |
||||||
|
$application->run($input); |
@ -0,0 +1,18 @@ |
|||||||
|
#!/usr/bin/env php |
||||||
|
<?php |
||||||
|
|
||||||
|
if (!file_exists(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit')) { |
||||||
|
echo "Unable to find the `simple-phpunit` script in `vendor/symfony/phpunit-bridge/bin/`.\n"; |
||||||
|
exit(1); |
||||||
|
} |
||||||
|
if (false === getenv('SYMFONY_PHPUNIT_REMOVE')) { |
||||||
|
putenv('SYMFONY_PHPUNIT_REMOVE=symfony/yaml'); |
||||||
|
} |
||||||
|
if (false === getenv('SYMFONY_PHPUNIT_VERSION')) { |
||||||
|
putenv('SYMFONY_PHPUNIT_VERSION=6.5'); |
||||||
|
} |
||||||
|
if (false === getenv('SYMFONY_PHPUNIT_DIR')) { |
||||||
|
putenv('SYMFONY_PHPUNIT_DIR='.__DIR__.'/.phpunit'); |
||||||
|
} |
||||||
|
|
||||||
|
require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit'; |
@ -0,0 +1,81 @@ |
|||||||
|
{ |
||||||
|
"type": "project", |
||||||
|
"license": "proprietary", |
||||||
|
"require": { |
||||||
|
"php": "^7.1.3", |
||||||
|
"ext-iconv": "*", |
||||||
|
"lexik/jwt-authentication-bundle": "^2.4", |
||||||
|
"sensio/framework-extra-bundle": "^5.1", |
||||||
|
"symfony/asset": "^4.0", |
||||||
|
"symfony/console": "^4.0", |
||||||
|
"symfony/expression-language": "^4.0", |
||||||
|
"symfony/flex": "^1.0", |
||||||
|
"symfony/form": "^4.0", |
||||||
|
"symfony/framework-bundle": "^4.0", |
||||||
|
"symfony/lts": "^4@dev", |
||||||
|
"symfony/monolog-bundle": "^3.1", |
||||||
|
"symfony/orm-pack": "*", |
||||||
|
"symfony/process": "^4.0", |
||||||
|
"symfony/security-bundle": "^4.0", |
||||||
|
"symfony/serializer-pack": "*", |
||||||
|
"symfony/swiftmailer-bundle": "^3.1", |
||||||
|
"symfony/twig-bundle": "^4.0", |
||||||
|
"symfony/validator": "^4.0", |
||||||
|
"symfony/web-link": "^4.0", |
||||||
|
"symfony/webpack-encore-pack": "*", |
||||||
|
"symfony/yaml": "^4.0" |
||||||
|
}, |
||||||
|
"require-dev": { |
||||||
|
"symfony/browser-kit": "^4.0", |
||||||
|
"symfony/css-selector": "^4.0", |
||||||
|
"symfony/debug-pack": "*", |
||||||
|
"symfony/dotenv": "^4.0", |
||||||
|
"symfony/maker-bundle": "^1.0", |
||||||
|
"symfony/phpunit-bridge": "^4.0", |
||||||
|
"symfony/profiler-pack": "*", |
||||||
|
"symfony/web-server-bundle": "^4.0" |
||||||
|
}, |
||||||
|
"config": { |
||||||
|
"preferred-install": { |
||||||
|
"*": "dist" |
||||||
|
}, |
||||||
|
"sort-packages": true |
||||||
|
}, |
||||||
|
"autoload": { |
||||||
|
"psr-4": { |
||||||
|
"App\\": "src/" |
||||||
|
} |
||||||
|
}, |
||||||
|
"autoload-dev": { |
||||||
|
"psr-4": { |
||||||
|
"App\\Tests\\": "tests/" |
||||||
|
} |
||||||
|
}, |
||||||
|
"replace": { |
||||||
|
"symfony/polyfill-iconv": "*", |
||||||
|
"symfony/polyfill-php71": "*", |
||||||
|
"symfony/polyfill-php70": "*", |
||||||
|
"symfony/polyfill-php56": "*" |
||||||
|
}, |
||||||
|
"scripts": { |
||||||
|
"auto-scripts": { |
||||||
|
"cache:clear": "symfony-cmd", |
||||||
|
"assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd" |
||||||
|
}, |
||||||
|
"post-install-cmd": [ |
||||||
|
"@auto-scripts" |
||||||
|
], |
||||||
|
"post-update-cmd": [ |
||||||
|
"@auto-scripts" |
||||||
|
] |
||||||
|
}, |
||||||
|
"conflict": { |
||||||
|
"symfony/symfony": "*" |
||||||
|
}, |
||||||
|
"extra": { |
||||||
|
"symfony": { |
||||||
|
"id": "01CBSMXHM5DKB6TZ52002ZR497", |
||||||
|
"allow-contrib": false |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
return [ |
||||||
|
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true], |
||||||
|
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], |
||||||
|
Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], |
||||||
|
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], |
||||||
|
Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true], |
||||||
|
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], |
||||||
|
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], |
||||||
|
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], |
||||||
|
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], |
||||||
|
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true], |
||||||
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true], |
||||||
|
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], |
||||||
|
Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true], |
||||||
|
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true], |
||||||
|
]; |
@ -0,0 +1,16 @@ |
|||||||
|
services: |
||||||
|
EasyCorp\EasyLog\EasyLogHandler: |
||||||
|
public: false |
||||||
|
arguments: ['%kernel.logs_dir%/%kernel.environment%.log'] |
||||||
|
|
||||||
|
#// FIXME: How to add this configuration automatically without messing up with the monolog configuration? |
||||||
|
#monolog: |
||||||
|
# handlers: |
||||||
|
# buffered: |
||||||
|
# type: buffer |
||||||
|
# handler: easylog |
||||||
|
# channels: ['!event'] |
||||||
|
# level: debug |
||||||
|
# easylog: |
||||||
|
# type: service |
||||||
|
# id: EasyCorp\EasyLog\EasyLogHandler |
@ -0,0 +1,19 @@ |
|||||||
|
monolog: |
||||||
|
handlers: |
||||||
|
main: |
||||||
|
type: stream |
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log" |
||||||
|
level: debug |
||||||
|
channels: ["!event"] |
||||||
|
# uncomment to get logging in your browser |
||||||
|
# you may have to allow bigger header sizes in your Web server configuration |
||||||
|
#firephp: |
||||||
|
# type: firephp |
||||||
|
# level: info |
||||||
|
#chromephp: |
||||||
|
# type: chromephp |
||||||
|
# level: info |
||||||
|
console: |
||||||
|
type: console |
||||||
|
process_psr_3_messages: false |
||||||
|
channels: ["!event", "!doctrine", "!console"] |
@ -0,0 +1,3 @@ |
|||||||
|
framework: |
||||||
|
router: |
||||||
|
strict_requirements: true |
@ -0,0 +1,4 @@ |
|||||||
|
# See https://symfony.com/doc/current/email/dev_environment.html |
||||||
|
swiftmailer: |
||||||
|
# send all emails to a specific address |
||||||
|
#delivery_addresses: ['me@example.com'] |
@ -0,0 +1,6 @@ |
|||||||
|
web_profiler: |
||||||
|
toolbar: true |
||||||
|
intercept_redirects: false |
||||||
|
|
||||||
|
framework: |
||||||
|
profiler: { only_exceptions: false } |
@ -0,0 +1,29 @@ |
|||||||
|
parameters: |
||||||
|
# Adds a fallback DATABASE_URL if the env var is not set. |
||||||
|
# This allows you to run cache:warmup even if your |
||||||
|
# environment variables are not available yet. |
||||||
|
# You should not need to change this value. |
||||||
|
env(DATABASE_URL): '' |
||||||
|
|
||||||
|
doctrine: |
||||||
|
dbal: |
||||||
|
# configure these for your database server |
||||||
|
driver: 'pdo_mysql' |
||||||
|
server_version: '5.7' |
||||||
|
charset: utf8mb4 |
||||||
|
default_table_options: |
||||||
|
charset: utf8mb4 |
||||||
|
collate: utf8mb4_unicode_ci |
||||||
|
|
||||||
|
url: '%env(resolve:DATABASE_URL)%' |
||||||
|
orm: |
||||||
|
auto_generate_proxy_classes: '%kernel.debug%' |
||||||
|
naming_strategy: doctrine.orm.naming_strategy.underscore |
||||||
|
auto_mapping: true |
||||||
|
mappings: |
||||||
|
App: |
||||||
|
is_bundle: false |
||||||
|
type: annotation |
||||||
|
dir: '%kernel.project_dir%/src/Entity' |
||||||
|
prefix: 'App\Entity' |
||||||
|
alias: App |
@ -0,0 +1,5 @@ |
|||||||
|
doctrine_migrations: |
||||||
|
dir_name: '%kernel.project_dir%/src/Migrations' |
||||||
|
# namespace is arbitrary but should be different from App\Migrations |
||||||
|
# as migrations classes should NOT be autoloaded |
||||||
|
namespace: DoctrineMigrations |
@ -0,0 +1,30 @@ |
|||||||
|
framework: |
||||||
|
secret: '%env(APP_SECRET)%' |
||||||
|
#default_locale: en |
||||||
|
#csrf_protection: true |
||||||
|
#http_method_override: true |
||||||
|
|
||||||
|
# Enables session support. Note that the session will ONLY be started if you read or write from it. |
||||||
|
# Remove or comment this section to explicitly disable session support. |
||||||
|
session: |
||||||
|
handler_id: ~ |
||||||
|
|
||||||
|
#esi: true |
||||||
|
#fragments: true |
||||||
|
php_errors: |
||||||
|
log: true |
||||||
|
|
||||||
|
cache: |
||||||
|
# Put the unique name of your app here: the prefix seed |
||||||
|
# is used to compute stable namespaces for cache keys. |
||||||
|
#prefix_seed: your_vendor_name/app_name |
||||||
|
|
||||||
|
# The app cache caches to the filesystem by default. |
||||||
|
# Other options include: |
||||||
|
|
||||||
|
# Redis |
||||||
|
#app: cache.adapter.redis |
||||||
|
#default_redis_provider: redis://localhost |
||||||
|
|
||||||
|
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) |
||||||
|
#app: cache.adapter.apcu |
@ -0,0 +1,4 @@ |
|||||||
|
lexik_jwt_authentication: |
||||||
|
private_key_path: '%kernel.project_dir%/%env(JWT_PRIVATE_KEY_PATH)%' |
||||||
|
public_key_path: '%kernel.project_dir%/%env(JWT_PUBLIC_KEY_PATH)%' |
||||||
|
pass_phrase: '%env(JWT_PASSPHRASE)%' |
@ -0,0 +1,31 @@ |
|||||||
|
doctrine: |
||||||
|
orm: |
||||||
|
metadata_cache_driver: |
||||||
|
type: service |
||||||
|
id: doctrine.system_cache_provider |
||||||
|
query_cache_driver: |
||||||
|
type: service |
||||||
|
id: doctrine.system_cache_provider |
||||||
|
result_cache_driver: |
||||||
|
type: service |
||||||
|
id: doctrine.result_cache_provider |
||||||
|
|
||||||
|
services: |
||||||
|
doctrine.result_cache_provider: |
||||||
|
class: Symfony\Component\Cache\DoctrineProvider |
||||||
|
public: false |
||||||
|
arguments: |
||||||
|
- '@doctrine.result_cache_pool' |
||||||
|
doctrine.system_cache_provider: |
||||||
|
class: Symfony\Component\Cache\DoctrineProvider |
||||||
|
public: false |
||||||
|
arguments: |
||||||
|
- '@doctrine.system_cache_pool' |
||||||
|
|
||||||
|
framework: |
||||||
|
cache: |
||||||
|
pools: |
||||||
|
doctrine.result_cache_pool: |
||||||
|
adapter: cache.app |
||||||
|
doctrine.system_cache_pool: |
||||||
|
adapter: cache.system |
@ -0,0 +1,17 @@ |
|||||||
|
monolog: |
||||||
|
handlers: |
||||||
|
main: |
||||||
|
type: fingers_crossed |
||||||
|
action_level: error |
||||||
|
handler: nested |
||||||
|
excluded_404s: |
||||||
|
# regex: exclude all 404 errors from the logs |
||||||
|
- ^/ |
||||||
|
nested: |
||||||
|
type: stream |
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log" |
||||||
|
level: debug |
||||||
|
console: |
||||||
|
type: console |
||||||
|
process_psr_3_messages: false |
||||||
|
channels: ["!event", "!doctrine"] |
@ -0,0 +1,3 @@ |
|||||||
|
framework: |
||||||
|
router: |
||||||
|
strict_requirements: ~ |
@ -0,0 +1,36 @@ |
|||||||
|
security: |
||||||
|
providers: |
||||||
|
user_db: |
||||||
|
entity: { class: App\Entity\User, property: username } |
||||||
|
firewalls: |
||||||
|
login: |
||||||
|
pattern: ^/api/auth/login |
||||||
|
stateless: true |
||||||
|
anonymous: true |
||||||
|
form_login: |
||||||
|
check_path: /api/auth/login |
||||||
|
success_handler: lexik_jwt_authentication.handler.authentication_success |
||||||
|
failure_handler: lexik_jwt_authentication.handler.authentication_failure |
||||||
|
require_previous_session: false |
||||||
|
|
||||||
|
api: |
||||||
|
pattern: ^/api |
||||||
|
stateless: true |
||||||
|
guard: |
||||||
|
authenticators: |
||||||
|
- lexik_jwt_authentication.jwt_token_authenticator |
||||||
|
|
||||||
|
dev: |
||||||
|
pattern: ^/(_(profiler|wdt)|css|images|js)/ |
||||||
|
security: false |
||||||
|
main: |
||||||
|
anonymous: true |
||||||
|
form_login: |
||||||
|
login_path: login |
||||||
|
check_path: login |
||||||
|
|
||||||
|
access_control: |
||||||
|
- { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } |
||||||
|
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY } |
||||||
|
encoders: |
||||||
|
App\Entity\User: plaintext |
@ -0,0 +1,3 @@ |
|||||||
|
swiftmailer: |
||||||
|
url: '%env(MAILER_URL)%' |
||||||
|
spool: { type: 'memory' } |
@ -0,0 +1,4 @@ |
|||||||
|
framework: |
||||||
|
test: true |
||||||
|
session: |
||||||
|
storage_id: session.storage.mock_file |
@ -0,0 +1,7 @@ |
|||||||
|
monolog: |
||||||
|
handlers: |
||||||
|
main: |
||||||
|
type: stream |
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log" |
||||||
|
level: debug |
||||||
|
channels: ["!event"] |
@ -0,0 +1,2 @@ |
|||||||
|
swiftmailer: |
||||||
|
disable_delivery: true |
@ -0,0 +1,6 @@ |
|||||||
|
web_profiler: |
||||||
|
toolbar: false |
||||||
|
intercept_redirects: false |
||||||
|
|
||||||
|
framework: |
||||||
|
profiler: { collect: false } |
@ -0,0 +1,7 @@ |
|||||||
|
framework: |
||||||
|
default_locale: '%locale%' |
||||||
|
translator: |
||||||
|
paths: |
||||||
|
- '%kernel.project_dir%/translations' |
||||||
|
fallbacks: |
||||||
|
- '%locale%' |
@ -0,0 +1,5 @@ |
|||||||
|
twig: |
||||||
|
paths: ['%kernel.project_dir%/templates'] |
||||||
|
debug: '%kernel.debug%' |
||||||
|
strict_variables: '%kernel.debug%' |
||||||
|
form_themes: ['bootstrap_3_layout.html.twig'] |
@ -0,0 +1,3 @@ |
|||||||
|
#index: |
||||||
|
# path: / |
||||||
|
# controller: App\Controller\DefaultController::index |
@ -0,0 +1,6 @@ |
|||||||
|
controllers: |
||||||
|
resource: ../../src/Controller/ |
||||||
|
type: annotation |
||||||
|
|
||||||
|
api_login_check: |
||||||
|
path: /api/auth/login |
@ -0,0 +1,3 @@ |
|||||||
|
_errors: |
||||||
|
resource: '@TwigBundle/Resources/config/routing/errors.xml' |
||||||
|
prefix: /_error |
@ -0,0 +1,7 @@ |
|||||||
|
web_profiler_wdt: |
||||||
|
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' |
||||||
|
prefix: /_wdt |
||||||
|
|
||||||
|
web_profiler_profiler: |
||||||
|
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' |
||||||
|
prefix: /_profiler |
@ -0,0 +1,45 @@ |
|||||||
|
# Put parameters here that don't need to change on each machine where the app is deployed |
||||||
|
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration |
||||||
|
parameters: |
||||||
|
locale: 'en' |
||||||
|
appHost: '%env(APP_HOST)%' |
||||||
|
nginxFolder: '%env(NGINX_CONFIG_DIR)%' |
||||||
|
|
||||||
|
services: |
||||||
|
# default configuration for services in *this* file |
||||||
|
_defaults: |
||||||
|
autowire: true # Automatically injects dependencies in your services. |
||||||
|
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. |
||||||
|
public: false # Allows optimizing the container by removing unused services; this also means |
||||||
|
# fetching services directly from the container via $container->get() won't work. |
||||||
|
# The best practice is to be explicit about your dependencies anyway. |
||||||
|
|
||||||
|
# makes classes in src/ available to be used as services |
||||||
|
# this creates a service per class whose id is the fully-qualified class name |
||||||
|
App\: |
||||||
|
resource: '../src/*' |
||||||
|
exclude: '../src/{Entity,Migrations,Tests,Kernel.php}' |
||||||
|
|
||||||
|
# controllers are imported separately to make sure services can be injected |
||||||
|
# as action arguments even if you don't extend any base controller class |
||||||
|
App\Controller\: |
||||||
|
resource: '../src/Controller' |
||||||
|
tags: ['controller.service_arguments'] |
||||||
|
|
||||||
|
App\Component\Services\: |
||||||
|
resource: '../src/Component/Services' |
||||||
|
tags: ['recast.service'] |
||||||
|
|
||||||
|
App\Component\ServiceManager: |
||||||
|
class: App\Component\ServiceManager |
||||||
|
arguments: [!tagged recast.service] |
||||||
|
|
||||||
|
App\Component\NginxConfigGenerator: |
||||||
|
class: App\Component\NginxConfigGenerator |
||||||
|
autowire: true |
||||||
|
bind: |
||||||
|
$nginxFolder: '%nginxFolder%' |
||||||
|
$appHost: '%appHost%' |
||||||
|
|
||||||
|
# add more service definitions when explicit configuration is needed |
||||||
|
# please note that last definitions always *replace* previous ones |
@ -0,0 +1,9 @@ |
|||||||
|
services: |
||||||
|
_defaults: |
||||||
|
public: true |
||||||
|
|
||||||
|
# If you need to access services in a test, create an alias |
||||||
|
# and then fetch that alias from the container. As a convention, |
||||||
|
# aliases are prefixed with test. For example: |
||||||
|
# |
||||||
|
# test.App\Service\MyService: '@App\Service\MyService' |
@ -0,0 +1,35 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
|
||||||
|
<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html --> |
||||||
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||||
|
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/6.1/phpunit.xsd" |
||||||
|
backupGlobals="false" |
||||||
|
colors="true" |
||||||
|
bootstrap="vendor/autoload.php" |
||||||
|
> |
||||||
|
<php> |
||||||
|
<ini name="error_reporting" value="-1" /> |
||||||
|
<env name="KERNEL_CLASS" value="App\Kernel" /> |
||||||
|
<env name="APP_ENV" value="test" /> |
||||||
|
<env name="APP_DEBUG" value="1" /> |
||||||
|
<env name="APP_SECRET" value="s$cretf0rt3st" /> |
||||||
|
<env name="SHELL_VERBOSITY" value="-1" /> |
||||||
|
<!-- define your env variables for the test env here --> |
||||||
|
</php> |
||||||
|
|
||||||
|
<testsuites> |
||||||
|
<testsuite name="Project Test Suite"> |
||||||
|
<directory>tests/</directory> |
||||||
|
</testsuite> |
||||||
|
</testsuites> |
||||||
|
|
||||||
|
<filter> |
||||||
|
<whitelist> |
||||||
|
<directory>./src/</directory> |
||||||
|
</whitelist> |
||||||
|
</filter> |
||||||
|
|
||||||
|
<listeners> |
||||||
|
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" /> |
||||||
|
</listeners> |
||||||
|
</phpunit> |
@ -0,0 +1,39 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
use App\Kernel; |
||||||
|
use Symfony\Component\Debug\Debug; |
||||||
|
use Symfony\Component\Dotenv\Dotenv; |
||||||
|
use Symfony\Component\HttpFoundation\Request; |
||||||
|
|
||||||
|
require __DIR__.'/../vendor/autoload.php'; |
||||||
|
|
||||||
|
// The check is to ensure we don't use .env in production |
||||||
|
if (!isset($_SERVER['APP_ENV'])) { |
||||||
|
if (!class_exists(Dotenv::class)) { |
||||||
|
throw new \RuntimeException('APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file.'); |
||||||
|
} |
||||||
|
(new Dotenv())->load(__DIR__.'/../.env'); |
||||||
|
} |
||||||
|
|
||||||
|
$env = $_SERVER['APP_ENV'] ?? 'dev'; |
||||||
|
$debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)); |
||||||
|
|
||||||
|
if ($debug) { |
||||||
|
umask(0000); |
||||||
|
|
||||||
|
Debug::enable(); |
||||||
|
} |
||||||
|
|
||||||
|
if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { |
||||||
|
Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST); |
||||||
|
} |
||||||
|
|
||||||
|
if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { |
||||||
|
Request::setTrustedHosts(explode(',', $trustedHosts)); |
||||||
|
} |
||||||
|
|
||||||
|
$kernel = new Kernel($env, $debug); |
||||||
|
$request = Request::createFromGlobals(); |
||||||
|
$response = $kernel->handle($request); |
||||||
|
$response->send(); |
||||||
|
$kernel->terminate($request, $response); |
@ -0,0 +1,18 @@ |
|||||||
|
{ |
||||||
|
"presets": [ |
||||||
|
["env", { |
||||||
|
"modules": false, |
||||||
|
"targets": { |
||||||
|
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"] |
||||||
|
} |
||||||
|
}], |
||||||
|
"stage-2" |
||||||
|
], |
||||||
|
"plugins": ["transform-runtime"], |
||||||
|
"env": { |
||||||
|
"test": { |
||||||
|
"presets": ["env", "stage-2"], |
||||||
|
"plugins": ["istanbul"] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
root = true |
||||||
|
|
||||||
|
[*] |
||||||
|
charset = utf-8 |
||||||
|
indent_style = space |
||||||
|
indent_size = 2 |
||||||
|
end_of_line = lf |
||||||
|
insert_final_newline = true |
||||||
|
trim_trailing_whitespace = true |
@ -0,0 +1,27 @@ |
|||||||
|
// http://eslint.org/docs/user-guide/configuring
|
||||||
|
|
||||||
|
module.exports = { |
||||||
|
root: true, |
||||||
|
parser: 'babel-eslint', |
||||||
|
parserOptions: { |
||||||
|
sourceType: 'module' |
||||||
|
}, |
||||||
|
env: { |
||||||
|
browser: true, |
||||||
|
}, |
||||||
|
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
|
||||||
|
extends: 'standard', |
||||||
|
// required to lint *.vue files
|
||||||
|
plugins: [ |
||||||
|
'html' |
||||||
|
], |
||||||
|
// add your custom rules here
|
||||||
|
'rules': { |
||||||
|
// allow paren-less arrow functions
|
||||||
|
'arrow-parens': 0, |
||||||
|
// allow async-await
|
||||||
|
'generator-star-spacing': 0, |
||||||
|
// allow debugger during development
|
||||||
|
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
.DS_Store |
||||||
|
node_modules/ |
||||||
|
dist/ |
||||||
|
npm-debug.log* |
||||||
|
yarn-debug.log* |
||||||
|
yarn-error.log* |
||||||
|
test/unit/coverage |
||||||
|
|
||||||
|
# Editor directories and files |
||||||
|
.idea |
||||||
|
*.suo |
||||||
|
*.ntvs* |
||||||
|
*.njsproj |
||||||
|
*.sln |
@ -0,0 +1,8 @@ |
|||||||
|
// https://github.com/michael-ciniawsky/postcss-load-config
|
||||||
|
|
||||||
|
module.exports = { |
||||||
|
"plugins": { |
||||||
|
// to edit target browsers: use "browserslist" field in package.json
|
||||||
|
"autoprefixer": {} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
MIT License |
||||||
|
|
||||||
|
Copyright (c) 2017 Cristi Jora |
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||||
|
of this software and associated documentation files (the "Software"), to deal |
||||||
|
in the Software without restriction, including without limitation the rights |
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||||
|
copies of the Software, and to permit persons to whom the Software is |
||||||
|
furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all |
||||||
|
copies or substantial portions of the Software. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||||
|
SOFTWARE. |
@ -0,0 +1,45 @@ |
|||||||
|
# [Vue Light Bootstrap Dashboard](http://vuejs.creative-tim.com/vue-light-bootstrap-dashboard) [![version][version-badge]][CHANGELOG] [![license][license-badge]][LICENSE] |
||||||
|
|
||||||
|
> Admin dashboard based on light bootstrap dashboard UI template + vue-router |
||||||
|
|
||||||
|
This project is a vue version of [Light bootstrap dashboard](https://www.creative-tim.com/product/light-bootstrap-dashboard) |
||||||
|
designed for vue js. The dashboard includes Bootstrap 4, vue-router, chartist, google-maps and several other plugins/components. |
||||||
|
|
||||||
|
Check the [Live Demo here](http://vuejs.creative-tim.com/vue-light-bootstrap-dashboard). |
||||||
|
|
||||||
|
![](static/Dashboard.PNG) |
||||||
|
## :rocket: Getting started |
||||||
|
|
||||||
|
Vue Light Bootstrap Dashboard is built on top of Bootstrap 4, Vuejs and Vue-router. To get started do the following steps: |
||||||
|
1. Download the project |
||||||
|
2. Make sure you have node.js (https://nodejs.org/en/) installed |
||||||
|
3. Type `npm install` in the source folder where `package.json` is located |
||||||
|
4. Type `npm run dev` to start the development server |
||||||
|
|
||||||
|
The repo uses [vue-cli](https://github.com/vuejs/vue-cli) scaffolding which takes care of the development setup with webpack and all the necessary modern tools to make web development faster and easier. |
||||||
|
|
||||||
|
## [Documentation](https://cristijora.github.io/vue-light-bootstrap-dashboard/documentation/#/buttons) |
||||||
|
|
||||||
|
## :cloud: Build Setup |
||||||
|
|
||||||
|
### install dependencies |
||||||
|
`npm install` |
||||||
|
### serve with hot reload at localhost:8000 |
||||||
|
`npm run dev` |
||||||
|
### build for production with minification |
||||||
|
`npm run build` |
||||||
|
### run unit tests |
||||||
|
`npm run unit` |
||||||
|
### run and watch unit tests |
||||||
|
`npm run unit:watch` |
||||||
|
|
||||||
|
## :clipboard: Contribution guide |
||||||
|
* `npm install` or `yarn install` |
||||||
|
* Please don't use jQuery or jQuery based plugins since there are many pure Vue alternatives |
||||||
|
|
||||||
|
For detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). |
||||||
|
|
||||||
|
[CHANGELOG]: ./CHANGELOG.md |
||||||
|
[LICENSE]: ./LICENSE.md |
||||||
|
[version-badge]: https://img.shields.io/badge/version-1.0.0-blue.svg |
||||||
|
[license-badge]: https://img.shields.io/badge/license-MIT-blue.svg |
@ -0,0 +1,40 @@ |
|||||||
|
require('./check-versions')() |
||||||
|
|
||||||
|
process.env.NODE_ENV = 'production' |
||||||
|
|
||||||
|
var ora = require('ora') |
||||||
|
var rm = require('rimraf') |
||||||
|
var path = require('path') |
||||||
|
var chalk = require('chalk') |
||||||
|
var webpack = require('webpack') |
||||||
|
var config = require('../config') |
||||||
|
var webpackConfig = require('./webpack.prod.conf') |
||||||
|
|
||||||
|
var spinner = ora('building for production...') |
||||||
|
spinner.start() |
||||||
|
|
||||||
|
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { |
||||||
|
if (err) throw err |
||||||
|
webpack(webpackConfig, function (err, stats) { |
||||||
|
spinner.stop() |
||||||
|
if (err) throw err |
||||||
|
process.stdout.write(stats.toString({ |
||||||
|
colors: true, |
||||||
|
modules: false, |
||||||
|
children: false, |
||||||
|
chunks: false, |
||||||
|
chunkModules: false |
||||||
|
}) + '\n\n') |
||||||
|
|
||||||
|
if (stats.hasErrors()) { |
||||||
|
console.log(chalk.red(' Build failed with errors.\n')) |
||||||
|
process.exit(1) |
||||||
|
} |
||||||
|
|
||||||
|
console.log(chalk.cyan(' Build complete.\n')) |
||||||
|
console.log(chalk.yellow( |
||||||
|
' Tip: built files are meant to be served over an HTTP server.\n' + |
||||||
|
' Opening index.html over file:// won\'t work.\n' |
||||||
|
)) |
||||||
|
}) |
||||||
|
}) |
@ -0,0 +1,48 @@ |
|||||||
|
var chalk = require('chalk') |
||||||
|
var semver = require('semver') |
||||||
|
var packageConfig = require('../package.json') |
||||||
|
var shell = require('shelljs') |
||||||
|
function exec (cmd) { |
||||||
|
return require('child_process').execSync(cmd).toString().trim() |
||||||
|
} |
||||||
|
|
||||||
|
var versionRequirements = [ |
||||||
|
{ |
||||||
|
name: 'node', |
||||||
|
currentVersion: semver.clean(process.version), |
||||||
|
versionRequirement: packageConfig.engines.node |
||||||
|
} |
||||||
|
] |
||||||
|
|
||||||
|
if (shell.which('npm')) { |
||||||
|
versionRequirements.push({ |
||||||
|
name: 'npm', |
||||||
|
currentVersion: exec('npm --version'), |
||||||
|
versionRequirement: packageConfig.engines.npm |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = function () { |
||||||
|
var warnings = [] |
||||||
|
for (var i = 0; i < versionRequirements.length; i++) { |
||||||
|
var mod = versionRequirements[i] |
||||||
|
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { |
||||||
|
warnings.push(mod.name + ': ' + |
||||||
|
chalk.red(mod.currentVersion) + ' should be ' + |
||||||
|
chalk.green(mod.versionRequirement) |
||||||
|
) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (warnings.length) { |
||||||
|
console.log('') |
||||||
|
console.log(chalk.yellow('To use this template, you must update following to modules:')) |
||||||
|
console.log() |
||||||
|
for (var i = 0; i < warnings.length; i++) { |
||||||
|
var warning = warnings[i] |
||||||
|
console.log(' ' + warning) |
||||||
|
} |
||||||
|
console.log() |
||||||
|
process.exit(1) |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
/* eslint-disable */ |
||||||
|
require('eventsource-polyfill') |
||||||
|
var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') |
||||||
|
|
||||||
|
hotClient.subscribe(function (event) { |
||||||
|
if (event.action === 'reload') { |
||||||
|
window.location.reload() |
||||||
|
} |
||||||
|
}) |
@ -0,0 +1,92 @@ |
|||||||
|
require('./check-versions')() |
||||||
|
|
||||||
|
var config = require('../config') |
||||||
|
if (!process.env.NODE_ENV) { |
||||||
|
process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV) |
||||||
|
} |
||||||
|
|
||||||
|
var opn = require('opn') |
||||||
|
var path = require('path') |
||||||
|
var express = require('express') |
||||||
|
var webpack = require('webpack') |
||||||
|
var proxyMiddleware = require('http-proxy-middleware') |
||||||
|
var webpackConfig = (process.env.NODE_ENV === 'testing' || process.env.NODE_ENV === 'production') |
||||||
|
? require('./webpack.prod.conf') |
||||||
|
: require('./webpack.dev.conf') |
||||||
|
|
||||||
|
// default port where dev server listens for incoming traffic
|
||||||
|
var port = process.env.PORT || config.dev.port |
||||||
|
// automatically open browser, if not set will be false
|
||||||
|
var autoOpenBrowser = !!config.dev.autoOpenBrowser |
||||||
|
// Define HTTP proxies to your custom API backend
|
||||||
|
// https://github.com/chimurai/http-proxy-middleware
|
||||||
|
var proxyTable = config.dev.proxyTable |
||||||
|
|
||||||
|
var app = express() |
||||||
|
var compiler = webpack(webpackConfig) |
||||||
|
|
||||||
|
var devMiddleware = require('webpack-dev-middleware')(compiler, { |
||||||
|
publicPath: webpackConfig.output.publicPath, |
||||||
|
quiet: true |
||||||
|
}) |
||||||
|
|
||||||
|
var hotMiddleware = require('webpack-hot-middleware')(compiler, { |
||||||
|
log: false, |
||||||
|
heartbeat: 2000 |
||||||
|
}) |
||||||
|
// force page reload when html-webpack-plugin template changes
|
||||||
|
compiler.plugin('compilation', function (compilation) { |
||||||
|
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { |
||||||
|
hotMiddleware.publish({ action: 'reload' }) |
||||||
|
cb() |
||||||
|
}) |
||||||
|
}) |
||||||
|
|
||||||
|
// proxy api requests
|
||||||
|
Object.keys(proxyTable).forEach(function (context) { |
||||||
|
var options = proxyTable[context] |
||||||
|
if (typeof options === 'string') { |
||||||
|
options = { target: options } |
||||||
|
} |
||||||
|
app.use(proxyMiddleware(options.filter || context, options)) |
||||||
|
}) |
||||||
|
|
||||||
|
// handle fallback for HTML5 history API
|
||||||
|
app.use(require('connect-history-api-fallback')()) |
||||||
|
|
||||||
|
// serve webpack bundle output
|
||||||
|
app.use(devMiddleware) |
||||||
|
|
||||||
|
// enable hot-reload and state-preserving
|
||||||
|
// compilation error display
|
||||||
|
app.use(hotMiddleware) |
||||||
|
|
||||||
|
// serve pure static assets
|
||||||
|
var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory) |
||||||
|
app.use(staticPath, express.static('./static')) |
||||||
|
|
||||||
|
var uri = 'http://localhost:' + port |
||||||
|
|
||||||
|
var _resolve |
||||||
|
var readyPromise = new Promise(resolve => { |
||||||
|
_resolve = resolve |
||||||
|
}) |
||||||
|
|
||||||
|
console.log('> Starting dev server...') |
||||||
|
devMiddleware.waitUntilValid(() => { |
||||||
|
console.log('> Listening at ' + uri + '\n') |
||||||
|
// when env is testing, don't need open it
|
||||||
|
if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') { |
||||||
|
opn(uri) |
||||||
|
} |
||||||
|
_resolve() |
||||||
|
}) |
||||||
|
|
||||||
|
var server = app.listen(port) |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
ready: readyPromise, |
||||||
|
close: () => { |
||||||
|
server.close() |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,71 @@ |
|||||||
|
var path = require('path') |
||||||
|
var config = require('../config') |
||||||
|
var ExtractTextPlugin = require('extract-text-webpack-plugin') |
||||||
|
|
||||||
|
exports.assetsPath = function (_path) { |
||||||
|
var assetsSubDirectory = process.env.NODE_ENV === 'production' |
||||||
|
? config.build.assetsSubDirectory |
||||||
|
: config.dev.assetsSubDirectory |
||||||
|
return path.posix.join(assetsSubDirectory, _path) |
||||||
|
} |
||||||
|
|
||||||
|
exports.cssLoaders = function (options) { |
||||||
|
options = options || {} |
||||||
|
|
||||||
|
var cssLoader = { |
||||||
|
loader: 'css-loader', |
||||||
|
options: { |
||||||
|
minimize: process.env.NODE_ENV === 'production', |
||||||
|
sourceMap: options.sourceMap |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// generate loader string to be used with extract text plugin
|
||||||
|
function generateLoaders (loader, loaderOptions) { |
||||||
|
var loaders = [cssLoader] |
||||||
|
if (loader) { |
||||||
|
loaders.push({ |
||||||
|
loader: loader + '-loader', |
||||||
|
options: Object.assign({}, loaderOptions, { |
||||||
|
sourceMap: options.sourceMap |
||||||
|
}) |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// Extract CSS when that option is specified
|
||||||
|
// (which is the case during production build)
|
||||||
|
if (options.extract) { |
||||||
|
return ExtractTextPlugin.extract({ |
||||||
|
use: loaders, |
||||||
|
fallback: 'vue-style-loader' |
||||||
|
}) |
||||||
|
} else { |
||||||
|
return ['vue-style-loader'].concat(loaders) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
|
||||||
|
return { |
||||||
|
css: generateLoaders(), |
||||||
|
postcss: generateLoaders(), |
||||||
|
less: generateLoaders('less'), |
||||||
|
sass: generateLoaders('sass', { indentedSyntax: true }), |
||||||
|
scss: generateLoaders('sass'), |
||||||
|
stylus: generateLoaders('stylus'), |
||||||
|
styl: generateLoaders('stylus') |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Generate loaders for standalone style files (outside of .vue)
|
||||||
|
exports.styleLoaders = function (options) { |
||||||
|
var output = [] |
||||||
|
var loaders = exports.cssLoaders(options) |
||||||
|
for (var extension in loaders) { |
||||||
|
var loader = loaders[extension] |
||||||
|
output.push({ |
||||||
|
test: new RegExp('\\.' + extension + '$'), |
||||||
|
use: loader |
||||||
|
}) |
||||||
|
} |
||||||
|
return output |
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
'use strict' |
||||||
|
const utils = require('./utils') |
||||||
|
const config = require('../config') |
||||||
|
const isProduction = process.env.NODE_ENV === 'production' |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
loaders: utils.cssLoaders({ |
||||||
|
sourceMap: isProduction |
||||||
|
? config.build.productionSourceMap |
||||||
|
: config.dev.cssSourceMap, |
||||||
|
extract: isProduction |
||||||
|
}), |
||||||
|
transformToRequire: { |
||||||
|
video: 'src', |
||||||
|
source: 'src', |
||||||
|
img: 'src', |
||||||
|
image: 'xlink:href' |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,74 @@ |
|||||||
|
var path = require('path') |
||||||
|
var utils = require('./utils') |
||||||
|
var config = require('../config') |
||||||
|
var vueLoaderConfig = require('./vue-loader.conf') |
||||||
|
|
||||||
|
function resolve (dir) { |
||||||
|
return path.join(__dirname, '..', dir) |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
entry: { |
||||||
|
app: './src/main.js' |
||||||
|
}, |
||||||
|
output: { |
||||||
|
path: config.build.assetsRoot, |
||||||
|
filename: '[name].js', |
||||||
|
publicPath: process.env.NODE_ENV === 'production' |
||||||
|
? config.build.assetsPublicPath |
||||||
|
: config.dev.assetsPublicPath |
||||||
|
}, |
||||||
|
resolve: { |
||||||
|
extensions: ['.js', '.vue', '.json'], |
||||||
|
alias: { |
||||||
|
'vue$': 'vue/dist/vue.common.js', |
||||||
|
'@': resolve('src'), |
||||||
|
} |
||||||
|
}, |
||||||
|
module: { |
||||||
|
rules: [ |
||||||
|
{ |
||||||
|
test: /\.vue$/, |
||||||
|
loader: 'vue-loader', |
||||||
|
options: vueLoaderConfig |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.js$/, |
||||||
|
loader: 'babel-loader', |
||||||
|
include: [resolve('src'), resolve('test')] |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, |
||||||
|
loader: 'url-loader', |
||||||
|
options: { |
||||||
|
limit: 10000, |
||||||
|
name: utils.assetsPath('img/[name].[hash:7].[ext]') |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, |
||||||
|
loader: 'url-loader', |
||||||
|
options: { |
||||||
|
limit: 10000, |
||||||
|
name: utils.assetsPath('media/[name].[hash:7].[ext]') |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, |
||||||
|
loader: 'url-loader', |
||||||
|
options: { |
||||||
|
limit: 10000, |
||||||
|
name: utils.assetsPath('fonts/[name].[hash:7].[ext]') |
||||||
|
} |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Vue Paper Dashboard PRO Custom configuration. Do not delete this once upgrading to a newer vue-cli version |
||||||
|
*/ |
||||||
|
|
||||||
|
const merge = require('webpack-merge') |
||||||
|
const customWebpackConfig = require('./webpack.custom') |
||||||
|
module.exports = merge(customWebpackConfig, module.exports) |
@ -0,0 +1,34 @@ |
|||||||
|
var path = require('path') |
||||||
|
|
||||||
|
function resolve (dir) { |
||||||
|
return path.join(__dirname, '..', dir) |
||||||
|
} |
||||||
|
|
||||||
|
var webpackConfig = { |
||||||
|
resolve: { |
||||||
|
alias: { |
||||||
|
'src': resolve('src'), |
||||||
|
'assets': resolve('src/assets'), |
||||||
|
'components': resolve('src/components') |
||||||
|
} |
||||||
|
}, |
||||||
|
module: { |
||||||
|
rules: [] |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
var esLintRule = { |
||||||
|
test: /\.(js|vue)$/, |
||||||
|
loader: 'eslint-loader', |
||||||
|
enforce: 'pre', |
||||||
|
include: [resolve('src'), resolve('test')], |
||||||
|
options: { |
||||||
|
formatter: require('eslint-friendly-formatter') |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if(process.env.ENABLE_ESLINT && process.env.ENABLE_ESLINT === 'true'){ |
||||||
|
webpackConfig.module.rules.unshift(esLintRule) //add eslint
|
||||||
|
} |
||||||
|
|
||||||
|
module.exports = webpackConfig |
@ -0,0 +1,35 @@ |
|||||||
|
var utils = require('./utils') |
||||||
|
var webpack = require('webpack') |
||||||
|
var config = require('../config') |
||||||
|
var merge = require('webpack-merge') |
||||||
|
var baseWebpackConfig = require('./webpack.base.conf') |
||||||
|
var HtmlWebpackPlugin = require('html-webpack-plugin') |
||||||
|
var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') |
||||||
|
|
||||||
|
// add hot-reload related code to entry chunks
|
||||||
|
Object.keys(baseWebpackConfig.entry).forEach(function (name) { |
||||||
|
baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) |
||||||
|
}) |
||||||
|
|
||||||
|
module.exports = merge(baseWebpackConfig, { |
||||||
|
module: { |
||||||
|
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) |
||||||
|
}, |
||||||
|
// cheap-module-eval-source-map is faster for development
|
||||||
|
devtool: '#cheap-module-eval-source-map', |
||||||
|
plugins: [ |
||||||
|
new webpack.DefinePlugin({ |
||||||
|
'process.env': config.dev.env |
||||||
|
}), |
||||||
|
// https://github.com/glenjamin/webpack-hot-middleware#installation--usage
|
||||||
|
new webpack.HotModuleReplacementPlugin(), |
||||||
|
new webpack.NoEmitOnErrorsPlugin(), |
||||||
|
// https://github.com/ampedandwired/html-webpack-plugin
|
||||||
|
new HtmlWebpackPlugin({ |
||||||
|
filename: 'index.html', |
||||||
|
template: 'index.html', |
||||||
|
inject: true |
||||||
|
}), |
||||||
|
new FriendlyErrorsPlugin() |
||||||
|
] |
||||||
|
}) |
@ -0,0 +1,126 @@ |
|||||||
|
var path = require('path') |
||||||
|
var utils = require('./utils') |
||||||
|
var webpack = require('webpack') |
||||||
|
var config = require('../config') |
||||||
|
var merge = require('webpack-merge') |
||||||
|
var baseWebpackConfig = require('./webpack.base.conf') |
||||||
|
var CopyWebpackPlugin = require('copy-webpack-plugin') |
||||||
|
var HtmlWebpackPlugin = require('html-webpack-plugin') |
||||||
|
var ExtractTextPlugin = require('extract-text-webpack-plugin') |
||||||
|
var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') |
||||||
|
|
||||||
|
var env = process.env.NODE_ENV === 'testing' |
||||||
|
? require('../config/test.env') |
||||||
|
: config.build.env |
||||||
|
|
||||||
|
var webpackConfig = merge(baseWebpackConfig, { |
||||||
|
module: { |
||||||
|
rules: utils.styleLoaders({ |
||||||
|
sourceMap: config.build.productionSourceMap, |
||||||
|
extract: true |
||||||
|
}) |
||||||
|
}, |
||||||
|
devtool: config.build.productionSourceMap ? '#source-map' : false, |
||||||
|
output: { |
||||||
|
path: config.build.assetsRoot, |
||||||
|
filename: utils.assetsPath('js/[name].[chunkhash].js'), |
||||||
|
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') |
||||||
|
}, |
||||||
|
plugins: [ |
||||||
|
// http://vuejs.github.io/vue-loader/en/workflow/production.html
|
||||||
|
new webpack.DefinePlugin({ |
||||||
|
'process.env': env |
||||||
|
}), |
||||||
|
new webpack.optimize.UglifyJsPlugin({ |
||||||
|
compress: { |
||||||
|
warnings: false |
||||||
|
}, |
||||||
|
sourceMap: true |
||||||
|
}), |
||||||
|
// extract css into its own file
|
||||||
|
new ExtractTextPlugin({ |
||||||
|
filename: utils.assetsPath('css/[name].[contenthash].css') |
||||||
|
}), |
||||||
|
// Compress extracted CSS. We are using this plugin so that possible
|
||||||
|
// duplicated CSS from different components can be deduped.
|
||||||
|
new OptimizeCSSPlugin({ |
||||||
|
cssProcessorOptions: { |
||||||
|
safe: true |
||||||
|
} |
||||||
|
}), |
||||||
|
// generate dist index.html with correct asset hash for caching.
|
||||||
|
// you can customize output by editing /index.html
|
||||||
|
// see https://github.com/ampedandwired/html-webpack-plugin
|
||||||
|
new HtmlWebpackPlugin({ |
||||||
|
filename: process.env.NODE_ENV === 'testing' |
||||||
|
? 'index.html' |
||||||
|
: config.build.index, |
||||||
|
template: 'index.html', |
||||||
|
inject: true, |
||||||
|
minify: { |
||||||
|
removeComments: true, |
||||||
|
collapseWhitespace: true, |
||||||
|
removeAttributeQuotes: true |
||||||
|
// more options:
|
||||||
|
// https://github.com/kangax/html-minifier#options-quick-reference
|
||||||
|
}, |
||||||
|
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
|
||||||
|
chunksSortMode: 'dependency' |
||||||
|
}), |
||||||
|
// keep module.id stable when vender modules does not change
|
||||||
|
new webpack.HashedModuleIdsPlugin(), |
||||||
|
// split vendor js into its own file
|
||||||
|
new webpack.optimize.CommonsChunkPlugin({ |
||||||
|
name: 'vendor', |
||||||
|
minChunks: function (module, count) { |
||||||
|
// any required modules inside node_modules are extracted to vendor
|
||||||
|
return ( |
||||||
|
module.resource && |
||||||
|
/\.js$/.test(module.resource) && |
||||||
|
module.resource.indexOf( |
||||||
|
path.join(__dirname, '../node_modules') |
||||||
|
) === 0 |
||||||
|
) |
||||||
|
} |
||||||
|
}), |
||||||
|
// extract webpack runtime and module manifest to its own file in order to
|
||||||
|
// prevent vendor hash from being updated whenever app bundle is updated
|
||||||
|
new webpack.optimize.CommonsChunkPlugin({ |
||||||
|
name: 'manifest', |
||||||
|
chunks: ['vendor'] |
||||||
|
}), |
||||||
|
// copy custom static assets
|
||||||
|
new CopyWebpackPlugin([ |
||||||
|
{ |
||||||
|
from: path.resolve(__dirname, '../static'), |
||||||
|
to: config.build.assetsSubDirectory, |
||||||
|
ignore: ['.*'] |
||||||
|
} |
||||||
|
]) |
||||||
|
] |
||||||
|
}) |
||||||
|
|
||||||
|
if (config.build.productionGzip) { |
||||||
|
var CompressionWebpackPlugin = require('compression-webpack-plugin') |
||||||
|
|
||||||
|
webpackConfig.plugins.push( |
||||||
|
new CompressionWebpackPlugin({ |
||||||
|
asset: '[path].gz[query]', |
||||||
|
algorithm: 'gzip', |
||||||
|
test: new RegExp( |
||||||
|
'\\.(' + |
||||||
|
config.build.productionGzipExtensions.join('|') + |
||||||
|
')$' |
||||||
|
), |
||||||
|
threshold: 10240, |
||||||
|
minRatio: 0.8 |
||||||
|
}) |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
if (config.build.bundleAnalyzerReport) { |
||||||
|
var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin |
||||||
|
webpackConfig.plugins.push(new BundleAnalyzerPlugin()) |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = webpackConfig |
@ -0,0 +1,32 @@ |
|||||||
|
'use strict' |
||||||
|
// This is the webpack config used for unit tests.
|
||||||
|
|
||||||
|
const utils = require('./utils') |
||||||
|
const webpack = require('webpack') |
||||||
|
const merge = require('webpack-merge') |
||||||
|
const baseWebpackConfig = require('./webpack.base.conf') |
||||||
|
|
||||||
|
const webpackConfig = merge(baseWebpackConfig, { |
||||||
|
// use inline sourcemap for karma-sourcemap-loader
|
||||||
|
module: { |
||||||
|
rules: utils.styleLoaders() |
||||||
|
}, |
||||||
|
devtool: '#inline-source-map', |
||||||
|
resolveLoader: { |
||||||
|
alias: { |
||||||
|
// necessary to to make lang="scss" work in test when using vue-loader's ?inject option
|
||||||
|
// see discussion at https://github.com/vuejs/vue-loader/issues/724
|
||||||
|
'scss-loader': 'sass-loader' |
||||||
|
} |
||||||
|
}, |
||||||
|
plugins: [ |
||||||
|
new webpack.DefinePlugin({ |
||||||
|
'process.env': require('../config/test.env') |
||||||
|
}) |
||||||
|
] |
||||||
|
}) |
||||||
|
|
||||||
|
// no need for app entry during tests
|
||||||
|
delete webpackConfig.entry |
||||||
|
|
||||||
|
module.exports = webpackConfig |
@ -0,0 +1,6 @@ |
|||||||
|
var merge = require('webpack-merge') |
||||||
|
var prodEnv = require('./prod.env') |
||||||
|
|
||||||
|
module.exports = merge(prodEnv, { |
||||||
|
NODE_ENV: '"development"' |
||||||
|
}) |
@ -0,0 +1,37 @@ |
|||||||
|
// see http://vuejs-templates.github.io/webpack for documentation.
|
||||||
|
var path = require('path') |
||||||
|
module.exports = { |
||||||
|
build: { |
||||||
|
env: require('./prod.env'), |
||||||
|
index: path.resolve(__dirname, '../dist/index.html'), |
||||||
|
assetsRoot: path.resolve(__dirname, '../dist'), |
||||||
|
assetsSubDirectory: 'static', |
||||||
|
assetsPublicPath: '', |
||||||
|
productionSourceMap: false, |
||||||
|
// Gzip off by default as many popular static hosts such as
|
||||||
|
// Surge or Netlify already gzip all static assets for you.
|
||||||
|
// Before setting to `true`, make sure to:
|
||||||
|
// npm install --save-dev compression-webpack-plugin
|
||||||
|
productionGzip: false, |
||||||
|
productionGzipExtensions: ['js', 'css'], |
||||||
|
// Run the build command with an extra argument to
|
||||||
|
// View the bundle analyzer report after build finishes:
|
||||||
|
// `npm run build --report`
|
||||||
|
// Set to `true` or `false` to always turn it on or off
|
||||||
|
bundleAnalyzerReport: process.env.npm_config_report |
||||||
|
}, |
||||||
|
dev: { |
||||||
|
env: require('./dev.env'), |
||||||
|
port: 8000, |
||||||
|
autoOpenBrowser: true, |
||||||
|
assetsSubDirectory: 'static', |
||||||
|
assetsPublicPath: '/', |
||||||
|
proxyTable: {}, |
||||||
|
// CSS Sourcemaps off by default because relative paths are "buggy"
|
||||||
|
// with this option, according to the CSS-Loader README
|
||||||
|
// (https://github.com/webpack/css-loader#sourcemaps)
|
||||||
|
// In our experience, they generally work as expected,
|
||||||
|
// just be aware of this issue when enabling this option.
|
||||||
|
cssSourceMap: false |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,3 @@ |
|||||||
|
module.exports = { |
||||||
|
NODE_ENV: '"production"' |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
var merge = require('webpack-merge') |
||||||
|
var devEnv = require('./dev.env') |
||||||
|
|
||||||
|
module.exports = merge(devEnv, { |
||||||
|
NODE_ENV: '"testing"' |
||||||
|
}) |
@ -0,0 +1,21 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<link rel="icon" type="image/png" sizes="96x96" href="static/img/favicon.png"> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
||||||
|
<title>ReCast</title> |
||||||
|
<!-- Bootstrap core CSS --> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
||||||
|
|
||||||
|
<!-- Fonts and icons --> |
||||||
|
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> |
||||||
|
<link href='https://fonts.googleapis.com/css?family=Roboto:400,700,300' rel='stylesheet' type='text/css'> |
||||||
|
<link href="static/css/nucleo-icons.css" rel="stylesheet" /> |
||||||
|
|
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="app"></div> |
||||||
|
<!-- built files will be auto injected --> |
||||||
|
</body> |
||||||
|
</html> |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,105 @@ |
|||||||
|
{ |
||||||
|
"name": "vue-light-bootstrap-dashboard", |
||||||
|
"version": "1.0.0", |
||||||
|
"description": "Vue light bootstrap dashboard", |
||||||
|
"author": "cristijora <joracristi@gmail.com>", |
||||||
|
"private": true, |
||||||
|
"scripts": { |
||||||
|
"dev": "node build/dev-server.js", |
||||||
|
"start": "cross-env ENABLE_ESLINT=true node build/dev-server.js", |
||||||
|
"build": "cross-env node build/build.js", |
||||||
|
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run", |
||||||
|
"test": "npm run unit", |
||||||
|
"lint": "eslint --ext .js,.vue src test/unit/specs" |
||||||
|
}, |
||||||
|
"dependencies": { |
||||||
|
"@websanova/vue-auth": "^2.21.9-beta", |
||||||
|
"axios": "^0.18.0", |
||||||
|
"bootstrap": "^4.0.0-beta.2", |
||||||
|
"chartist": "^0.11.0", |
||||||
|
"es6-promise": "^4.1.1", |
||||||
|
"google-maps": "^3.2.1", |
||||||
|
"v-tooltip": "^2.0.0-rc.1", |
||||||
|
"vue": "^2.5.2", |
||||||
|
"vue-axios": "^2.1.1", |
||||||
|
"vue-clickaway": "^2.1.0", |
||||||
|
"vue-notifyjs": "^0.2.0", |
||||||
|
"vue-router": "^3.0.1", |
||||||
|
"vue2-google-maps": "^0.8.4" |
||||||
|
}, |
||||||
|
"devDependencies": { |
||||||
|
"autoprefixer": "^7.1.2", |
||||||
|
"babel-core": "^6.22.1", |
||||||
|
"babel-eslint": "^7.1.1", |
||||||
|
"babel-loader": "^7.1.1", |
||||||
|
"babel-plugin-component": "^0.10.1", |
||||||
|
"babel-plugin-istanbul": "^4.1.1", |
||||||
|
"babel-plugin-transform-runtime": "^6.22.0", |
||||||
|
"babel-preset-env": "^1.3.2", |
||||||
|
"babel-preset-stage-2": "^6.22.0", |
||||||
|
"babel-register": "^6.22.0", |
||||||
|
"chai": "^3.5.0", |
||||||
|
"chalk": "^2.0.1", |
||||||
|
"connect-history-api-fallback": "^1.3.0", |
||||||
|
"copy-webpack-plugin": "^4.0.1", |
||||||
|
"cross-env": "^5.0.1", |
||||||
|
"css-loader": "^0.28.0", |
||||||
|
"cssnano": "^3.10.0", |
||||||
|
"eslint": "^3.19.0", |
||||||
|
"eslint-config-standard": "^6.2.1", |
||||||
|
"eslint-friendly-formatter": "^3.0.0", |
||||||
|
"eslint-loader": "^1.7.1", |
||||||
|
"eslint-plugin-html": "^3.0.0", |
||||||
|
"eslint-plugin-promise": "^3.4.0", |
||||||
|
"eslint-plugin-standard": "^2.0.1", |
||||||
|
"eventsource-polyfill": "^0.9.6", |
||||||
|
"express": "^4.14.1", |
||||||
|
"extract-text-webpack-plugin": "^2.0.0", |
||||||
|
"file-loader": "^0.11.1", |
||||||
|
"friendly-errors-webpack-plugin": "^1.1.3", |
||||||
|
"function-bind": "^1.1.1", |
||||||
|
"html-webpack-plugin": "^2.28.0", |
||||||
|
"http-proxy-middleware": "^0.17.3", |
||||||
|
"inject-loader": "^3.0.0", |
||||||
|
"karma": "^1.4.1", |
||||||
|
"karma-coverage": "^1.1.1", |
||||||
|
"karma-mocha": "^1.3.0", |
||||||
|
"karma-phantomjs-launcher": "^1.0.2", |
||||||
|
"karma-phantomjs-shim": "^1.4.0", |
||||||
|
"karma-sinon-chai": "^1.3.1", |
||||||
|
"karma-sourcemap-loader": "^0.3.7", |
||||||
|
"karma-spec-reporter": "0.0.31", |
||||||
|
"karma-webpack": "^2.0.2", |
||||||
|
"mocha": "^3.2.0", |
||||||
|
"node-sass": "^4.5.3", |
||||||
|
"opn": "^5.1.0", |
||||||
|
"optimize-css-assets-webpack-plugin": "^2.0.0", |
||||||
|
"ora": "^1.2.0", |
||||||
|
"phantomjs-prebuilt": "^2.1.14", |
||||||
|
"rimraf": "^2.6.0", |
||||||
|
"sass-loader": "^6.0.6", |
||||||
|
"semver": "^5.3.0", |
||||||
|
"shelljs": "^0.7.6", |
||||||
|
"sinon": "^2.1.0", |
||||||
|
"sinon-chai": "^2.8.0", |
||||||
|
"url-loader": "^0.5.8", |
||||||
|
"vue-loader": "^13.0.4", |
||||||
|
"vue-style-loader": "^3.0.1", |
||||||
|
"vue-template-compiler": "^2.5.2", |
||||||
|
"vue-test-utils": "^1.0.0-beta.3", |
||||||
|
"webpack": "^2.6.1", |
||||||
|
"webpack-bundle-analyzer": "^2.2.1", |
||||||
|
"webpack-dev-middleware": "^1.10.0", |
||||||
|
"webpack-hot-middleware": "^2.18.0", |
||||||
|
"webpack-merge": "^4.1.0" |
||||||
|
}, |
||||||
|
"engines": { |
||||||
|
"node": ">= 4.0.0", |
||||||
|
"npm": ">= 3.0.0" |
||||||
|
}, |
||||||
|
"browserslist": [ |
||||||
|
"> 1%", |
||||||
|
"last 2 versions", |
||||||
|
"not ie <= 8" |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
<template> |
||||||
|
<div :class="{'nav-open': $sidebar.showSidebar}"> |
||||||
|
<notifications></notifications> |
||||||
|
<router-view></router-view> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default {} |
||||||
|
</script> |
||||||
|
<style lang="scss"> |
||||||
|
.vue-notifyjs.notifications{ |
||||||
|
.list-move { |
||||||
|
transition: transform 0.3s, opacity 0.4s; |
||||||
|
} |
||||||
|
.list-item { |
||||||
|
display: inline-block; |
||||||
|
margin-right: 10px; |
||||||
|
|
||||||
|
} |
||||||
|
.list-enter-active { |
||||||
|
transition: transform 0.2s ease-in, opacity 0.4s ease-in; |
||||||
|
} |
||||||
|
.list-leave-active { |
||||||
|
transition: transform 1s ease-out, opacity 0.4s ease-out; |
||||||
|
} |
||||||
|
|
||||||
|
.list-enter { |
||||||
|
opacity: 0; |
||||||
|
transform: scale(1.1); |
||||||
|
|
||||||
|
} |
||||||
|
.list-leave-to { |
||||||
|
opacity: 0; |
||||||
|
transform: scale(1.2, 0.7); |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,61 @@ |
|||||||
|
@media (min-width: 992px){ |
||||||
|
.typo-line{ |
||||||
|
padding-left: 140px; |
||||||
|
margin-bottom: 40px; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
.typo-line .category{ |
||||||
|
transform: translateY(-50%); |
||||||
|
top: 50%; |
||||||
|
left: 0px; |
||||||
|
position: absolute; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.all-icons [class*="pe-"]{ |
||||||
|
font-size: 40px; |
||||||
|
} |
||||||
|
.all-icons input{ |
||||||
|
border: 0; |
||||||
|
} |
||||||
|
.all-icons .font-icon-detail{ |
||||||
|
text-align: center; |
||||||
|
padding: 45px 0px 30px; |
||||||
|
border: 1px solid #e5e5e5; |
||||||
|
border-radius: 6px; |
||||||
|
margin: 15px 0; |
||||||
|
} |
||||||
|
.all-icons .font-icon-detail input{ |
||||||
|
margin: 25px auto 0; |
||||||
|
width: 100%; |
||||||
|
text-align: center; |
||||||
|
display: block; |
||||||
|
color: #aaa; |
||||||
|
font-size: 13px; |
||||||
|
} |
||||||
|
|
||||||
|
#map{ |
||||||
|
position:relative; |
||||||
|
width:100%; |
||||||
|
height: calc(100% - 60px); |
||||||
|
} |
||||||
|
|
||||||
|
.places-buttons .btn{ |
||||||
|
margin-bottom: 30px |
||||||
|
} |
||||||
|
.sidebar .nav > li.active-pro{ |
||||||
|
position: absolute; |
||||||
|
width: 100%; |
||||||
|
bottom: 10px; |
||||||
|
} |
||||||
|
.sidebar .nav > li.active-pro a{ |
||||||
|
background: rgba(255, 255, 255, 0.14); |
||||||
|
opacity: 1; |
||||||
|
color: #FFFFFF; |
||||||
|
} |
||||||
|
|
||||||
|
.table-upgrade td:nth-child(2), |
||||||
|
.table-upgrade td:nth-child(3){ |
||||||
|
text-align: center; |
||||||
|
} |
@ -0,0 +1,90 @@ |
|||||||
|
.alert{ |
||||||
|
border: 0; |
||||||
|
border-radius: 0; |
||||||
|
color: #FFFFFF; |
||||||
|
padding: 10px 15px; |
||||||
|
font-size: 14px; |
||||||
|
|
||||||
|
.container &{ |
||||||
|
border-radius: 4px; |
||||||
|
|
||||||
|
} |
||||||
|
.navbar &{ |
||||||
|
border-radius: 0; |
||||||
|
left: 0; |
||||||
|
position: absolute; |
||||||
|
right: 0; |
||||||
|
top: 85px; |
||||||
|
width: 100%; |
||||||
|
z-index: 3; |
||||||
|
} |
||||||
|
.navbar:not(.navbar-transparent) &{ |
||||||
|
top: 70px; |
||||||
|
} |
||||||
|
|
||||||
|
span[data-notify="icon"]{ |
||||||
|
font-size: 30px; |
||||||
|
display: block; |
||||||
|
left: 15px; |
||||||
|
position: absolute; |
||||||
|
top: 50%; |
||||||
|
margin-top: -15px; |
||||||
|
} |
||||||
|
|
||||||
|
i.nc-simple-remove{ |
||||||
|
font-size: 12px !important; |
||||||
|
font: bold normal normal 14px/1 'nucleo-icons'; |
||||||
|
} |
||||||
|
|
||||||
|
button.close{ |
||||||
|
position: absolute; |
||||||
|
right: 10px; |
||||||
|
top: 50%; |
||||||
|
margin-top: -13px; |
||||||
|
z-index: 1; |
||||||
|
background-color: #FFFFFF; |
||||||
|
display: block; |
||||||
|
border-radius: 50%; |
||||||
|
opacity: .4; |
||||||
|
line-height: 9px; |
||||||
|
width: 25px; |
||||||
|
height: 25px; |
||||||
|
outline: 0 !important; |
||||||
|
text-align: center; |
||||||
|
padding: 3px; |
||||||
|
font-weight: 300; |
||||||
|
|
||||||
|
&:hover{ |
||||||
|
opacity: .55; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.close ~ span{ |
||||||
|
display: block; |
||||||
|
max-width: 89%; |
||||||
|
} |
||||||
|
|
||||||
|
&[data-notify="container"]{ |
||||||
|
padding: 10px 10px 10px 20px; |
||||||
|
border-radius: $border-radius-base; |
||||||
|
} |
||||||
|
|
||||||
|
&.alert-with-icon{ |
||||||
|
padding-left: 65px; |
||||||
|
} |
||||||
|
} |
||||||
|
.alert-primary{ |
||||||
|
background-color: $blue-navbar; |
||||||
|
} |
||||||
|
.alert-info{ |
||||||
|
background-color: $azure-navbar; |
||||||
|
} |
||||||
|
.alert-success { |
||||||
|
background-color: $green-navbar; |
||||||
|
} |
||||||
|
.alert-warning { |
||||||
|
background-color: $orange-navbar; |
||||||
|
} |
||||||
|
.alert-danger { |
||||||
|
background-color: $red-navbar; |
||||||
|
} |
@ -0,0 +1,132 @@ |
|||||||
|
.btn{ |
||||||
|
border-width: $border-thick; |
||||||
|
background-color: $transparent-bg; |
||||||
|
font-weight: $font-weight-normal; |
||||||
|
|
||||||
|
@include opacity(.8); |
||||||
|
padding: $padding-base-vertical $padding-base-horizontal; |
||||||
|
|
||||||
|
@include btn-styles($default-color, $default-states-color); |
||||||
|
|
||||||
|
&:hover, |
||||||
|
&:focus{ |
||||||
|
@include opacity(1); |
||||||
|
outline: 0 !important; |
||||||
|
box-shadow: none; |
||||||
|
} |
||||||
|
&:active, |
||||||
|
&.active, |
||||||
|
.open > &.dropdown-toggle { |
||||||
|
@include box-shadow(none); |
||||||
|
outline: 0 !important; |
||||||
|
} |
||||||
|
|
||||||
|
&.btn-icon{ |
||||||
|
padding: $padding-base-vertical; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
// Apply the mixin to the buttons |
||||||
|
//.btn-default { @include btn-styles($default-color, $default-states-color); } |
||||||
|
.btn-primary { @include btn-styles($primary-color, $primary-states-color); } |
||||||
|
.btn-success { @include btn-styles($success-color, $success-states-color); } |
||||||
|
.btn-info { @include btn-styles($info-color, $info-states-color); } |
||||||
|
.btn-warning { @include btn-styles($warning-color, $warning-states-color); } |
||||||
|
.btn-danger { @include btn-styles($danger-color, $danger-states-color); } |
||||||
|
.btn-neutral { |
||||||
|
@include btn-styles($white-color, $white-color); |
||||||
|
|
||||||
|
&:active, |
||||||
|
&.active, |
||||||
|
.open > &.dropdown-toggle{ |
||||||
|
background-color: $white-color; |
||||||
|
color: $default-color; |
||||||
|
} |
||||||
|
|
||||||
|
&.btn-fill, |
||||||
|
&.btn-fill:hover, |
||||||
|
&.btn-fill:focus{ |
||||||
|
color: $default-color; |
||||||
|
} |
||||||
|
|
||||||
|
&.btn-simple:active, |
||||||
|
&.btn-simple.active{ |
||||||
|
background-color: transparent; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.btn{ |
||||||
|
&:disabled, |
||||||
|
&[disabled], |
||||||
|
&.disabled{ |
||||||
|
@include opacity(.5); |
||||||
|
} |
||||||
|
} |
||||||
|
.btn-round{ |
||||||
|
border-width: $border-thin; |
||||||
|
border-radius: $btn-round-radius !important; |
||||||
|
padding: $padding-round-vertical $padding-round-horizontal; |
||||||
|
|
||||||
|
&.btn-icon{ |
||||||
|
padding: $padding-round-vertical; |
||||||
|
} |
||||||
|
} |
||||||
|
.btn-simple{ |
||||||
|
border: $none; |
||||||
|
font-size: $font-size-medium; |
||||||
|
padding: $padding-base-vertical $padding-base-horizontal; |
||||||
|
|
||||||
|
&.btn-icon{ |
||||||
|
padding: $padding-base-vertical; |
||||||
|
} |
||||||
|
} |
||||||
|
.btn-lg{ |
||||||
|
@include btn-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $border-radius-large); |
||||||
|
font-weight: $font-weight-normal; |
||||||
|
} |
||||||
|
.btn-sm{ |
||||||
|
@include btn-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $border-radius-small); |
||||||
|
} |
||||||
|
.btn-xs { |
||||||
|
@include btn-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $border-radius-small); |
||||||
|
} |
||||||
|
.btn-wd { |
||||||
|
min-width: 140px; |
||||||
|
} |
||||||
|
|
||||||
|
.btn-group.select{ |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
.btn-group.select .btn{ |
||||||
|
text-align: left; |
||||||
|
} |
||||||
|
.btn-group.select .caret{ |
||||||
|
position: absolute; |
||||||
|
top: 50%; |
||||||
|
margin-top: -1px; |
||||||
|
right: 8px; |
||||||
|
} |
||||||
|
.btn-social{ |
||||||
|
opacity: 0.85; |
||||||
|
} |
||||||
|
|
||||||
|
.btn-twitter{ |
||||||
|
border-color: $social-twitter; |
||||||
|
color: $social-twitter; |
||||||
|
&:hover{ |
||||||
|
opacity: 1 !important; |
||||||
|
border-color: $social-twitter; |
||||||
|
color: $social-twitter; |
||||||
|
} |
||||||
|
} |
||||||
|
.btn-facebook{ |
||||||
|
border-color: $social-facebook; |
||||||
|
color: $social-facebook; |
||||||
|
|
||||||
|
&:hover{ |
||||||
|
opacity: 1 !important; |
||||||
|
border-color: $social-facebook; |
||||||
|
color: $social-facebook; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,253 @@ |
|||||||
|
.card{ |
||||||
|
border-radius: $border-radius-base; |
||||||
|
background-color: $white-color; |
||||||
|
margin-bottom: 30px; |
||||||
|
|
||||||
|
.card-image{ |
||||||
|
width: 100%; |
||||||
|
overflow: hidden; |
||||||
|
height: 260px; |
||||||
|
border-radius: $border-radius-base $border-radius-base 0 0; |
||||||
|
position: relative; |
||||||
|
-webkit-transform-style: preserve-3d; |
||||||
|
-moz-transform-style: preserve-3d; |
||||||
|
transform-style: preserve-3d; |
||||||
|
|
||||||
|
img { |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
} |
||||||
|
.filter{ |
||||||
|
position: absolute; |
||||||
|
z-index: 2; |
||||||
|
background-color: rgba(0,0,0,.68); |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
text-align: center; |
||||||
|
|
||||||
|
@include opacity(0); |
||||||
|
|
||||||
|
.btn{ |
||||||
|
@include vertical-align(); |
||||||
|
} |
||||||
|
} |
||||||
|
&:hover .filter{ |
||||||
|
@include opacity(1); |
||||||
|
} |
||||||
|
.btn-hover{ |
||||||
|
@include opacity(0); |
||||||
|
} |
||||||
|
&:hover .btn-hover{ |
||||||
|
@include opacity(1); |
||||||
|
} |
||||||
|
.card-body{ |
||||||
|
padding: 15px 15px 10px 15px; |
||||||
|
} |
||||||
|
.card-header{ |
||||||
|
padding: 15px 15px 0; |
||||||
|
background-color: $white-color; |
||||||
|
border-bottom: none !important; |
||||||
|
|
||||||
|
} |
||||||
|
.card-category, |
||||||
|
label{ |
||||||
|
font-size: $font-size-base; |
||||||
|
font-weight: $font-weight-normal; |
||||||
|
color: $dark-gray; |
||||||
|
margin-bottom: 0px; |
||||||
|
|
||||||
|
i{ |
||||||
|
font-size: $font-paragraph; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
label{ |
||||||
|
font-size: $font-size-small; |
||||||
|
margin-bottom: 5px; |
||||||
|
text-transform: uppercase; |
||||||
|
} |
||||||
|
|
||||||
|
.card-title{ |
||||||
|
margin: $none; |
||||||
|
color: $black-color; |
||||||
|
font-weight: $font-weight-light; |
||||||
|
} |
||||||
|
.avatar{ |
||||||
|
width: 30px; |
||||||
|
height: 30px; |
||||||
|
overflow: hidden; |
||||||
|
border-radius: 50%; |
||||||
|
margin-right: 5px; |
||||||
|
} |
||||||
|
.description{ |
||||||
|
font-size: $font-size-base; |
||||||
|
color: #333; |
||||||
|
} |
||||||
|
.card-footer{ |
||||||
|
padding-top: 0; |
||||||
|
background-color: $transparent-bg; |
||||||
|
line-height: 30px; |
||||||
|
border-top: none !important; |
||||||
|
font-size: 14px; |
||||||
|
|
||||||
|
.legend{ |
||||||
|
padding: 5px 0; |
||||||
|
} |
||||||
|
|
||||||
|
hr{ |
||||||
|
margin-top: 5px; |
||||||
|
margin-bottom: 5px; |
||||||
|
} |
||||||
|
} |
||||||
|
.stats{ |
||||||
|
color: #a9a9a9; |
||||||
|
} |
||||||
|
.card-footer div{ |
||||||
|
display: inline-block; |
||||||
|
} |
||||||
|
|
||||||
|
.author{ |
||||||
|
font-size: $font-size-small; |
||||||
|
font-weight: $font-weight-bold; |
||||||
|
text-transform: uppercase; |
||||||
|
} |
||||||
|
.author i{ |
||||||
|
font-size: $font-size-base; |
||||||
|
} |
||||||
|
h6{ |
||||||
|
font-size: $font-size-small; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
&.card-separator:after{ |
||||||
|
height: 100%; |
||||||
|
right: -15px; |
||||||
|
top: 0; |
||||||
|
width: 1px; |
||||||
|
background-color: $medium-gray; |
||||||
|
card-body: ""; |
||||||
|
position: absolute; |
||||||
|
} |
||||||
|
|
||||||
|
.ct-chart{ |
||||||
|
margin: 30px 0 30px; |
||||||
|
height: 245px; |
||||||
|
} |
||||||
|
|
||||||
|
.ct-label{ |
||||||
|
font-size: 1rem !important; |
||||||
|
} |
||||||
|
|
||||||
|
.table{ |
||||||
|
tbody td:first-child, |
||||||
|
thead th:first-child{ |
||||||
|
padding-left: 15px; |
||||||
|
} |
||||||
|
|
||||||
|
tbody td:last-child, |
||||||
|
thead th:last-child{ |
||||||
|
padding-right: 15px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.alert{ |
||||||
|
border-radius: $border-radius-base; |
||||||
|
position: relative; |
||||||
|
|
||||||
|
&.alert-with-icon{ |
||||||
|
padding-left: 65px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.card-stats{ |
||||||
|
.card-body{ |
||||||
|
padding: 15px 15px 0px; |
||||||
|
|
||||||
|
.numbers{ |
||||||
|
font-size: 1.8rem; |
||||||
|
text-align: right; |
||||||
|
|
||||||
|
p{ |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.card-footer{ |
||||||
|
padding: 0px 15px 10px 15px; |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
.icon-big { |
||||||
|
font-size: 3em; |
||||||
|
min-height: 64px; |
||||||
|
|
||||||
|
i{ |
||||||
|
line-height: 59px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
.card-user{ |
||||||
|
.card-image{ |
||||||
|
height: 110px; |
||||||
|
} |
||||||
|
.card-image-plain{ |
||||||
|
height: 0; |
||||||
|
margin-top: 110px; |
||||||
|
} |
||||||
|
.author{ |
||||||
|
text-align: center; |
||||||
|
text-transform: none; |
||||||
|
margin-top: -70px; |
||||||
|
} |
||||||
|
.avatar{ |
||||||
|
width: 124px; |
||||||
|
height: 124px; |
||||||
|
border: 5px solid #FFFFFF; |
||||||
|
position: relative; |
||||||
|
margin-bottom: 15px; |
||||||
|
|
||||||
|
&.border-gray{ |
||||||
|
border-color: #EEEEEE; |
||||||
|
} |
||||||
|
} |
||||||
|
.title{ |
||||||
|
line-height: 24px; |
||||||
|
} |
||||||
|
.card-body{ |
||||||
|
min-height: 240px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.card-user, |
||||||
|
.card-price{ |
||||||
|
.card-footer{ |
||||||
|
padding: 5px 15px 10px; |
||||||
|
} |
||||||
|
hr{ |
||||||
|
margin: 5px 15px; |
||||||
|
} |
||||||
|
} |
||||||
|
.card-plain{ |
||||||
|
background-color: transparent; |
||||||
|
box-shadow: none; |
||||||
|
border-radius: 0; |
||||||
|
|
||||||
|
.card-image{ |
||||||
|
border-radius: 4px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.card.card-plain{ |
||||||
|
border: none !important; |
||||||
|
|
||||||
|
.card-header{ |
||||||
|
background-color: transparent !important; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,230 @@ |
|||||||
|
@mixin ct-responsive-svg-container($width: 100%, $ratio: $ct-container-ratio) { |
||||||
|
display: block; |
||||||
|
position: relative; |
||||||
|
width: $width; |
||||||
|
|
||||||
|
&:before { |
||||||
|
display: block; |
||||||
|
float: left; |
||||||
|
content: ""; |
||||||
|
width: 0; |
||||||
|
height: 0; |
||||||
|
padding-bottom: $ratio * 100%; |
||||||
|
} |
||||||
|
|
||||||
|
&:after { |
||||||
|
content: ""; |
||||||
|
display: table; |
||||||
|
clear: both; |
||||||
|
} |
||||||
|
|
||||||
|
> svg { |
||||||
|
display: block; |
||||||
|
position: absolute; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-align-justify($ct-text-align: $ct-text-align, $ct-text-justify: $ct-text-justify) { |
||||||
|
-webkit-box-align: $ct-text-align; |
||||||
|
-webkit-align-items: $ct-text-align; |
||||||
|
-ms-flex-align: $ct-text-align; |
||||||
|
align-items: $ct-text-align; |
||||||
|
-webkit-box-pack: $ct-text-justify; |
||||||
|
-webkit-justify-content: $ct-text-justify; |
||||||
|
-ms-flex-pack: $ct-text-justify; |
||||||
|
justify-content: $ct-text-justify; |
||||||
|
// Fallback to text-align for non-flex browsers |
||||||
|
@if($ct-text-justify == 'flex-start') { |
||||||
|
text-align: left; |
||||||
|
} @else if ($ct-text-justify == 'flex-end') { |
||||||
|
text-align: right; |
||||||
|
} @else { |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-flex() { |
||||||
|
// Fallback to block |
||||||
|
display: block; |
||||||
|
display: -webkit-box; |
||||||
|
display: -moz-box; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: -webkit-flex; |
||||||
|
display: flex; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart-label($ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-text-line-height: $ct-text-line-height) { |
||||||
|
fill: $ct-text-color; |
||||||
|
color: $ct-text-color; |
||||||
|
font-size: $ct-text-size; |
||||||
|
line-height: $ct-text-line-height; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart-grid($ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray) { |
||||||
|
stroke: $ct-grid-color; |
||||||
|
stroke-width: $ct-grid-width; |
||||||
|
|
||||||
|
@if ($ct-grid-dasharray) { |
||||||
|
stroke-dasharray: $ct-grid-dasharray; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart-point($ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape) { |
||||||
|
stroke-width: $ct-point-size; |
||||||
|
stroke-linecap: $ct-point-shape; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart-line($ct-line-width: $ct-line-width, $ct-line-dasharray: $ct-line-dasharray) { |
||||||
|
fill: none; |
||||||
|
stroke-width: $ct-line-width; |
||||||
|
|
||||||
|
@if ($ct-line-dasharray) { |
||||||
|
stroke-dasharray: $ct-line-dasharray; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart-area($ct-area-opacity: $ct-area-opacity) { |
||||||
|
stroke: none; |
||||||
|
fill-opacity: $ct-area-opacity; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart-bar($ct-bar-width: $ct-bar-width) { |
||||||
|
fill: none; |
||||||
|
stroke-width: $ct-bar-width; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart-donut($ct-donut-width: $ct-donut-width) { |
||||||
|
fill: none; |
||||||
|
stroke-width: $ct-donut-width; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart-series-color($color) { |
||||||
|
.#{$ct-class-point}, .#{$ct-class-line}, .#{$ct-class-bar}, .#{$ct-class-slice-donut} { |
||||||
|
stroke: $color; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-slice-pie}, .#{$ct-class-area} { |
||||||
|
fill: $color; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin ct-chart($ct-container-ratio: $ct-container-ratio, $ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray, $ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape, $ct-line-width: $ct-line-width, $ct-bar-width: $ct-bar-width, $ct-donut-width: $ct-donut-width, $ct-series-names: $ct-series-names, $ct-series-colors: $ct-series-colors) { |
||||||
|
|
||||||
|
.#{$ct-class-label} { |
||||||
|
@include ct-chart-label($ct-text-color, $ct-text-size); |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-chart-line} .#{$ct-class-label}, |
||||||
|
.#{$ct-class-chart-bar} .#{$ct-class-label} { |
||||||
|
@include ct-flex(); |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} { |
||||||
|
@include ct-align-justify(flex-end, flex-start); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: start; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} { |
||||||
|
@include ct-align-justify(flex-start, flex-start); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: start; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} { |
||||||
|
@include ct-align-justify(flex-end, flex-end); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: end; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} { |
||||||
|
@include ct-align-justify(flex-end, flex-start); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: start; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} { |
||||||
|
@include ct-align-justify(flex-end, center); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: start; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} { |
||||||
|
@include ct-align-justify(flex-start, center); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: start; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} { |
||||||
|
@include ct-align-justify(flex-end, flex-start); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: start; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} { |
||||||
|
@include ct-align-justify(flex-start, flex-start); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: start; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} { |
||||||
|
//@include ct-chart-label($ct-text-color, $ct-text-size, center, $ct-vertical-text-justify); |
||||||
|
@include ct-align-justify(center, flex-end); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: end; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} { |
||||||
|
@include ct-align-justify(center, flex-start); |
||||||
|
// Fallback for browsers that don't support foreignObjects |
||||||
|
text-anchor: end; |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-grid} { |
||||||
|
@include ct-chart-grid($ct-grid-color, $ct-grid-width, $ct-grid-dasharray); |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-point} { |
||||||
|
@include ct-chart-point($ct-point-size, $ct-point-shape); |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-line} { |
||||||
|
@include ct-chart-line($ct-line-width); |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-area} { |
||||||
|
@include ct-chart-area(); |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-bar} { |
||||||
|
@include ct-chart-bar($ct-bar-width); |
||||||
|
} |
||||||
|
|
||||||
|
.#{$ct-class-slice-donut} { |
||||||
|
@include ct-chart-donut($ct-donut-width); |
||||||
|
} |
||||||
|
|
||||||
|
@if $ct-include-colored-series { |
||||||
|
@for $i from 0 to length($ct-series-names) { |
||||||
|
.#{$ct-class-series}-#{nth($ct-series-names, $i + 1)} { |
||||||
|
$color: nth($ct-series-colors, $i + 1); |
||||||
|
|
||||||
|
@include ct-chart-series-color($color); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@if $ct-include-classes { |
||||||
|
@include ct-chart(); |
||||||
|
|
||||||
|
@if $ct-include-alternative-responsive-containers { |
||||||
|
@for $i from 0 to length($ct-scales-names) { |
||||||
|
.#{nth($ct-scales-names, $i + 1)} { |
||||||
|
@include ct-responsive-svg-container($ratio: nth($ct-scales, $i + 1)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,140 @@ |
|||||||
|
.from-check, |
||||||
|
.form-check-radio { |
||||||
|
margin-bottom: 12px; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
.form-check{ |
||||||
|
.form-check-label{ |
||||||
|
display: inline-block; |
||||||
|
position: relative; |
||||||
|
cursor: pointer; |
||||||
|
padding-left: 35px; |
||||||
|
line-height: 26px; |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.form-check-sign::before, |
||||||
|
.form-check-sign::after{ |
||||||
|
font-family: 'FontAwesome'; |
||||||
|
content: "\f096"; |
||||||
|
display: inline-block; |
||||||
|
color: $info-color; |
||||||
|
position: absolute; |
||||||
|
width: 19px; |
||||||
|
height: 19px; |
||||||
|
margin-top: -12px; |
||||||
|
margin-left: -23px; |
||||||
|
font-size: 21px; |
||||||
|
cursor: pointer; |
||||||
|
-webkit-transition: opacity 0.3s linear; |
||||||
|
-moz-transition: opacity 0.3s linear; |
||||||
|
-o-transition: opacity 0.3s linear; |
||||||
|
-ms-transition: opacity 0.3s linear; |
||||||
|
transition: opacity 0.3s linear; |
||||||
|
} |
||||||
|
.form-check-sign::after{ |
||||||
|
font-family: 'FontAwesome'; |
||||||
|
content: "\f046"; |
||||||
|
text-align: center; |
||||||
|
opacity: 0; |
||||||
|
color: $info-color; |
||||||
|
border: 0; |
||||||
|
background-color: inherit; |
||||||
|
} |
||||||
|
&.disabled{ |
||||||
|
.form-check-label{ |
||||||
|
color: $dark-gray; |
||||||
|
opacity: .5; |
||||||
|
cursor: not-allowed; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
.form-check.disabled .form-check-label, |
||||||
|
.form-check.disabled .form-check-label { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
.form-check input[type="checkbox"], |
||||||
|
.form-check-radio input[type="radio"]{ |
||||||
|
opacity: 0; |
||||||
|
position: absolute; |
||||||
|
visibility: hidden; |
||||||
|
} |
||||||
|
.form-check input[type="checkbox"]:checked + .form-check-sign::after{ |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
.form-control input[type="checkbox"]:disabled + .form-check-sign::before, |
||||||
|
.checkbox input[type="checkbox"]:disabled + .form-check-sign::after{ |
||||||
|
cursor: not-allowed; |
||||||
|
} |
||||||
|
|
||||||
|
.form-check .form-check-label input[type="checkbox"]:disabled + .form-check-sign, |
||||||
|
.form-check-radio input[type="radio"]:disabled + .form-check-sign{ |
||||||
|
pointer-events: none !important; |
||||||
|
} |
||||||
|
|
||||||
|
.form-check-radio{ |
||||||
|
.form-check-label{ |
||||||
|
padding-left: 2rem; |
||||||
|
} |
||||||
|
&.disabled{ |
||||||
|
.form-check-label{ |
||||||
|
color: $dark-gray; |
||||||
|
opacity: .5; |
||||||
|
cursor: not-allowed; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.form-check-radio .form-check-sign::before{ |
||||||
|
font-family: 'FontAwesome'; |
||||||
|
content: "\f10c"; |
||||||
|
font-size: 22px; |
||||||
|
-webkit-font-smoothing: antialiased; |
||||||
|
-moz-osx-font-smoothing: grayscale; |
||||||
|
display: inline-block; |
||||||
|
position: absolute; |
||||||
|
opacity: .50; |
||||||
|
left: 5px; |
||||||
|
top: -5px; |
||||||
|
} |
||||||
|
|
||||||
|
.form-check-label input[type="checkbox"]:checked + .form-check-sign:before{ |
||||||
|
// background-color: #66615B; |
||||||
|
} |
||||||
|
|
||||||
|
.form-check-radio input[type="radio"] + .form-check-sign:after, |
||||||
|
.form-check-radio input[type="radio"] { |
||||||
|
opacity: 0; |
||||||
|
-webkit-transition: opacity 0.3s linear; |
||||||
|
-moz-transition: opacity 0.3s linear; |
||||||
|
-o-transition: opacity 0.3s linear; |
||||||
|
-ms-transition: opacity 0.3s linear; |
||||||
|
transition: opacity 0.3s linear; |
||||||
|
content:" "; |
||||||
|
display: block; |
||||||
|
} |
||||||
|
|
||||||
|
.form-check-radio input[type="radio"]:checked + .form-check-sign::after { |
||||||
|
font-family: 'FontAwesome'; |
||||||
|
content: "\f192"; |
||||||
|
top: -5px; |
||||||
|
position: absolute; |
||||||
|
left: 5px; |
||||||
|
opacity: 1; |
||||||
|
font-size: 22px; |
||||||
|
} |
||||||
|
|
||||||
|
.form-check-radio input[type="radio"]:checked + .form-check-sign::after{ |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.form-check-radio input[type="radio"]:disabled + .form-check-sign::before, |
||||||
|
.form-check-radio input[type="radio"]:disabled + .form-check-sign::after { |
||||||
|
color: $dark-gray; |
||||||
|
} |
@ -0,0 +1,136 @@ |
|||||||
|
.dropdown-menu{ |
||||||
|
visibility: hidden; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
border-radius: $border-radius-extreme; |
||||||
|
display: block; |
||||||
|
z-index: 9000; |
||||||
|
position: absolute; |
||||||
|
|
||||||
|
@include opacity(0); |
||||||
|
@include box-shadow($dropdown-shadow); |
||||||
|
|
||||||
|
.show &{ |
||||||
|
@include opacity(1); |
||||||
|
visibility: visible; |
||||||
|
} |
||||||
|
.select &{ |
||||||
|
border-radius: $border-radius-bottom; |
||||||
|
@include box-shadow(none); |
||||||
|
@include transform-origin($select-coordinates); |
||||||
|
@include transform-scale(1); |
||||||
|
@include transition($fast-transition-time, $transition-linear); |
||||||
|
margin-top: -20px; |
||||||
|
} |
||||||
|
.select.show &{ |
||||||
|
margin-top: -1px; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-item { |
||||||
|
padding: $padding-base-vertical $padding-base-horizontal; |
||||||
|
color: #333333; |
||||||
|
|
||||||
|
img{ |
||||||
|
margin-top: -3px; |
||||||
|
} |
||||||
|
} |
||||||
|
.dropdown-item:focus{ |
||||||
|
outline: 0 !important; |
||||||
|
} |
||||||
|
|
||||||
|
.btn-group.select &{ |
||||||
|
min-width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
> li:first-child > a{ |
||||||
|
border-top-left-radius: $border-radius-extreme; |
||||||
|
border-top-right-radius: $border-radius-extreme; |
||||||
|
} |
||||||
|
|
||||||
|
> li:last-child > a{ |
||||||
|
border-bottom-left-radius: $border-radius-extreme; |
||||||
|
border-bottom-right-radius: $border-radius-extreme; |
||||||
|
} |
||||||
|
|
||||||
|
.select & > li:first-child > a{ |
||||||
|
border-radius: 0; |
||||||
|
border-bottom: 0 none; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-item:hover, |
||||||
|
.dropdown-item:focus { |
||||||
|
background-color: $smoke-bg; |
||||||
|
color: #333333; |
||||||
|
opacity: 1; |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
|
||||||
|
&.dropdown-blue > li > a:hover, |
||||||
|
&.dropdown-blue > li > a:focus{ |
||||||
|
background-color: $light-blue; |
||||||
|
} |
||||||
|
&.dropdown-azure > li > a:hover, |
||||||
|
&.dropdown-azure > li > a:focus{ |
||||||
|
background-color: $light-azure; |
||||||
|
} |
||||||
|
&.ct-green > li > a:hover, |
||||||
|
&.ct-green > li > a:focus{ |
||||||
|
background-color: $light-green; |
||||||
|
} |
||||||
|
&.dropdown-orange > li > a:hover, |
||||||
|
&.dropdown-orange > li > a:focus{ |
||||||
|
background-color: $light-orange; |
||||||
|
} |
||||||
|
&.dropdown-red > li > a:hover, |
||||||
|
&.dropdown-red > li > a:focus{ |
||||||
|
background-color: $light-red; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-item{ |
||||||
|
i[class*="nc-icon"]{ |
||||||
|
font-size: 18px; |
||||||
|
text-align: center; |
||||||
|
line-height: 25px; |
||||||
|
float: left; |
||||||
|
padding-right: 10px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&.dropdown-menu-right{ |
||||||
|
&:before, |
||||||
|
&:after{ |
||||||
|
right: 12px !important; |
||||||
|
left: auto !important; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-with-icons{ |
||||||
|
> li > a{ |
||||||
|
padding-left: 0px; |
||||||
|
line-height: 28px; |
||||||
|
} |
||||||
|
i{ |
||||||
|
text-align: center; |
||||||
|
line-height: 28px; |
||||||
|
float: left; |
||||||
|
|
||||||
|
&[class^="pe-"]{ |
||||||
|
font-size: 24px; |
||||||
|
width: 46px; |
||||||
|
} |
||||||
|
&[class^="fa"]{ |
||||||
|
font-size: 14px; |
||||||
|
width: 38px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
//fix bug for the select items in btn-group |
||||||
|
.btn-group.select{ |
||||||
|
overflow: hidden; |
||||||
|
} |
||||||
|
.btn-group.select.show{ |
||||||
|
overflow: visible; |
||||||
|
} |
@ -0,0 +1,75 @@ |
|||||||
|
.footer{ |
||||||
|
background-color: $white-color; |
||||||
|
|
||||||
|
.footer-menu{ |
||||||
|
height: 41px; |
||||||
|
} |
||||||
|
|
||||||
|
nav > ul{ |
||||||
|
list-style: none; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
font-weight: normal; |
||||||
|
|
||||||
|
a:not(.btn){ |
||||||
|
color: $dark-gray; |
||||||
|
display: block; |
||||||
|
margin-bottom: 3px; |
||||||
|
&:hover, |
||||||
|
&:focus{ |
||||||
|
color: $default-states-color; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.social-area{ |
||||||
|
padding: 15px 0; |
||||||
|
h5{ |
||||||
|
padding-bottom: 15px; |
||||||
|
} |
||||||
|
} |
||||||
|
.social-area > a:not(.btn){ |
||||||
|
color: $dark-gray; |
||||||
|
display: inline-block; |
||||||
|
vertical-align: top; |
||||||
|
padding: $padding-social-a; |
||||||
|
font-size: $font-size-large-navbar; |
||||||
|
font-weight: normal; |
||||||
|
line-height: $line-height; |
||||||
|
text-align: center; |
||||||
|
&:hover, |
||||||
|
&:focus{ |
||||||
|
color: $default-states-color; |
||||||
|
} |
||||||
|
} |
||||||
|
.copyright{ |
||||||
|
color: $default-states-color; |
||||||
|
padding: 10px 15px; |
||||||
|
margin: 10px 3px; |
||||||
|
line-height: 20px; |
||||||
|
font-size: $font-size-base; |
||||||
|
} |
||||||
|
hr{ |
||||||
|
border-color: $medium-gray; |
||||||
|
} |
||||||
|
.title{ |
||||||
|
color: $default-states-color; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.footer-default{ |
||||||
|
background-color: $smoke-bg; |
||||||
|
} |
||||||
|
|
||||||
|
.footer:not(.footer-big){ |
||||||
|
nav > ul{ |
||||||
|
font-size: $font-size-base; |
||||||
|
li{ |
||||||
|
margin-left: 20px; |
||||||
|
float: left; |
||||||
|
} |
||||||
|
a{ |
||||||
|
padding: 10px 0px; |
||||||
|
margin: 10px 10px 10px 0px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,141 @@ |
|||||||
|
.form-control::-moz-placeholder{ |
||||||
|
@include placeholder($medium-gray,1); |
||||||
|
} |
||||||
|
.form-control:-moz-placeholder{ |
||||||
|
@include placeholder($medium-gray,1); |
||||||
|
} |
||||||
|
.form-control::-webkit-input-placeholder{ |
||||||
|
@include placeholder($medium-gray,1); |
||||||
|
} |
||||||
|
.form-control:-ms-input-placeholder{ |
||||||
|
@include placeholder($medium-gray,1); |
||||||
|
} |
||||||
|
|
||||||
|
.form-control { |
||||||
|
background-color: $white-bg; |
||||||
|
border: 1px solid $light-gray; |
||||||
|
border-radius: $border-radius-base; |
||||||
|
color: #565656; |
||||||
|
@include input-size($padding-base-vertical, $padding-base-horizontal - 4, $height-base); |
||||||
|
@include box-shadow(none); |
||||||
|
|
||||||
|
&:focus{ |
||||||
|
background-color: $white-bg; |
||||||
|
border: 1px solid $medium-dark-gray; |
||||||
|
@include box-shadow(none); |
||||||
|
outline: 0 !important; |
||||||
|
color: #333333; |
||||||
|
} |
||||||
|
|
||||||
|
.has-success &, |
||||||
|
.has-error &, |
||||||
|
.has-success &:focus, |
||||||
|
.has-error &:focus{ |
||||||
|
border-color: $light-gray; |
||||||
|
@include box-shadow(none); |
||||||
|
} |
||||||
|
|
||||||
|
.has-success &{ |
||||||
|
color: $success-color; |
||||||
|
} |
||||||
|
.has-success &:focus{ |
||||||
|
border-color: $success-color; |
||||||
|
} |
||||||
|
.has-error &{ |
||||||
|
color: $danger-color; |
||||||
|
} |
||||||
|
.has-error &:focus{ |
||||||
|
border-color: $danger-color; |
||||||
|
} |
||||||
|
|
||||||
|
& + .form-control-feedback{ |
||||||
|
border-radius: $border-radius-large; |
||||||
|
font-size: $font-size-base; |
||||||
|
margin-top: -7px; |
||||||
|
position: absolute; |
||||||
|
right: 10px; |
||||||
|
top: 50%; |
||||||
|
vertical-align: middle; |
||||||
|
} |
||||||
|
|
||||||
|
.open &{ |
||||||
|
border-radius: $border-radius-base $border-radius-base 0 0; |
||||||
|
border-bottom-color: transparent; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.input-lg{ |
||||||
|
height: 55px; |
||||||
|
padding: $padding-large-vertical $padding-large-horizontal; |
||||||
|
} |
||||||
|
|
||||||
|
.has-error{ |
||||||
|
.form-control-feedback{ |
||||||
|
color: $danger-color; |
||||||
|
} |
||||||
|
} |
||||||
|
.has-success{ |
||||||
|
.form-control-feedback{ |
||||||
|
color: $success-color |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.input-group-addon { |
||||||
|
background-color: $white-color; |
||||||
|
border: 1px solid $light-gray; |
||||||
|
border-radius: $border-radius-base; |
||||||
|
|
||||||
|
.has-success &, |
||||||
|
.has-error &{ |
||||||
|
background-color: $white-color; |
||||||
|
border: 1px solid $light-gray; |
||||||
|
} |
||||||
|
.has-error .form-control:focus + &{ |
||||||
|
border-color: $danger-color; |
||||||
|
color: $danger-color; |
||||||
|
} |
||||||
|
.has-success .form-control:focus + &{ |
||||||
|
border-color: $success-color; |
||||||
|
color: $success-color; |
||||||
|
} |
||||||
|
.form-control:focus + &, |
||||||
|
.form-control:focus ~ &{ |
||||||
|
background-color: $white-color; |
||||||
|
border-color: $dark-gray; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.input-group .form-control:first-child, |
||||||
|
.input-group-addon:first-child, |
||||||
|
.input-group-btn:first-child > .dropdown-toggle, |
||||||
|
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { |
||||||
|
border-right: 0 none; |
||||||
|
} |
||||||
|
.input-group .form-control:last-child, |
||||||
|
.input-group-addon:last-child, |
||||||
|
.input-group-btn:last-child > .dropdown-toggle, |
||||||
|
.input-group-btn:first-child > .btn:not(:first-child) { |
||||||
|
border-left: 0 none; |
||||||
|
} |
||||||
|
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { |
||||||
|
background-color: $smoke-bg; |
||||||
|
color: $default-color; |
||||||
|
cursor: not-allowed; |
||||||
|
} |
||||||
|
|
||||||
|
.input-group-btn .btn{ |
||||||
|
border-width: $border-thin; |
||||||
|
padding: $padding-round-vertical $padding-base-horizontal; |
||||||
|
} |
||||||
|
.input-group-btn .btn-default:not(.btn-fill){ |
||||||
|
border-color: $medium-gray; |
||||||
|
} |
||||||
|
|
||||||
|
.input-group-btn:last-child > .btn{ |
||||||
|
margin-left: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.input-group-focus .input-group-addon{ |
||||||
|
border-color: $dark-gray; |
||||||
|
} |
@ -0,0 +1,129 @@ |
|||||||
|
/* General overwrite */ |
||||||
|
body, |
||||||
|
.wrapper{ |
||||||
|
min-height: 100vh; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
a{ |
||||||
|
color: $info-color; |
||||||
|
|
||||||
|
&:hover, &:focus{ |
||||||
|
color: $info-states-color; |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
a:focus, a:active, |
||||||
|
button::-moz-focus-inner, |
||||||
|
input::-moz-focus-inner, |
||||||
|
input[type="reset"]::-moz-focus-inner, |
||||||
|
input[type="button"]::-moz-focus-inner, |
||||||
|
input[type="submit"]::-moz-focus-inner, |
||||||
|
select::-moz-focus-inner, |
||||||
|
input[type="file"] > input[type="button"]::-moz-focus-inner{ |
||||||
|
outline:0; |
||||||
|
} |
||||||
|
.ui-slider-handle:focus, |
||||||
|
.navbar-toggle, |
||||||
|
input:focus { |
||||||
|
outline : 0 !important; |
||||||
|
} |
||||||
|
|
||||||
|
/* Animations */ |
||||||
|
.form-control, |
||||||
|
.input-group-addon, |
||||||
|
.tagsinput, |
||||||
|
.navbar, |
||||||
|
.navbar .alert{ |
||||||
|
@include transition($general-transition-time, $transition-linear); |
||||||
|
} |
||||||
|
|
||||||
|
.sidebar .nav a, |
||||||
|
.table > tbody > tr .td-actions .btn{ |
||||||
|
@include transition($fast-transition-time, $transition-ease-in); |
||||||
|
} |
||||||
|
|
||||||
|
.btn{ |
||||||
|
@include transition($ultra-fast-transition-time, $transition-ease-in); |
||||||
|
} |
||||||
|
.fa{ |
||||||
|
width: 18px; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.margin-top{ |
||||||
|
margin-top: 50px; |
||||||
|
} |
||||||
|
|
||||||
|
.wrapper{ |
||||||
|
position: relative; |
||||||
|
top: 0; |
||||||
|
height: 100vh; |
||||||
|
} |
||||||
|
|
||||||
|
// documentation |
||||||
|
|
||||||
|
.page-header{ |
||||||
|
.page-header-image{ |
||||||
|
background-position: center center; |
||||||
|
background-size: cover; |
||||||
|
overflow: hidden; |
||||||
|
width: 100%; |
||||||
|
z-index: 1; |
||||||
|
} |
||||||
|
.title-container{ |
||||||
|
color: #fff; |
||||||
|
position: relative; |
||||||
|
top: 250px; |
||||||
|
z-index: 3; |
||||||
|
} |
||||||
|
.filter:after{ |
||||||
|
background: rgba(0, 0, 0, 0) linear-gradient(to bottom, #9368e9 0%, #943bea 100%) repeat scroll 0 0 / 150% 150%; |
||||||
|
content: ""; |
||||||
|
display: block; |
||||||
|
height: 100%; |
||||||
|
left: 0; |
||||||
|
opacity: 0.77; |
||||||
|
position: absolute; |
||||||
|
top: 0; |
||||||
|
width: 100%; |
||||||
|
z-index: 2; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.documentation .page-header, |
||||||
|
.documentation .page-header-image, |
||||||
|
.documentation .page-header-image .filter:after{ |
||||||
|
height: 100vh; |
||||||
|
} |
||||||
|
|
||||||
|
.documentation .footer{ |
||||||
|
z-index: 3; |
||||||
|
} |
||||||
|
.documentation .wrapper{ |
||||||
|
margin-top: -61px; |
||||||
|
height: 100vh; |
||||||
|
} |
||||||
|
.documentation .navbar{ |
||||||
|
z-index: 21; |
||||||
|
} |
||||||
|
|
||||||
|
.card-tasks{ |
||||||
|
.card-body{ |
||||||
|
.table{ |
||||||
|
td{ |
||||||
|
font-size: 14px; |
||||||
|
|
||||||
|
.btn{ |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
.btn-info{ |
||||||
|
margin-top: 3px; |
||||||
|
padding-right: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
td:last-child{ |
||||||
|
padding-right: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
//Utilities |
||||||
|
|
||||||
|
@import "mixins/transparency"; |
||||||
|
@import "mixins/vendor-prefixes"; |
||||||
|
|
||||||
|
|
||||||
|
//Components |
||||||
|
|
||||||
|
@import "mixins/buttons"; |
||||||
|
@import "mixins/inputs"; |
||||||
|
@import "mixins/labels"; |
||||||
|
@import "mixins/tabs"; |
||||||
|
|
||||||
|
@import "mixins/navbars"; |
||||||
|
@import "mixins/icons"; |
||||||
|
@import "mixins/social-buttons"; |
||||||
|
|
||||||
|
@import "mixins/morphing-buttons"; |
||||||
|
|
||||||
|
@import "mixins/cards"; |
||||||
|
|
||||||
|
@import "mixins/chartist"; |
@ -0,0 +1,71 @@ |
|||||||
|
.modal{ |
||||||
|
&.show{ |
||||||
|
.modal-dialog{ |
||||||
|
-webkit-transform: translate(0, 30%); |
||||||
|
-o-transform: translate(0, 30%); |
||||||
|
transform: translate(0, 30%); |
||||||
|
} |
||||||
|
} |
||||||
|
&.modal-mini{ |
||||||
|
.modal-dialog{ |
||||||
|
max-width: 255px; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
} |
||||||
|
.modal-content{ |
||||||
|
.modal-header{ |
||||||
|
border-bottom: none; |
||||||
|
padding-top: 24px; |
||||||
|
padding-right: 24px; |
||||||
|
padding-bottom: 0; |
||||||
|
padding-left: 24px; |
||||||
|
|
||||||
|
.modal-profile{ |
||||||
|
width: 80px; |
||||||
|
height: 80px; |
||||||
|
border-radius: 50%; |
||||||
|
text-align: center; |
||||||
|
line-height: 5.7; |
||||||
|
box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.3); |
||||||
|
|
||||||
|
i{ |
||||||
|
font-size: 32px; |
||||||
|
padding-top: 24px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.modal-body{ |
||||||
|
padding-top: 24px; |
||||||
|
padding-right: 24px; |
||||||
|
padding-bottom: 16px; |
||||||
|
padding-left: 24px; |
||||||
|
line-height: 1.9; |
||||||
|
} |
||||||
|
|
||||||
|
.modal-body + .modal-footer{ |
||||||
|
padding-top: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.modal-footer{ |
||||||
|
border-top: none; |
||||||
|
padding-right: 24px; |
||||||
|
padding-bottom: 16px; |
||||||
|
padding-left: 24px; |
||||||
|
-webkit-justify-content: space-between; |
||||||
|
justify-content: space-between; |
||||||
|
|
||||||
|
.btn{ |
||||||
|
margin: 0; |
||||||
|
padding-left: 16px; |
||||||
|
padding-right: 16px; |
||||||
|
width: auto; |
||||||
|
|
||||||
|
&:hover, |
||||||
|
&focus{ |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,379 @@ |
|||||||
|
.nav { |
||||||
|
.nav-item{ |
||||||
|
.nav-link:hover, |
||||||
|
.nav-link:focus{ |
||||||
|
background-color: transparent; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
.navbar{ |
||||||
|
border: $none; |
||||||
|
font-size: $font-size-navbar; |
||||||
|
border-radius: 0; |
||||||
|
min-height: 50px; |
||||||
|
background-color: $white-navbar; |
||||||
|
border-bottom: 1px solid rgba(0, 0, 0, 0.1); |
||||||
|
padding: 5px 15px; |
||||||
|
|
||||||
|
.navbar-brand { |
||||||
|
font-weight: 400; |
||||||
|
margin: 5px 0px; |
||||||
|
font-size: 20px; |
||||||
|
color: $default-color; |
||||||
|
|
||||||
|
&:hover{ |
||||||
|
color: #5e5e5e; |
||||||
|
} |
||||||
|
} |
||||||
|
.navbar-toggler{ |
||||||
|
width: 37px; |
||||||
|
height: 27px; |
||||||
|
vertical-align: middle; |
||||||
|
outline: 0; |
||||||
|
cursor: pointer; |
||||||
|
|
||||||
|
&.navbar-toggler-left{ |
||||||
|
position: relative; |
||||||
|
left: 0; |
||||||
|
padding-left: 0; |
||||||
|
} |
||||||
|
|
||||||
|
& .navbar-toggler-bar{ |
||||||
|
width: 3px; |
||||||
|
height: 3px; |
||||||
|
border-radius: 50%; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
.burger-lines{ |
||||||
|
display: block; |
||||||
|
position: relative; |
||||||
|
background-color: #888; |
||||||
|
width: 24px; |
||||||
|
height: 2px; |
||||||
|
border-radius: 1px; |
||||||
|
margin: 4px auto; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown.nav-item{ |
||||||
|
.dropdown-toggle:after{ |
||||||
|
margin-top: 8px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-nav{ |
||||||
|
align-items: center; |
||||||
|
|
||||||
|
.nav-item{ |
||||||
|
.nav-link{ |
||||||
|
color: $default-color; |
||||||
|
padding: $navbar-padding-a; |
||||||
|
position: relative; |
||||||
|
display: inline-flex; |
||||||
|
line-height: 1.2; |
||||||
|
|
||||||
|
&.btn{ |
||||||
|
margin: $navbar-margin-a-btn; |
||||||
|
padding: $padding-base-vertical $padding-base-horizontal; |
||||||
|
} |
||||||
|
|
||||||
|
&.btn-round{ |
||||||
|
margin: $navbar-margin-a-btn-round; |
||||||
|
} |
||||||
|
|
||||||
|
[class^="fa"]{ |
||||||
|
font-size: $font-size-large + 1; |
||||||
|
position: relative; |
||||||
|
line-height: 40px; |
||||||
|
top: 1px; |
||||||
|
} |
||||||
|
|
||||||
|
&:hover{ |
||||||
|
color: $info-color; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-menu{ |
||||||
|
border-radius: $border-radius-extreme; |
||||||
|
margin-top: -5px; |
||||||
|
|
||||||
|
.dropdown-item{ |
||||||
|
&:first-child{ |
||||||
|
border-top-left-radius: 10px; |
||||||
|
border-top-right-radius: 10px; |
||||||
|
} |
||||||
|
&:last-child{ |
||||||
|
border-bottom-left-radius: 10px; |
||||||
|
border-bottom-right-radius: 10px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.divider{ |
||||||
|
height: 1px; |
||||||
|
margin: 5px 0; |
||||||
|
overflow: hidden; |
||||||
|
background-color: #e5e5e5; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.notification{ |
||||||
|
position: absolute; |
||||||
|
background-color: #FB404B; |
||||||
|
text-align: center; |
||||||
|
border-radius: 10px; |
||||||
|
min-width: 18px; |
||||||
|
padding: 0 5px; |
||||||
|
height: 18px; |
||||||
|
font-size: 12px; |
||||||
|
color: $white-color; |
||||||
|
font-weight: bold; |
||||||
|
line-height: 18px; |
||||||
|
top: 0; |
||||||
|
left: 7px; |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-toggle:after{ |
||||||
|
display: inline-block; |
||||||
|
width: 0; |
||||||
|
height: 0; |
||||||
|
margin-left: 5px; |
||||||
|
margin-top: 12px; |
||||||
|
vertical-align: middle; |
||||||
|
border-top: 4px dashed; |
||||||
|
border-top: 4px solid\9; |
||||||
|
border-right: 4px solid transparent; |
||||||
|
border-left: 4px solid transparent; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
.btn{ |
||||||
|
margin: $navbar-margin-btn; |
||||||
|
font-size: $font-size-base; |
||||||
|
} |
||||||
|
.btn-simple{ |
||||||
|
font-size: $font-size-medium; |
||||||
|
} |
||||||
|
|
||||||
|
&.fixed{ |
||||||
|
width: calc(100% - $sidebar-width); |
||||||
|
right: 0; |
||||||
|
left: auto; |
||||||
|
border-radius: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-icon{ |
||||||
|
font-weight: 700; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-transparent, [class*="navbar-ct"]{ |
||||||
|
.navbar-brand{ |
||||||
|
color: $white-color; |
||||||
|
@include opacity(.9); |
||||||
|
|
||||||
|
&:focus, |
||||||
|
&:hover{ |
||||||
|
background-color: transparent; |
||||||
|
@include opacity(1); |
||||||
|
color: $white-color; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-nav{ |
||||||
|
.nav-item{ |
||||||
|
.nav-link:not(.btn){ |
||||||
|
color: $white-color; |
||||||
|
border-color: $white-color; |
||||||
|
@include opacity(0.8); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.active, |
||||||
|
.nav-item{ |
||||||
|
.nav-link:not(.btn), |
||||||
|
.nav-link:hover:not(.btn), |
||||||
|
.nav-link:focus:not(.btn),{ |
||||||
|
background-color: transparent; |
||||||
|
border-radius: 3px; |
||||||
|
color: $white-color; |
||||||
|
@include opacity(1); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.nav .nav-item .nav-link.btn:hover{ |
||||||
|
background-color: transparent; |
||||||
|
} |
||||||
|
|
||||||
|
.show{ |
||||||
|
.nav-link, |
||||||
|
.nav-link:hover, |
||||||
|
.nav-link:focus{ |
||||||
|
background-color: transparent; |
||||||
|
color: $white-color; |
||||||
|
@include opacity(1); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.btn-default{ |
||||||
|
color: $white-color; |
||||||
|
border-color: $white-color; |
||||||
|
} |
||||||
|
.btn-default.btn-fill{ |
||||||
|
color: $dark-gray; |
||||||
|
background-color: $white-color; |
||||||
|
@include opacity(.9); |
||||||
|
} |
||||||
|
.btn-default.btn-fill:hover, |
||||||
|
.btn-default.btn-fill:focus, |
||||||
|
.btn-default.btn-fill:active, |
||||||
|
.btn-default.btn-fill.active, |
||||||
|
.show .dropdown-toggle.btn-fill.btn-default{ |
||||||
|
border-color: $white-color; |
||||||
|
@include opacity(1); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
.navbar-transparent{ |
||||||
|
.dropdown-menu .divider{ |
||||||
|
background-color: rgba($white-color,.2); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.navbar-default { |
||||||
|
background-color: $white-navbar; |
||||||
|
border-bottom: 1px solid rgba(0, 0, 0, 0.1); |
||||||
|
|
||||||
|
.navbar-nav{ |
||||||
|
.nav-item{ |
||||||
|
.nav-link:not(.btn){ |
||||||
|
color: $dark-gray; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.active .nav-link, |
||||||
|
.active .nav-link:not(.btn):hover, |
||||||
|
.active .nav-link:not(.btn):focus, |
||||||
|
.nav-item .nav-link:not(.btn):hover, |
||||||
|
.nav-item .nav-link:not(.btn):focus{ |
||||||
|
background-color: transparent; |
||||||
|
border-radius: 3px; |
||||||
|
color: $info-color; |
||||||
|
@include opacity(1); |
||||||
|
} |
||||||
|
|
||||||
|
.show{ |
||||||
|
.nav-link, |
||||||
|
.nav-link:hover, |
||||||
|
.nav-link:focus{ |
||||||
|
background-color: transparent; |
||||||
|
color: $info-color; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.navbar-toggle:hover,.navbar-toggle:focus { |
||||||
|
background-color: transparent; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
&:not(.navbar-transparent) .btn-default:hover{ |
||||||
|
color: $info-color; |
||||||
|
border-color: $info-color; |
||||||
|
} |
||||||
|
&:not(.navbar-transparent) .btn-neutral, |
||||||
|
&:not(.navbar-transparent) .btn-neutral:hover, |
||||||
|
&:not(.navbar-transparent) .btn-neutral:active{ |
||||||
|
color: $dark-gray; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/* Navbar with icons */ |
||||||
|
|
||||||
|
.navbar-icons{ |
||||||
|
&.navbar .navbar-brand{ |
||||||
|
margin-top: 12px; |
||||||
|
margin-bottom: 12px; |
||||||
|
} |
||||||
|
.navbar-nav{ |
||||||
|
.nav-item{ |
||||||
|
.nav-link{ |
||||||
|
text-align: center; |
||||||
|
padding: $navbar-padding-a-icons; |
||||||
|
margin: $navbar-margin-a-icons; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[class^="pe"] { |
||||||
|
font-size: 30px; |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
p { |
||||||
|
margin: 3px 0 0; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-form{ |
||||||
|
@include box-shadow(none); |
||||||
|
.form-control{ |
||||||
|
@include light-form(); |
||||||
|
height: 22px; |
||||||
|
font-size: $font-size-navbar; |
||||||
|
line-height: $line-height-general; |
||||||
|
color: $light-gray; |
||||||
|
} |
||||||
|
.navbar-transparent & .form-control, |
||||||
|
[class*="navbar-ct"] & .form-control{ |
||||||
|
color: $white-color; |
||||||
|
border: $none; |
||||||
|
border-bottom: 1px solid rgba($white-color,.6); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
.navbar-ct-blue{ |
||||||
|
@include navbar-color($blue-navbar); |
||||||
|
} |
||||||
|
.navbar-ct-azure{ |
||||||
|
@include navbar-color($azure-navbar); |
||||||
|
} |
||||||
|
.navbar-ct-green{ |
||||||
|
@include navbar-color($green-navbar); |
||||||
|
} |
||||||
|
.navbar-ct-orange{ |
||||||
|
@include navbar-color($orange-navbar); |
||||||
|
} |
||||||
|
.navbar-ct-red{ |
||||||
|
@include navbar-color($red-navbar); |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-transparent{ |
||||||
|
padding-top: 15px; |
||||||
|
background-color: transparent; |
||||||
|
border-bottom: 1px solid transparent; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-toggle{ |
||||||
|
margin-top: 19px; |
||||||
|
margin-bottom: 19px; |
||||||
|
border: $none; |
||||||
|
|
||||||
|
.icon-bar { |
||||||
|
background-color: $white-color; |
||||||
|
} |
||||||
|
.navbar-collapse, |
||||||
|
.navbar-form { |
||||||
|
border-color: transparent; |
||||||
|
} |
||||||
|
|
||||||
|
&.navbar-default .navbar-toggle:hover, |
||||||
|
&.navbar-default .navbar-toggle:focus { |
||||||
|
background-color: transparent; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,574 @@ |
|||||||
|
/*-------------------------------- |
||||||
|
|
||||||
|
nucleo-icons Web Font - built using nucleoapp.com |
||||||
|
License - nucleoapp.com/license/ |
||||||
|
|
||||||
|
-------------------------------- */ |
||||||
|
@font-face { |
||||||
|
font-family: 'nucleo-icons'; |
||||||
|
src: url('../fonts/nucleo-icons.eot'); |
||||||
|
src: url('../fonts/nucleo-icons.eot') format('embedded-opentype'), url('../fonts/nucleo-icons.woff2') format('woff2'), url('../fonts/nucleo-icons.woff') format('woff'), url('../fonts/nucleo-icons.ttf') format('truetype'), url('../fonts/nucleo-icons.svg') format('svg'); |
||||||
|
font-weight: normal; |
||||||
|
font-style: normal; |
||||||
|
} |
||||||
|
/*------------------------ |
||||||
|
base class definition |
||||||
|
-------------------------*/ |
||||||
|
.nc-icon { |
||||||
|
display: inline-block; |
||||||
|
font: normal normal normal 14px/1 'nucleo-icons'; |
||||||
|
font-size: inherit; |
||||||
|
speak: none; |
||||||
|
text-transform: none; |
||||||
|
/* Better Font Rendering */ |
||||||
|
-webkit-font-smoothing: antialiased; |
||||||
|
-moz-osx-font-smoothing: grayscale; |
||||||
|
} |
||||||
|
/*------------------------ |
||||||
|
change icon size |
||||||
|
-------------------------*/ |
||||||
|
.nc-icon.lg { |
||||||
|
font-size: 1.33333333em; |
||||||
|
vertical-align: -16%; |
||||||
|
} |
||||||
|
.nc-icon.x2 { |
||||||
|
font-size: 2em; |
||||||
|
} |
||||||
|
.nc-icon.x3 { |
||||||
|
font-size: 3em; |
||||||
|
} |
||||||
|
/*---------------------------------- |
||||||
|
add a square/circle background |
||||||
|
-----------------------------------*/ |
||||||
|
.nc-icon.square, |
||||||
|
.nc-icon.circle { |
||||||
|
padding: 0.33333333em; |
||||||
|
vertical-align: -16%; |
||||||
|
background-color: #eee; |
||||||
|
} |
||||||
|
.nc-icon.circle { |
||||||
|
border-radius: 50%; |
||||||
|
} |
||||||
|
/*------------------------ |
||||||
|
list icons |
||||||
|
-------------------------*/ |
||||||
|
.nc-icon-ul { |
||||||
|
padding-left: 0; |
||||||
|
margin-left: 2.14285714em; |
||||||
|
list-style-type: none; |
||||||
|
} |
||||||
|
.nc-icon-ul > li { |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
.nc-icon-ul > li > .nc-icon { |
||||||
|
position: absolute; |
||||||
|
left: -1.57142857em; |
||||||
|
top: 0.14285714em; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.nc-icon-ul > li > .nc-icon.lg { |
||||||
|
top: 0; |
||||||
|
left: -1.35714286em; |
||||||
|
} |
||||||
|
.nc-icon-ul > li > .nc-icon.circle, |
||||||
|
.nc-icon-ul > li > .nc-icon.square { |
||||||
|
top: -0.19047619em; |
||||||
|
left: -1.9047619em; |
||||||
|
} |
||||||
|
|
||||||
|
.all-icons{ |
||||||
|
.font-icon-list{ |
||||||
|
.font-icon-detail i{ |
||||||
|
font-size: 32px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
/*------------------------ |
||||||
|
spinning icons |
||||||
|
-------------------------*/ |
||||||
|
.nc-icon.spin { |
||||||
|
-webkit-animation: nc-icon-spin 2s infinite linear; |
||||||
|
-moz-animation: nc-icon-spin 2s infinite linear; |
||||||
|
animation: nc-icon-spin 2s infinite linear; |
||||||
|
} |
||||||
|
@-webkit-keyframes nc-icon-spin { |
||||||
|
0% { |
||||||
|
-webkit-transform: rotate(0deg); |
||||||
|
} |
||||||
|
100% { |
||||||
|
-webkit-transform: rotate(360deg); |
||||||
|
} |
||||||
|
} |
||||||
|
@-moz-keyframes nc-icon-spin { |
||||||
|
0% { |
||||||
|
-moz-transform: rotate(0deg); |
||||||
|
} |
||||||
|
100% { |
||||||
|
-moz-transform: rotate(360deg); |
||||||
|
} |
||||||
|
} |
||||||
|
@keyframes nc-icon-spin { |
||||||
|
0% { |
||||||
|
-webkit-transform: rotate(0deg); |
||||||
|
-moz-transform: rotate(0deg); |
||||||
|
-ms-transform: rotate(0deg); |
||||||
|
-o-transform: rotate(0deg); |
||||||
|
transform: rotate(0deg); |
||||||
|
} |
||||||
|
100% { |
||||||
|
-webkit-transform: rotate(360deg); |
||||||
|
-moz-transform: rotate(360deg); |
||||||
|
-ms-transform: rotate(360deg); |
||||||
|
-o-transform: rotate(360deg); |
||||||
|
transform: rotate(360deg); |
||||||
|
} |
||||||
|
} |
||||||
|
/*------------------------ |
||||||
|
rotated/flipped icons |
||||||
|
-------------------------*/ |
||||||
|
.nc-icon.rotate-90 { |
||||||
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); |
||||||
|
-webkit-transform: rotate(90deg); |
||||||
|
-moz-transform: rotate(90deg); |
||||||
|
-ms-transform: rotate(90deg); |
||||||
|
-o-transform: rotate(90deg); |
||||||
|
transform: rotate(90deg); |
||||||
|
} |
||||||
|
.nc-icon.rotate-180 { |
||||||
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); |
||||||
|
-webkit-transform: rotate(180deg); |
||||||
|
-moz-transform: rotate(180deg); |
||||||
|
-ms-transform: rotate(180deg); |
||||||
|
-o-transform: rotate(180deg); |
||||||
|
transform: rotate(180deg); |
||||||
|
} |
||||||
|
.nc-icon.rotate-270 { |
||||||
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); |
||||||
|
-webkit-transform: rotate(270deg); |
||||||
|
-moz-transform: rotate(270deg); |
||||||
|
-ms-transform: rotate(270deg); |
||||||
|
-o-transform: rotate(270deg); |
||||||
|
transform: rotate(270deg); |
||||||
|
} |
||||||
|
.nc-icon.flip-y { |
||||||
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0); |
||||||
|
-webkit-transform: scale(-1, 1); |
||||||
|
-moz-transform: scale(-1, 1); |
||||||
|
-ms-transform: scale(-1, 1); |
||||||
|
-o-transform: scale(-1, 1); |
||||||
|
transform: scale(-1, 1); |
||||||
|
} |
||||||
|
.nc-icon.flip-x { |
||||||
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); |
||||||
|
-webkit-transform: scale(1, -1); |
||||||
|
-moz-transform: scale(1, -1); |
||||||
|
-ms-transform: scale(1, -1); |
||||||
|
-o-transform: scale(1, -1); |
||||||
|
transform: scale(1, -1); |
||||||
|
} |
||||||
|
/*------------------------ |
||||||
|
font icons |
||||||
|
-------------------------*/ |
||||||
|
|
||||||
|
.nc-air-baloon::before { |
||||||
|
content: "\ea01"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-album-2::before { |
||||||
|
content: "\ea02"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-alien-33::before { |
||||||
|
content: "\ea03"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-align-center::before { |
||||||
|
content: "\ea04"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-align-left-2::before { |
||||||
|
content: "\ea05"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-ambulance::before { |
||||||
|
content: "\ea06"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-android::before { |
||||||
|
content: "\ea07"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-app::before { |
||||||
|
content: "\ea08"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-apple::before { |
||||||
|
content: "\ea09"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-atom::before { |
||||||
|
content: "\ea0a"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-attach-87::before { |
||||||
|
content: "\ea0b"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-audio-92::before { |
||||||
|
content: "\ea0c"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-backpack::before { |
||||||
|
content: "\ea0d"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-badge::before { |
||||||
|
content: "\ea0e"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-bag::before { |
||||||
|
content: "\ea0f"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-bank::before { |
||||||
|
content: "\ea10"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-battery-81::before { |
||||||
|
content: "\ea11"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-bell-55::before { |
||||||
|
content: "\ea12"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-bold::before { |
||||||
|
content: "\ea13"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-bulb-63::before { |
||||||
|
content: "\ea14"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-bullet-list-67::before { |
||||||
|
content: "\ea15"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-bus-front-12::before { |
||||||
|
content: "\ea16"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-button-pause::before { |
||||||
|
content: "\ea17"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-button-play::before { |
||||||
|
content: "\ea18"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-button-power::before { |
||||||
|
content: "\ea19"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-camera-20::before { |
||||||
|
content: "\ea1a"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-caps-small::before { |
||||||
|
content: "\ea1b"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-cart-simple::before { |
||||||
|
content: "\ea1c"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-cctv::before { |
||||||
|
content: "\ea1d"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-chart-bar-32::before { |
||||||
|
content: "\ea1e"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-chart-pie-35::before { |
||||||
|
content: "\ea1f"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-chart-pie-36::before { |
||||||
|
content: "\ea20"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-chart::before { |
||||||
|
content: "\ea21"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-chat-round::before { |
||||||
|
content: "\ea22"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-check-2::before { |
||||||
|
content: "\ea23"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-circle-09::before { |
||||||
|
content: "\ea24"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-circle::before { |
||||||
|
content: "\ea25"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-cloud-download-93::before { |
||||||
|
content: "\ea26"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-cloud-upload-94::before { |
||||||
|
content: "\ea27"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-compass-05::before { |
||||||
|
content: "\ea28"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-controller-modern::before { |
||||||
|
content: "\ea29"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-credit-card::before { |
||||||
|
content: "\ea2a"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-delivery-fast::before { |
||||||
|
content: "\ea2b"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-email-83::before { |
||||||
|
content: "\ea2c"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-email-85::before { |
||||||
|
content: "\ea2d"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-explore-2::before { |
||||||
|
content: "\ea2e"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-fav-remove::before { |
||||||
|
content: "\ea2f"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-favourite-28::before { |
||||||
|
content: "\ea30"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-globe-2::before { |
||||||
|
content: "\ea31"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-grid-45::before { |
||||||
|
content: "\ea32"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-headphones-2::before { |
||||||
|
content: "\ea33"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-html5::before { |
||||||
|
content: "\ea34"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-istanbul::before { |
||||||
|
content: "\ea35"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-key-25::before { |
||||||
|
content: "\ea36"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-layers-3::before { |
||||||
|
content: "\ea37"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-light-3::before { |
||||||
|
content: "\ea38"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-lock-circle-open::before { |
||||||
|
content: "\ea39"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-map-big::before { |
||||||
|
content: "\ea3a"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-mobile::before { |
||||||
|
content: "\ea3c"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-money-coins::before { |
||||||
|
content: "\ea3b"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-note-03::before { |
||||||
|
content: "\ea3d"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-notes::before { |
||||||
|
content: "\ea3e"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-notification-70::before { |
||||||
|
content: "\ea3f"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-palette::before { |
||||||
|
content: "\ea40"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-paper-2::before { |
||||||
|
content: "\ea41"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-pin-3::before { |
||||||
|
content: "\ea42"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-planet::before { |
||||||
|
content: "\ea43"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-preferences-circle-rotate::before { |
||||||
|
content: "\ea44"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-puzzle-10::before { |
||||||
|
content: "\ea45"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-quote::before { |
||||||
|
content: "\ea46"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-refresh-02::before { |
||||||
|
content: "\ea47"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-ruler-pencil::before { |
||||||
|
content: "\ea48"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-satisfied::before { |
||||||
|
content: "\ea49"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-scissors::before { |
||||||
|
content: "\ea4a"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-send::before { |
||||||
|
content: "\ea4b"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-settings-90::before { |
||||||
|
content: "\ea4c"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-settings-gear-64::before { |
||||||
|
content: "\ea4d"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-settings-tool-66::before { |
||||||
|
content: "\ea4e"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-simple-add::before { |
||||||
|
content: "\ea4f"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-simple-delete::before { |
||||||
|
content: "\ea50"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-simple-remove::before { |
||||||
|
content: "\ea51"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-single-02::before { |
||||||
|
content: "\ea52"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-single-copy-04::before { |
||||||
|
content: "\ea53"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-spaceship::before { |
||||||
|
content: "\ea54"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-square-pin::before { |
||||||
|
content: "\ea55"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-stre-down::before { |
||||||
|
content: "\ea56"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-stre-left::before { |
||||||
|
content: "\ea57"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-stre-right::before { |
||||||
|
content: "\ea58"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-stre-up::before { |
||||||
|
content: "\ea59"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-sun-fog-29::before { |
||||||
|
content: "\ea5a"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-support-17::before { |
||||||
|
content: "\ea5b"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-tablet-2::before { |
||||||
|
content: "\ea5c"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-tag-content::before { |
||||||
|
content: "\ea5d"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-tap-01::before { |
||||||
|
content: "\ea5e"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-time-alarm::before { |
||||||
|
content: "\ea5f"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-tv-2::before { |
||||||
|
content: "\ea60"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-umbrella-13::before { |
||||||
|
content: "\ea61"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-vector::before { |
||||||
|
content: "\ea62"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-watch-time::before { |
||||||
|
content: "\ea63"; |
||||||
|
} |
||||||
|
|
||||||
|
.nc-zoom-split::before { |
||||||
|
content: "\ea64"; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/* all icon font classes list here */ |
@ -0,0 +1,476 @@ |
|||||||
|
@media (min-width: 992px){ |
||||||
|
.navbar-form { |
||||||
|
margin-top: 21px; |
||||||
|
margin-bottom: 21px; |
||||||
|
padding-left: 5px; |
||||||
|
padding-right: 5px; |
||||||
|
} |
||||||
|
.navbar-nav .nav-item .dropdown-menu, .dropdown .dropdown-menu{ |
||||||
|
@include transform-scale(0); |
||||||
|
@include transition($slow-transition-time, $transition-bezier); |
||||||
|
} |
||||||
|
.navbar-nav .nav-item.show .dropdown-menu, .dropdown.show .dropdown-menu{ |
||||||
|
@include transform-scale(1); |
||||||
|
@include transform-origin($dropdown-coordinates); |
||||||
|
|
||||||
|
} |
||||||
|
.close-layer, |
||||||
|
.nav-mobile-menu{ |
||||||
|
display: none !important; |
||||||
|
} |
||||||
|
|
||||||
|
.footer{ |
||||||
|
height: 60px; |
||||||
|
.footer-menu{ |
||||||
|
float: left; |
||||||
|
} |
||||||
|
.copyright{ |
||||||
|
float: right; |
||||||
|
} |
||||||
|
} |
||||||
|
.navbar-nav .nav-item .dropdown-menu:before{ |
||||||
|
border-bottom: 11px solid rgba(0, 0, 0, 0.2); |
||||||
|
border-left: 11px solid rgba(0, 0, 0, 0); |
||||||
|
border-right: 11px solid rgba(0, 0, 0, 0); |
||||||
|
content: ""; |
||||||
|
display: inline-block; |
||||||
|
position: absolute; |
||||||
|
left: 12px; |
||||||
|
top: -11px; |
||||||
|
} |
||||||
|
.navbar-nav .nav-item .dropdown-menu:after { |
||||||
|
border-bottom: 11px solid #FFFFFF; |
||||||
|
border-left: 11px solid rgba(0, 0, 0, 0); |
||||||
|
border-right: 11px solid rgba(0, 0, 0, 0); |
||||||
|
content: ""; |
||||||
|
display: inline-block; |
||||||
|
position: absolute; |
||||||
|
left: 12px; |
||||||
|
top: -10px; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-nav.navbar-right .nav-item .dropdown-menu:before{ |
||||||
|
left: auto; |
||||||
|
right: 12px; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-nav.navbar-right .nav-item .dropdown-menu:after{ |
||||||
|
left: auto; |
||||||
|
right: 12px; |
||||||
|
} |
||||||
|
|
||||||
|
.footer:not(.footer-big){ |
||||||
|
nav > ul{ |
||||||
|
li:first-child{ |
||||||
|
margin-left: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.card{ |
||||||
|
form{ |
||||||
|
[class*="col-"]{ |
||||||
|
padding: 6px; |
||||||
|
} |
||||||
|
[class*="col-"]:first-child{ |
||||||
|
padding-left: 15px; |
||||||
|
} |
||||||
|
[class*="col-"]:last-child{ |
||||||
|
padding-right: 15px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/* Changes for small display */ |
||||||
|
|
||||||
|
@media (max-width: 991px){ |
||||||
|
|
||||||
|
.sidebar{ |
||||||
|
right: 0 !important; |
||||||
|
left: auto; |
||||||
|
position: fixed; |
||||||
|
@include transform-translate-3d(262px); |
||||||
|
@include transition (0.5s, cubic-bezier(0.685, 0.0473, 0.346, 1)); |
||||||
|
} |
||||||
|
|
||||||
|
.nav-open{ |
||||||
|
.main-panel{ |
||||||
|
position: absolute; |
||||||
|
left: 0; |
||||||
|
@include transform-translate-3d(-250px); |
||||||
|
@include transition (0.5s, cubic-bezier(0.685, 0.0473, 0.346, 1)); |
||||||
|
} |
||||||
|
|
||||||
|
.sidebar{ |
||||||
|
@include transform-translate-3d(10px); |
||||||
|
@include transition (0.5s, cubic-bezier(0.685, 0.0473, 0.346, 1)); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.main-panel{ |
||||||
|
@include transform-translate-3d(0px); |
||||||
|
@include transition (0.5s, cubic-bezier(0.685, 0.0473, 0.346, 1)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.nav-item.active-pro{ |
||||||
|
position: relative !important; |
||||||
|
} |
||||||
|
|
||||||
|
.nav-mobile-menu{ |
||||||
|
border-bottom: 1px solid rgba(255, 255, 255, 0.2); |
||||||
|
margin-bottom: 15px; |
||||||
|
padding-bottom: 15px; |
||||||
|
padding-top: 5px; |
||||||
|
|
||||||
|
.dropdown{ |
||||||
|
.dropdown-menu{ |
||||||
|
position: static !important; |
||||||
|
float: none; |
||||||
|
width: auto; |
||||||
|
color: $white-color; |
||||||
|
margin-top: 0; |
||||||
|
background-color: transparent; |
||||||
|
border: 0; |
||||||
|
-webkit-box-shadow: none; |
||||||
|
box-shadow: none; |
||||||
|
@include transition (0.5s, cubic-bezier(0.685, 0.0473, 0.346, 1)); |
||||||
|
|
||||||
|
.dropdown-item{ |
||||||
|
margin: 5px 15px 0px 20px; |
||||||
|
border-radius: 4px; |
||||||
|
color: $white-color; |
||||||
|
opacity: .86; |
||||||
|
padding: 8px 50px; |
||||||
|
&:hover{ |
||||||
|
background-color: rgba(255, 255, 255, 0.23) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
.nav-item{ |
||||||
|
.nav-link{ |
||||||
|
span{ |
||||||
|
display: inline-block !important; |
||||||
|
} |
||||||
|
.no-icon{ |
||||||
|
padding-left: 50px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.main-panel{ |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-transparent{ |
||||||
|
padding-top: 15px; |
||||||
|
background-color: rgba(0, 0, 0, 0.45); |
||||||
|
} |
||||||
|
body { |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
.wrapper{ |
||||||
|
left: 0; |
||||||
|
background-color: white; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar{ |
||||||
|
padding-right: 30px; |
||||||
|
padding-left: 30px; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-nav{ |
||||||
|
.nav-item{ |
||||||
|
float: none; |
||||||
|
position: relative; |
||||||
|
display: block; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
body > .navbar-collapse { |
||||||
|
position: fixed; |
||||||
|
display: block; |
||||||
|
top: 0; |
||||||
|
height: 100%; |
||||||
|
right: 0; |
||||||
|
left: auto; |
||||||
|
z-index: 1032; |
||||||
|
visibility: visible; |
||||||
|
background-color: #999; |
||||||
|
overflow-y: visible; |
||||||
|
border-top: none; |
||||||
|
text-align: left; |
||||||
|
padding: 0; |
||||||
|
|
||||||
|
@include transform-translate-x(260px); |
||||||
|
@include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1)); |
||||||
|
> ul { |
||||||
|
position: relative; |
||||||
|
z-index: 4; |
||||||
|
overflow-y:scroll; |
||||||
|
height: calc(100vh - 61px); |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
&::before{ |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
height: 100%; |
||||||
|
width: 100%; |
||||||
|
position: absolute; |
||||||
|
background-color: #282828; |
||||||
|
display: block; |
||||||
|
content: ""; |
||||||
|
z-index: 1; |
||||||
|
} |
||||||
|
|
||||||
|
.logo{ |
||||||
|
position: relative; |
||||||
|
z-index: 4; |
||||||
|
} |
||||||
|
|
||||||
|
.nav li > a{ |
||||||
|
padding: 10px 15px; |
||||||
|
} |
||||||
|
} |
||||||
|
.nav-show .navbar-collapse{ |
||||||
|
@include transform-translate-x(0px); |
||||||
|
} |
||||||
|
.nav-show .navbar .container{ |
||||||
|
left: -250px; |
||||||
|
} |
||||||
|
.nav-show .wrapper{ |
||||||
|
left: 0; |
||||||
|
@include transform-translate-x(-260px); |
||||||
|
} |
||||||
|
.navbar-toggle .icon-bar { |
||||||
|
display: block; |
||||||
|
position: relative; |
||||||
|
background: #fff; |
||||||
|
width: 24px; |
||||||
|
height: 2px; |
||||||
|
border-radius: 1px; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-header .navbar-toggle { |
||||||
|
margin: 10px 15px 10px 0; |
||||||
|
width: 40px; |
||||||
|
height: 40px; |
||||||
|
} |
||||||
|
.bar1, |
||||||
|
.bar2, |
||||||
|
.bar3 { |
||||||
|
outline: 1px solid transparent; |
||||||
|
} |
||||||
|
.bar1 { |
||||||
|
top: 0px; |
||||||
|
@include bar-animation($topbar-back); |
||||||
|
} |
||||||
|
.bar2 { |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
.bar3 { |
||||||
|
bottom: 0px; |
||||||
|
@include bar-animation($bottombar-back); |
||||||
|
} |
||||||
|
.toggled .bar1 { |
||||||
|
top: 6px; |
||||||
|
@include bar-animation($topbar-x); |
||||||
|
} |
||||||
|
.toggled .bar2 { |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
.toggled .bar3 { |
||||||
|
bottom: 6px; |
||||||
|
@include bar-animation($bottombar-x); |
||||||
|
} |
||||||
|
|
||||||
|
@include topbar-x-rotation(); |
||||||
|
@include topbar-back-rotation(); |
||||||
|
@include bottombar-x-rotation(); |
||||||
|
@include bottombar-back-rotation(); |
||||||
|
|
||||||
|
@-webkit-keyframes fadeIn { |
||||||
|
0% {opacity: 0;} |
||||||
|
100% {opacity: 1;} |
||||||
|
} |
||||||
|
@-moz-keyframes fadeIn { |
||||||
|
0% {opacity: 0;} |
||||||
|
100% {opacity: 1;} |
||||||
|
} |
||||||
|
@keyframes fadeIn { |
||||||
|
0% {opacity: 0;} |
||||||
|
100% {opacity: 1;} |
||||||
|
} |
||||||
|
|
||||||
|
.dropdown-menu .divider{ |
||||||
|
background-color: rgba(229, 229, 229, 0.15); |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-nav { |
||||||
|
margin: 1px 0; |
||||||
|
|
||||||
|
.show .dropdown-menu .nav-item{ |
||||||
|
.nav-link{ |
||||||
|
padding: 10px 15px 10px 60px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
[class*="navbar-"] .navbar-nav { |
||||||
|
& > li > a, |
||||||
|
> li > a:hover, |
||||||
|
> li > a:focus, |
||||||
|
.active > a, |
||||||
|
.active > a:hover, |
||||||
|
.active > a:focus, |
||||||
|
.show .dropdown-menu > li > a, |
||||||
|
.show .dropdown-menu > li > a:hover, |
||||||
|
.show .dropdown-menu > li > a:focus, |
||||||
|
.show .dropdown-menu > li > a:active { |
||||||
|
color: white; |
||||||
|
} |
||||||
|
|
||||||
|
& > li > a, |
||||||
|
> li > a:hover, |
||||||
|
> li > a:focus{ |
||||||
|
opacity: .7; |
||||||
|
background-color: transparent; |
||||||
|
outline: none; |
||||||
|
} |
||||||
|
|
||||||
|
.show .dropdown-menu > li > a:hover, |
||||||
|
.show .dropdown-menu > li > a:focus{ |
||||||
|
background-color: rgba(255,255,255, .1); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
&.navbar-nav .show .dropdown-menu > li > a:active { |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
& .dropdown > a{ |
||||||
|
&:hover .caret { |
||||||
|
border-bottom-color: #fff; |
||||||
|
border-top-color: #fff; |
||||||
|
} |
||||||
|
&:active .caret { |
||||||
|
border-bottom-color: white; |
||||||
|
border-top-color: white; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
.navbar-fixed-top { |
||||||
|
-webkit-backface-visibility: hidden; |
||||||
|
} |
||||||
|
#bodyClick { |
||||||
|
height: 100%; |
||||||
|
width: 100%; |
||||||
|
position: fixed; |
||||||
|
opacity: 0; |
||||||
|
top: 0; |
||||||
|
left: auto; |
||||||
|
right: 250px; |
||||||
|
content: ""; |
||||||
|
z-index: 9999; |
||||||
|
overflow-x: hidden; |
||||||
|
} |
||||||
|
|
||||||
|
.social-line .btn{ |
||||||
|
margin: $margin-bottom; |
||||||
|
} |
||||||
|
.subscribe-line .form-control{ |
||||||
|
margin: $margin-bottom; |
||||||
|
} |
||||||
|
.social-line.pull-right{ |
||||||
|
float: none; |
||||||
|
} |
||||||
|
.social-area.pull-right{ |
||||||
|
float: none !important; |
||||||
|
} |
||||||
|
.form-control + .form-control-feedback{ |
||||||
|
margin-top: -8px; |
||||||
|
} |
||||||
|
.navbar-toggle:hover,.navbar-toggle:focus { |
||||||
|
background-color: transparent !important; |
||||||
|
} |
||||||
|
.btn.dropdown-toggle{ |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
.media-post .author{ |
||||||
|
width: 20%; |
||||||
|
float: none !important; |
||||||
|
display: block; |
||||||
|
margin: 0 auto 10px; |
||||||
|
} |
||||||
|
.media-post .media-body{ |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar-collapse.collapse{ |
||||||
|
height: 100% !important; |
||||||
|
} |
||||||
|
.navbar-collapse.collapse.in { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
.navbar-header .collapse, .navbar-toggle { |
||||||
|
display:block !important; |
||||||
|
} |
||||||
|
.navbar-header { |
||||||
|
float:none; |
||||||
|
} |
||||||
|
.navbar-nav .show .dropdown-menu { |
||||||
|
position: static; |
||||||
|
float: none; |
||||||
|
width: auto; |
||||||
|
margin-top: 0; |
||||||
|
background-color: transparent; |
||||||
|
border: 0; |
||||||
|
-webkit-box-shadow: none; |
||||||
|
box-shadow: none; |
||||||
|
} |
||||||
|
.navbar-collapse{ |
||||||
|
.navbar-nav p{ |
||||||
|
line-height: 40px !important; |
||||||
|
margin: 0; |
||||||
|
} |
||||||
|
|
||||||
|
[class^="pe-7s-"]{ |
||||||
|
float: left; |
||||||
|
font-size: 20px; |
||||||
|
margin-right: 10px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
//overwrite table responsive for 768px screens |
||||||
|
|
||||||
|
@media (min-width: 992px){ |
||||||
|
.table-full-width{ |
||||||
|
margin-left: -15px; |
||||||
|
margin-right: -15px; |
||||||
|
} |
||||||
|
.table-responsive{ |
||||||
|
overflow: visible; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@media (max-width: 991px){ |
||||||
|
.table-responsive { |
||||||
|
width: 100%; |
||||||
|
margin-bottom: 15px; |
||||||
|
overflow-x: scroll; |
||||||
|
overflow-y: hidden; |
||||||
|
-ms-overflow-style: -ms-autohiding-scrollbar; |
||||||
|
-webkit-overflow-scrolling: touch; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,430 @@ |
|||||||
|
.sidebar, |
||||||
|
body > .navbar-collapse{ |
||||||
|
position: absolute; |
||||||
|
top: 0; |
||||||
|
bottom: 0; |
||||||
|
left: 0; |
||||||
|
width: 260px; |
||||||
|
display: block; |
||||||
|
z-index: 1; |
||||||
|
color: #fff; |
||||||
|
font-weight: 200; |
||||||
|
background-size: cover; |
||||||
|
background-position: center center; |
||||||
|
|
||||||
|
.sidebar-wrapper{ |
||||||
|
position: relative; |
||||||
|
max-height: calc(100vh - 75px); |
||||||
|
min-height: 100%; |
||||||
|
overflow: auto; |
||||||
|
width: 260px; |
||||||
|
z-index: 4; |
||||||
|
padding-bottom: 100px; |
||||||
|
} |
||||||
|
|
||||||
|
.sidebar-background{ |
||||||
|
position: absolute; |
||||||
|
z-index: 1; |
||||||
|
height: 100%; |
||||||
|
width: 100%; |
||||||
|
display: block; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
background-size: cover; |
||||||
|
background-position: center center; |
||||||
|
} |
||||||
|
|
||||||
|
.logo{ |
||||||
|
padding: 10px 5px; |
||||||
|
margin: 0 20px; |
||||||
|
|
||||||
|
border-bottom: 1px solid rgba(255, 255, 255, 0.2); |
||||||
|
position: relative; |
||||||
|
z-index: 4; |
||||||
|
|
||||||
|
p{ |
||||||
|
float: left; |
||||||
|
font-size: 20px; |
||||||
|
margin: 10px 10px; |
||||||
|
color: $white-color; |
||||||
|
line-height: 20px; |
||||||
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; |
||||||
|
} |
||||||
|
|
||||||
|
.simple-text{ |
||||||
|
text-transform: uppercase; |
||||||
|
padding: $padding-zero; |
||||||
|
display: block; |
||||||
|
font-size: $font-size-large; |
||||||
|
color: $white-color; |
||||||
|
text-align: left; |
||||||
|
font-weight: $font-weight-normal; |
||||||
|
line-height: 40px; |
||||||
|
|
||||||
|
.logo-img{ |
||||||
|
width: 40px; |
||||||
|
display: inline-block; |
||||||
|
height: 40px; |
||||||
|
margin-left: 0px; |
||||||
|
margin-right: 10px; |
||||||
|
background: white; |
||||||
|
border-radius: 40px; |
||||||
|
text-align: center; |
||||||
|
|
||||||
|
img{ |
||||||
|
max-width: 21px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.logo-tim{ |
||||||
|
border-radius: 50%; |
||||||
|
border: 1px solid #333; |
||||||
|
display: block; |
||||||
|
height: 61px; |
||||||
|
width: 61px; |
||||||
|
float: left; |
||||||
|
overflow: hidden; |
||||||
|
|
||||||
|
img{ |
||||||
|
width: 60px; |
||||||
|
height: 60px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.nav{ |
||||||
|
margin-top: 20px; |
||||||
|
float: none; |
||||||
|
display: block; |
||||||
|
|
||||||
|
li{ |
||||||
|
.nav-link{ |
||||||
|
color: $white-color; |
||||||
|
margin: 5px 15px; |
||||||
|
opacity: .86; |
||||||
|
border-radius: 4px; |
||||||
|
display: block; |
||||||
|
padding: 10px 15px; |
||||||
|
|
||||||
|
&:hover{ |
||||||
|
background: rgba(255, 255, 255, 0.13); |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
p{ |
||||||
|
margin: 0; |
||||||
|
line-height: 31px; |
||||||
|
font-size: 12px; |
||||||
|
font-weight: 600; |
||||||
|
text-transform: uppercase; |
||||||
|
display: inline-flex; |
||||||
|
} |
||||||
|
|
||||||
|
i{ |
||||||
|
font-size: 28px; |
||||||
|
margin-right: 15px; |
||||||
|
width: 30px; |
||||||
|
text-align: center; |
||||||
|
vertical-align: middle; |
||||||
|
float: left; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&:hover .nav-link{ |
||||||
|
background: rgba(255,255,255,0.13); |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
&.active .nav-link{ |
||||||
|
color: $white-color; |
||||||
|
opacity: 1; |
||||||
|
background: rgba(255,255,255,0.23); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
&.separator{ |
||||||
|
margin: 15px 0; |
||||||
|
border-bottom: 1px solid rgba(255, 255, 255, 0.2); |
||||||
|
|
||||||
|
& + .nav-item { |
||||||
|
margin-top: 31px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.caret{ |
||||||
|
margin-top: 13px; |
||||||
|
position: absolute; |
||||||
|
right: 30px; |
||||||
|
} |
||||||
|
|
||||||
|
.active-pro{ |
||||||
|
position: absolute; |
||||||
|
width: 100%; |
||||||
|
bottom: 10px; |
||||||
|
|
||||||
|
a{ |
||||||
|
color: $white-color !important; |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.nav-link{ |
||||||
|
color: $white-color; |
||||||
|
margin: 5px 15px; |
||||||
|
opacity: .86; |
||||||
|
border-radius: 4px; |
||||||
|
text-transform: uppercase; |
||||||
|
line-height: 30px; |
||||||
|
font-size: 12px; |
||||||
|
font-weight: 600; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.logo-tim{ |
||||||
|
border-radius: 50%; |
||||||
|
border: 1px solid #333; |
||||||
|
display: block; |
||||||
|
height: 61px; |
||||||
|
width: 61px; |
||||||
|
float: left; |
||||||
|
overflow: hidden; |
||||||
|
|
||||||
|
img{ |
||||||
|
width: 60px; |
||||||
|
height: 60px; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&:after, |
||||||
|
&:before{ |
||||||
|
display: block; |
||||||
|
content: ""; |
||||||
|
position: absolute; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
z-index: 2; |
||||||
|
} |
||||||
|
|
||||||
|
&:before{ |
||||||
|
opacity: .33; |
||||||
|
background: #000000; |
||||||
|
} |
||||||
|
|
||||||
|
&:after{ |
||||||
|
@include icon-gradient($new-purple, $purple-color-bottom); |
||||||
|
z-index: 3; |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
&[data-image]:after, |
||||||
|
&.has-image:after{ |
||||||
|
opacity: .77; |
||||||
|
} |
||||||
|
|
||||||
|
&[data-color="black"]:after{ |
||||||
|
@include icon-gradient($black-color-filter-top, $black-color-filter-bottom); |
||||||
|
} |
||||||
|
&[data-color="blue"]:after{ |
||||||
|
@include icon-gradient($new-dark-blue, $blue-color-bottom); |
||||||
|
} |
||||||
|
&[data-color="azure"]:after{ |
||||||
|
@include icon-gradient($new-blue, $azure-color-bottom); |
||||||
|
} |
||||||
|
&[data-color="green"]:after{ |
||||||
|
@include icon-gradient($new-green, $green-color-bottom); |
||||||
|
} |
||||||
|
&[data-color="orange"]:after{ |
||||||
|
@include icon-gradient($new-orange, $orange-color-bottom); |
||||||
|
} |
||||||
|
&[data-color="red"]:after{ |
||||||
|
@include icon-gradient($new-red, $red-color-bottom); |
||||||
|
} |
||||||
|
&[data-color="purple"]:after{ |
||||||
|
@include icon-gradient($new-purple, $purple-color-bottom); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.main-panel{ |
||||||
|
background: rgba(203,203,210,.15); |
||||||
|
position: relative; |
||||||
|
float: right; |
||||||
|
width: $sidebar-width; |
||||||
|
min-height: 100%; |
||||||
|
|
||||||
|
> .content{ |
||||||
|
padding: 30px 15px; |
||||||
|
min-height: calc(100% - 123px); |
||||||
|
} |
||||||
|
|
||||||
|
> .footer{ |
||||||
|
border-top: 1px solid #e7e7e7; |
||||||
|
} |
||||||
|
|
||||||
|
.navbar{ |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.sidebar, |
||||||
|
.main-panel{ |
||||||
|
overflow: auto; |
||||||
|
max-height: 100%; |
||||||
|
height: 100%; |
||||||
|
-webkit-transition-property: top,bottom; |
||||||
|
transition-property: top,bottom; |
||||||
|
-webkit-transition-duration: .2s,.2s; |
||||||
|
transition-duration: .2s,.2s; |
||||||
|
-webkit-transition-timing-function: linear,linear; |
||||||
|
transition-timing-function: linear,linear; |
||||||
|
-webkit-overflow-scrolling: touch; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
.fixed-plugin{ |
||||||
|
|
||||||
|
.dropdown{ |
||||||
|
.dropdown-menu{ |
||||||
|
@include transform-translate-3d-0(-5%); |
||||||
|
border-radius: 10px; |
||||||
|
li.adjustments-line{ |
||||||
|
border-bottom: 1px solid #ddd; |
||||||
|
} |
||||||
|
li{ |
||||||
|
padding: 5px 2px !important; |
||||||
|
} |
||||||
|
.button-container{ |
||||||
|
a{ |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
&.show{ |
||||||
|
@include transform-translate-3d-0(0%); |
||||||
|
transform-origin: 0 0; |
||||||
|
left: -303px !important; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
.fixed-plugin .dropdown .dropdown-menu{ |
||||||
|
@include transform-translate-y-dropdown(-5%); |
||||||
|
top: -40px !important; |
||||||
|
opacity: 0; |
||||||
|
left: -303px !important; |
||||||
|
transform-origin: 0 0; |
||||||
|
} |
||||||
|
.fixed-plugin .dropdown.show .dropdown-menu{ |
||||||
|
opacity: 1; |
||||||
|
@include transform-translate-y-dropdown(0%); |
||||||
|
transform-origin: 0 0; |
||||||
|
left: -303px !important; |
||||||
|
} |
||||||
|
|
||||||
|
.fixed-plugin .dropdown-menu:before, |
||||||
|
.fixed-plugin .dropdown-menu:after{ |
||||||
|
content: ""; |
||||||
|
display: inline-block; |
||||||
|
position: absolute; |
||||||
|
top: 65px; |
||||||
|
width: 16px; |
||||||
|
transform: translateY(-50%); |
||||||
|
-webkit-transform: translateY(-50%); |
||||||
|
-moz-transform: translateY(-50%); |
||||||
|
|
||||||
|
} |
||||||
|
.fixed-plugin .dropdown-menu:before{ |
||||||
|
border-bottom: 16px solid rgba(0, 0, 0, 0); |
||||||
|
border-left: 16px solid rgba(0,0,0,0.2); |
||||||
|
border-top: 16px solid rgba(0,0,0,0); |
||||||
|
right: -16px; |
||||||
|
} |
||||||
|
|
||||||
|
.fixed-plugin .dropdown-menu:after{ |
||||||
|
border-bottom: 16px solid rgba(0, 0, 0, 0); |
||||||
|
border-left: 16px solid #fff; |
||||||
|
border-top: 16px solid rgba(0,0,0,0); |
||||||
|
right: -15px; |
||||||
|
} |
||||||
|
|
||||||
|
.modal{ |
||||||
|
&.show{ |
||||||
|
.modal-dialog{ |
||||||
|
-webkit-transform: translate(0, 30%); |
||||||
|
-o-transform: translate(0, 30%); |
||||||
|
transform: translate(0, 30%); |
||||||
|
} |
||||||
|
} |
||||||
|
&.modal-mini{ |
||||||
|
.modal-dialog{ |
||||||
|
max-width: 255px; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
} |
||||||
|
.modal-content{ |
||||||
|
.modal-header{ |
||||||
|
border-bottom: none; |
||||||
|
padding-top: 24px; |
||||||
|
padding-right: 24px; |
||||||
|
padding-bottom: 0; |
||||||
|
padding-left: 24px; |
||||||
|
|
||||||
|
.modal-profile{ |
||||||
|
width: 80px; |
||||||
|
height: 80px; |
||||||
|
border-radius: 50%; |
||||||
|
text-align: center; |
||||||
|
line-height: 5.7; |
||||||
|
box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.3); |
||||||
|
|
||||||
|
i{ |
||||||
|
font-size: 32px; |
||||||
|
padding-top: 24px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.modal-body{ |
||||||
|
padding-top: 24px; |
||||||
|
padding-right: 24px; |
||||||
|
padding-bottom: 16px; |
||||||
|
padding-left: 24px; |
||||||
|
line-height: 1.9; |
||||||
|
} |
||||||
|
|
||||||
|
.modal-body + .modal-footer{ |
||||||
|
padding-top: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.modal-footer{ |
||||||
|
border-top: none; |
||||||
|
padding-right: 24px; |
||||||
|
padding-bottom: 16px; |
||||||
|
padding-left: 24px; |
||||||
|
-webkit-justify-content: space-between; |
||||||
|
justify-content: space-between; |
||||||
|
|
||||||
|
.btn{ |
||||||
|
margin: 0; |
||||||
|
padding-left: 16px; |
||||||
|
padding-right: 16px; |
||||||
|
width: auto; |
||||||
|
|
||||||
|
&:hover, |
||||||
|
&focus{ |
||||||
|
text-decoration: none; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,73 @@ |
|||||||
|
.table{ |
||||||
|
|
||||||
|
.radio, |
||||||
|
.checkbox{ |
||||||
|
position: relative; |
||||||
|
height: 20px; |
||||||
|
display: block; |
||||||
|
width: 20px; |
||||||
|
padding: 0px 0px; |
||||||
|
margin: 0px 5px; |
||||||
|
text-align: center; |
||||||
|
|
||||||
|
.icons{ |
||||||
|
left: 5px; |
||||||
|
} |
||||||
|
} |
||||||
|
> thead > tr > th, |
||||||
|
> tbody > tr > th, |
||||||
|
> tfoot > tr > th, |
||||||
|
> thead > tr > td, |
||||||
|
> tbody > tr > td, |
||||||
|
> tfoot > tr > td{ |
||||||
|
padding: 12px 8px; |
||||||
|
vertical-align: middle; |
||||||
|
} |
||||||
|
|
||||||
|
> thead > tr > th{ |
||||||
|
border-bottom-width: 1px; |
||||||
|
font-size: $font-size-small; |
||||||
|
text-transform: uppercase; |
||||||
|
color: $dark-gray; |
||||||
|
font-weight: $font-weight-normal; |
||||||
|
padding-bottom: 5px; |
||||||
|
border-top: none !important; |
||||||
|
border-bottom: none; |
||||||
|
text-align: left !important; |
||||||
|
} |
||||||
|
|
||||||
|
.td-actions .btn{ |
||||||
|
@include opacity(0.36); |
||||||
|
|
||||||
|
&.btn-xs{ |
||||||
|
padding-left: 3px; |
||||||
|
padding-right: 3px; |
||||||
|
} |
||||||
|
} |
||||||
|
.td-actions{ |
||||||
|
min-width: 90px; |
||||||
|
} |
||||||
|
|
||||||
|
> tbody > tr{ |
||||||
|
position: relative; |
||||||
|
|
||||||
|
&:hover{ |
||||||
|
.td-actions .btn{ |
||||||
|
@include opacity(1); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.btn:focus{ |
||||||
|
box-shadow: none !important; |
||||||
|
} |
||||||
|
} |
||||||
|
.table-upgrade{ |
||||||
|
.table{ |
||||||
|
tr{ |
||||||
|
td{ |
||||||
|
width: 100% |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,91 @@ |
|||||||
|
.tooltip { |
||||||
|
display: block !important; |
||||||
|
z-index: 10000; |
||||||
|
|
||||||
|
.tooltip-inner { |
||||||
|
background: black; |
||||||
|
color: white; |
||||||
|
padding: 3px 6px 3px; |
||||||
|
} |
||||||
|
|
||||||
|
.tooltip-arrow { |
||||||
|
width: 0; |
||||||
|
height: 0; |
||||||
|
border-style: solid; |
||||||
|
position: absolute; |
||||||
|
margin: 5px; |
||||||
|
border-color: black; |
||||||
|
} |
||||||
|
|
||||||
|
&[x-placement^="top"] { |
||||||
|
margin-bottom: 5px; |
||||||
|
|
||||||
|
.tooltip-arrow { |
||||||
|
border-width: 5px 5px 0 5px; |
||||||
|
border-left-color: transparent !important; |
||||||
|
border-right-color: transparent !important; |
||||||
|
border-bottom-color: transparent !important; |
||||||
|
bottom: -5px; |
||||||
|
left: calc(50% - 5px); |
||||||
|
margin-top: 0; |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&[x-placement^="bottom"] { |
||||||
|
margin-top: 5px; |
||||||
|
|
||||||
|
.tooltip-arrow { |
||||||
|
border-width: 0 5px 5px 5px; |
||||||
|
border-left-color: transparent !important; |
||||||
|
border-right-color: transparent !important; |
||||||
|
border-top-color: transparent !important; |
||||||
|
top: -5px; |
||||||
|
left: calc(50% - 5px); |
||||||
|
margin-top: 0; |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&[x-placement^="right"] { |
||||||
|
margin-left: 5px; |
||||||
|
|
||||||
|
.tooltip-arrow { |
||||||
|
border-width: 5px 5px 5px 0; |
||||||
|
border-left-color: transparent !important; |
||||||
|
border-top-color: transparent !important; |
||||||
|
border-bottom-color: transparent !important; |
||||||
|
left: -5px; |
||||||
|
top: calc(50% - 5px); |
||||||
|
margin-left: 0; |
||||||
|
margin-right: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&[x-placement^="left"] { |
||||||
|
margin-right: 5px; |
||||||
|
|
||||||
|
.tooltip-arrow { |
||||||
|
border-width: 5px 0 5px 5px; |
||||||
|
border-top-color: transparent !important; |
||||||
|
border-right-color: transparent !important; |
||||||
|
border-bottom-color: transparent !important; |
||||||
|
right: -5px; |
||||||
|
top: calc(50% - 5px); |
||||||
|
margin-left: 0; |
||||||
|
margin-right: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&[aria-hidden='true'] { |
||||||
|
visibility: hidden; |
||||||
|
opacity: 0; |
||||||
|
transition: opacity .15s, visibility .15s; |
||||||
|
} |
||||||
|
|
||||||
|
&[aria-hidden='false'] { |
||||||
|
visibility: visible; |
||||||
|
opacity: 1; |
||||||
|
transition: opacity .15s; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,90 @@ |
|||||||
|
/* Font Smoothing */ |
||||||
|
body, |
||||||
|
h1, .h1, |
||||||
|
h2, .h2, |
||||||
|
h3, .h3, |
||||||
|
h4, .h4, |
||||||
|
h5, .h5, |
||||||
|
h6, .h6, |
||||||
|
p, |
||||||
|
.navbar, |
||||||
|
.brand, |
||||||
|
.btn-simple, |
||||||
|
.alert, |
||||||
|
a, |
||||||
|
.td-name, |
||||||
|
td, |
||||||
|
button.close{ |
||||||
|
-moz-osx-font-smoothing: grayscale; |
||||||
|
-webkit-font-smoothing: antialiased; |
||||||
|
font-family: "Roboto","Helvetica Neue",Arial,sans-serif; |
||||||
|
font-weight: $font-weight-normal; |
||||||
|
} |
||||||
|
|
||||||
|
h1, .h1, h2, .h2, h3, .h3, h4, .h4{ |
||||||
|
font-weight: $font-weight-light; |
||||||
|
margin: $margin-large-vertical 0 $margin-base-vertical; |
||||||
|
} |
||||||
|
|
||||||
|
h1, .h1 { |
||||||
|
font-size: $font-size-h1; |
||||||
|
} |
||||||
|
h2, .h2{ |
||||||
|
font-size: $font-size-h2; |
||||||
|
} |
||||||
|
h3, .h3{ |
||||||
|
font-size: $font-size-h3; |
||||||
|
margin: 20px 0 10px; |
||||||
|
} |
||||||
|
h4, .h4{ |
||||||
|
font-size: $font-size-h4; |
||||||
|
line-height: 30px; |
||||||
|
} |
||||||
|
h5, .h5 { |
||||||
|
font-size: $font-size-h5; |
||||||
|
margin-bottom: 15px; |
||||||
|
} |
||||||
|
h6, .h6{ |
||||||
|
font-size: $font-size-h6; |
||||||
|
font-weight: $font-weight-bold; |
||||||
|
text-transform: uppercase; |
||||||
|
} |
||||||
|
p{ |
||||||
|
font-size: $font-paragraph; |
||||||
|
line-height: $line-height-general; |
||||||
|
} |
||||||
|
|
||||||
|
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { |
||||||
|
color: $dark-gray; |
||||||
|
font-weight: $font-weight-light; |
||||||
|
line-height: $line-height-general; |
||||||
|
} |
||||||
|
|
||||||
|
h1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small { |
||||||
|
font-size: 60%; |
||||||
|
} |
||||||
|
|
||||||
|
h1 .subtitle{ |
||||||
|
display: block; |
||||||
|
margin: 0 0 $margin-large-vertical; |
||||||
|
} |
||||||
|
|
||||||
|
.text-muted{ |
||||||
|
color: #9A9A9A; |
||||||
|
} |
||||||
|
.text-primary, .text-primary:hover{ |
||||||
|
color: #1D62F0 !important; |
||||||
|
} |
||||||
|
.text-info, .text-info:hover{ |
||||||
|
color: $info-color !important; |
||||||
|
} |
||||||
|
.text-success, .text-success:hover{ |
||||||
|
color: $success-color !important; |
||||||
|
} |
||||||
|
.text-warning, .text-warning:hover{ |
||||||
|
color: $warning-color !important; |
||||||
|
} |
||||||
|
.text-danger, .text-danger:hover{ |
||||||
|
color: $danger-color !important; |
||||||
|
} |
||||||
|
|
@ -0,0 +1,265 @@ |
|||||||
|
//== Buttons |
||||||
|
// |
||||||
|
//## For each of Bootstrap's buttons, define text, background and border color. |
||||||
|
|
||||||
|
$none: 0 !default; |
||||||
|
$border-thin: 1px !default; |
||||||
|
$border-thick: 2px !default; |
||||||
|
|
||||||
|
$white-color: #FFFFFF !default; |
||||||
|
$white-bg: #FFFFFF !default; |
||||||
|
|
||||||
|
$smoke-bg: #F5F5F5 !default; |
||||||
|
|
||||||
|
$black-bg: rgba(30,30,30,.97) !default; |
||||||
|
|
||||||
|
$black-color: #333333 !default; |
||||||
|
$black-hr: #444444 !default; |
||||||
|
|
||||||
|
$light-gray: #E3E3E3 !default; |
||||||
|
$medium-gray: #DDDDDD !default; |
||||||
|
$medium-dark-gray: #AAAAAA !default; |
||||||
|
$dark-gray: #9A9A9A !default; |
||||||
|
|
||||||
|
$transparent-bg: transparent !default; |
||||||
|
|
||||||
|
$default-color: #888888 !default; |
||||||
|
$default-bg: #888888 !default; |
||||||
|
$default-states-color: #777777 !default; |
||||||
|
|
||||||
|
$primary-color: #3472F7 !default; |
||||||
|
$primary-bg: #3472F7 !default; |
||||||
|
$primary-states-color: #1D62F0 !default; |
||||||
|
|
||||||
|
$success-color: #87CB16 !default; |
||||||
|
$success-bg: #87CB16 !default; |
||||||
|
$success-states-color: #049F0C !default; |
||||||
|
|
||||||
|
$info-color: #1DC7EA !default; |
||||||
|
$info-bg: #1DC7EA !default; |
||||||
|
$info-states-color: lighten($info-color, 8%) !default; |
||||||
|
|
||||||
|
$warning-color: #FF9500 !default; |
||||||
|
$warning-bg: #FF9500 !default; |
||||||
|
$warning-states-color: #ED8D00 !default; |
||||||
|
|
||||||
|
|
||||||
|
$danger-color: #FF4A55 !default; |
||||||
|
$danger-bg: #FF4A55 !default; |
||||||
|
$danger-states-color: #EE2D20 !default; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$link-disabled-color: #666666 !default; |
||||||
|
|
||||||
|
|
||||||
|
/* light colors */ |
||||||
|
$light-blue: rgba($primary-color, .2); |
||||||
|
$light-azure: rgba($info-color, .2); |
||||||
|
$light-green: rgba($success-color, .2); |
||||||
|
$light-orange: rgba($warning-color, .2); |
||||||
|
$light-red: rgba($danger-color, .2); |
||||||
|
|
||||||
|
|
||||||
|
//== Components |
||||||
|
// |
||||||
|
|
||||||
|
$padding-base-vertical: 8px !default; |
||||||
|
$padding-base-horizontal: 16px !default; |
||||||
|
|
||||||
|
$padding-round-vertical: 9px !default; |
||||||
|
$padding-round-horizontal: 18px !default; |
||||||
|
|
||||||
|
$padding-simple-vertical: 10px !default; |
||||||
|
$padding-simple-horizontal: 18px !default; |
||||||
|
|
||||||
|
$padding-large-vertical: 14px !default; |
||||||
|
$padding-large-horizontal: 30px !default; |
||||||
|
|
||||||
|
$padding-small-vertical: 5px !default; |
||||||
|
$padding-small-horizontal: 10px !default; |
||||||
|
|
||||||
|
$padding-xs-vertical: 1px !default; |
||||||
|
$padding-xs-horizontal: 5px !default; |
||||||
|
|
||||||
|
$padding-label-vertical: 2px !default; |
||||||
|
$padding-label-horizontal: 12px !default; |
||||||
|
|
||||||
|
$margin-large-vertical: 30px !default; |
||||||
|
$margin-base-vertical: 15px !default; |
||||||
|
|
||||||
|
$padding-zero: 0px !default; |
||||||
|
|
||||||
|
$margin-bottom: 0 0 10px 0 !default; |
||||||
|
$border-radius-small: 3px !default; |
||||||
|
$border-radius-base: 4px !default; |
||||||
|
$border-radius-large: 6px !default; |
||||||
|
$border-radius-extreme: 10px !default; |
||||||
|
|
||||||
|
$border-radius-large-top: $border-radius-large $border-radius-large 0 0 !default; |
||||||
|
$border-radius-large-bottom: 0 0 $border-radius-large $border-radius-large !default; |
||||||
|
|
||||||
|
$btn-round-radius: 30px !default; |
||||||
|
|
||||||
|
$height-base: 40px !default; |
||||||
|
|
||||||
|
$font-size-base: 14px !default; |
||||||
|
$font-size-small: 12px !default; |
||||||
|
$font-size-medium: 16px !default; |
||||||
|
$font-size-large: 18px !default; |
||||||
|
$font-size-large-navbar: 20px !default; |
||||||
|
|
||||||
|
$font-size-h1: 52px !default; |
||||||
|
$font-size-h2: 36px !default; |
||||||
|
$font-size-h3: 28px !default; |
||||||
|
$font-size-h4: 22px !default; |
||||||
|
$font-size-h5: 16px !default; |
||||||
|
$font-size-h6: 14px !default; |
||||||
|
$font-paragraph: 16px !default; |
||||||
|
$font-size-navbar: 16px !default; |
||||||
|
$font-size-small: 12px !default; |
||||||
|
|
||||||
|
$font-weight-light: 300 !default; |
||||||
|
$font-weight-normal: 400 !default; |
||||||
|
$font-weight-semi: 500 !default; |
||||||
|
$font-weight-bold: 600 !default; |
||||||
|
|
||||||
|
$line-height-general: 1.5 !default; |
||||||
|
$line-height: 20px !default; |
||||||
|
$line-height-lg: 54px !default; |
||||||
|
|
||||||
|
$sidebar-width: calc(100% - 260px) !default; |
||||||
|
|
||||||
|
|
||||||
|
$border-radius-top: 10px 10px 0 0 !default; |
||||||
|
$border-radius-bottom: 0 0 10px 10px !default; |
||||||
|
|
||||||
|
$dropdown-shadow: 1px 2px 3px rgba(0, 0, 0, 0.125); |
||||||
|
|
||||||
|
$general-transition-time: 300ms !default; |
||||||
|
|
||||||
|
$slow-transition-time: 370ms !default; |
||||||
|
$dropdown-coordinates: 29px -50px !default; |
||||||
|
|
||||||
|
$fast-transition-time: 150ms !default; |
||||||
|
|
||||||
|
$ultra-fast-transition-time: 100ms !default; |
||||||
|
|
||||||
|
$select-coordinates: 50% -40px !default; |
||||||
|
|
||||||
|
$transition-linear: linear !default; |
||||||
|
$transition-bezier: cubic-bezier(0.34, 1.61, 0.7, 1) !default; |
||||||
|
$transition-ease: ease 0s; |
||||||
|
$transition-ease-in: ease-in !default; |
||||||
|
$transition-ease-out: ease-out !default; |
||||||
|
|
||||||
|
|
||||||
|
$navbar-padding-a: 10px 15px; |
||||||
|
$navbar-margin-a: 10px 3px; |
||||||
|
|
||||||
|
$padding-social-a: 10px 5px; |
||||||
|
|
||||||
|
$navbar-margin-a-btn: 15px 3px; |
||||||
|
$navbar-margin-a-btn-round: 16px 3px; |
||||||
|
|
||||||
|
$navbar-padding-a-icons: 6px 15px; |
||||||
|
$navbar-margin-a-icons: 6px 3px; |
||||||
|
|
||||||
|
$navbar-padding-brand: 15px 15px; |
||||||
|
$navbar-margin-brand: 5px 0px; |
||||||
|
|
||||||
|
$navbar-margin-brand-icons: 12px auto; |
||||||
|
|
||||||
|
$navbar-margin-btn: 15px 3px; |
||||||
|
|
||||||
|
$height-icon: 64px !default; |
||||||
|
$width-icon: 64px !default; |
||||||
|
$padding-icon: 12px !default; |
||||||
|
$border-radius-icon: 15px !default; |
||||||
|
|
||||||
|
$size-icon: 64px; |
||||||
|
$size-icon-sm: 32px; |
||||||
|
|
||||||
|
|
||||||
|
$height-icon-sm: 32px; |
||||||
|
$width-icon-sm: 32px; |
||||||
|
$padding-icon-sm: 4px; |
||||||
|
$border-radius-icon-sm: 7px; |
||||||
|
|
||||||
|
$height-icon-message: 40px; |
||||||
|
$width-icon-message: 40px; |
||||||
|
|
||||||
|
$height-icon-message-sm: 20px; |
||||||
|
$width-icon-message-sm: 20px; |
||||||
|
|
||||||
|
$default-color-top: #d9d9d9 !default; |
||||||
|
$default-color-bottom: #909297 !default; |
||||||
|
|
||||||
|
$blue-color-top: #40B782; |
||||||
|
$blue-color-bottom: #40B782; |
||||||
|
|
||||||
|
$azure-color-top: #45c0fd; |
||||||
|
$azure-color-bottom: #4091ff; |
||||||
|
|
||||||
|
$green-color-top: #a1eb3a; |
||||||
|
$green-color-bottom: #6dc030; |
||||||
|
|
||||||
|
$orange-color-top: #ffb33b; |
||||||
|
$orange-color-bottom: #ff5221; |
||||||
|
|
||||||
|
$red-color-top: #ff3b30; |
||||||
|
$red-color-bottom: #bb0502; |
||||||
|
|
||||||
|
$purple-color-top: #df55e1; |
||||||
|
$purple-color-bottom: #943bea; |
||||||
|
|
||||||
|
$pink-color-top: #ff2a63; |
||||||
|
$pink-color-bottom: #ff2e2e; |
||||||
|
|
||||||
|
$black-color-top: #787878; |
||||||
|
$black-color-bottom: #343434; |
||||||
|
|
||||||
|
$black-color-filter-top: #292929; |
||||||
|
$black-color-filter-bottom: #0e0e0e; |
||||||
|
|
||||||
|
$social-facebook: #3b5998; |
||||||
|
$social-twitter: #55acee; |
||||||
|
$social-pinterest: #cc2127; |
||||||
|
$social-google: #dd4b39; |
||||||
|
$social-linkedin: #0976b4; |
||||||
|
$social-dribbble: #ea4c89; |
||||||
|
$social-github: #333333; |
||||||
|
$social-youtube: #e52d27; |
||||||
|
$social-stumbleupon: #eb4924; |
||||||
|
$social-reddit: #ff4500; |
||||||
|
$social-tumblr: #35465c; |
||||||
|
$social-behance: #1769ff; |
||||||
|
|
||||||
|
|
||||||
|
$filter-blue: darken($primary-color, 10%); |
||||||
|
$filter-azure: darken($info-color, 10%); |
||||||
|
$filter-green: darken($success-color, 10%); |
||||||
|
$filter-orange: darken($warning-color, 10%); |
||||||
|
$filter-red: darken($danger-color, 10%); |
||||||
|
|
||||||
|
|
||||||
|
$new-blue: #1DC7EA; |
||||||
|
$new-purple: #9368E9; |
||||||
|
$new-red: #FB404B; |
||||||
|
$new-green: #87CB16; |
||||||
|
$new-orange: #FFA534; |
||||||
|
$new-dark-blue: #35495E; |
||||||
|
$new-black: #5e5e5e; |
||||||
|
|
||||||
|
$topbar-x: topbar-x !default; |
||||||
|
$topbar-back: topbar-back !default; |
||||||
|
$bottombar-x: bottombar-x !default; |
||||||
|
$bottombar-back: bottombar-back !default; |
||||||
|
|
||||||
|
|
||||||
|
$white-navbar: rgba(#FFFFFF, .96); |
||||||
|
$blue-navbar: lighten($new-dark-blue, 10%); |
||||||
|
$azure-navbar: lighten($new-blue, 15%); |
||||||
|
$green-navbar: lighten($new-green, 10%); |
||||||
|
$orange-navbar: lighten($new-orange, 10%); |
||||||
|
$red-navbar: lighten($new-red, 10%); |
@ -0,0 +1,70 @@ |
|||||||
|
// Mixin for generating new styles |
||||||
|
@mixin btn-styles($btn-color, $btn-states-color) { |
||||||
|
border-color: $btn-color; |
||||||
|
color: $btn-color; |
||||||
|
|
||||||
|
&:hover, |
||||||
|
&:focus, |
||||||
|
&:active, |
||||||
|
&.active, |
||||||
|
.open > &.dropdown-toggle { |
||||||
|
background-color: $transparent-bg; |
||||||
|
color: $btn-states-color; |
||||||
|
border-color: $btn-states-color; |
||||||
|
} |
||||||
|
|
||||||
|
&.disabled, |
||||||
|
&:disabled, |
||||||
|
&[disabled], |
||||||
|
fieldset[disabled] & { |
||||||
|
&, |
||||||
|
&:hover, |
||||||
|
&:focus, |
||||||
|
&.focus, |
||||||
|
&:active, |
||||||
|
&.active { |
||||||
|
background-color: $transparent-bg; |
||||||
|
border-color: $btn-color; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
&.btn-fill { |
||||||
|
color: $white-color; |
||||||
|
background-color: $btn-color; |
||||||
|
@include opacity(1); |
||||||
|
|
||||||
|
&:hover, |
||||||
|
&:focus, |
||||||
|
&:active, |
||||||
|
&.active, |
||||||
|
.open > &.dropdown-toggle{ |
||||||
|
background-color: $btn-states-color; |
||||||
|
color: $white-color; |
||||||
|
} |
||||||
|
|
||||||
|
.caret{ |
||||||
|
border-top-color: $white-color; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.caret{ |
||||||
|
border-top-color: $btn-color; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@mixin btn-size($padding-vertical, $padding-horizontal, $font-size, $border){ |
||||||
|
font-size: $font-size; |
||||||
|
border-radius: $border; |
||||||
|
padding: $padding-vertical $padding-horizontal; |
||||||
|
|
||||||
|
&.btn-round{ |
||||||
|
padding: $padding-vertical + 1 $padding-horizontal; |
||||||
|
} |
||||||
|
|
||||||
|
&.btn-simple{ |
||||||
|
padding: $padding-vertical + 2 $padding-horizontal; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,8 @@ |
|||||||
|
@mixin filter($color){ |
||||||
|
@if $color == #FFFFFF{ |
||||||
|
background-color: rgba($color,.91); |
||||||
|
} @else { |
||||||
|
background-color: rgba($color,.69); |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,85 @@ |
|||||||
|
// Scales for responsive SVG containers |
||||||
|
$ct-scales: ((1), (15/16), (8/9), (5/6), (4/5), (3/4), (2/3), (5/8), (1/1.618), (3/5), (9/16), (8/15), (1/2), (2/5), (3/8), (1/3), (1/4)) !default; |
||||||
|
$ct-scales-names: (ct-square, ct-minor-second, ct-major-second, ct-minor-third, ct-major-third, ct-perfect-fourth, ct-perfect-fifth, ct-minor-sixth, ct-golden-section, ct-major-sixth, ct-minor-seventh, ct-major-seventh, ct-octave, ct-major-tenth, ct-major-eleventh, ct-major-twelfth, ct-double-octave) !default; |
||||||
|
|
||||||
|
// Class names to be used when generating CSS |
||||||
|
$ct-class-chart: ct-chart !default; |
||||||
|
$ct-class-chart-line: ct-chart-line !default; |
||||||
|
$ct-class-chart-bar: ct-chart-bar !default; |
||||||
|
$ct-class-horizontal-bars: ct-horizontal-bars !default; |
||||||
|
$ct-class-chart-pie: ct-chart-pie !default; |
||||||
|
$ct-class-chart-donut: ct-chart-donut !default; |
||||||
|
$ct-class-label: ct-label !default; |
||||||
|
$ct-class-series: ct-series !default; |
||||||
|
$ct-class-line: ct-line !default; |
||||||
|
$ct-class-point: ct-point !default; |
||||||
|
$ct-class-area: ct-area !default; |
||||||
|
$ct-class-bar: ct-bar !default; |
||||||
|
$ct-class-slice-pie: ct-slice-pie !default; |
||||||
|
$ct-class-slice-donut: ct-slice-donut !default; |
||||||
|
$ct-class-grid: ct-grid !default; |
||||||
|
$ct-class-vertical: ct-vertical !default; |
||||||
|
$ct-class-horizontal: ct-horizontal !default; |
||||||
|
$ct-class-start: ct-start !default; |
||||||
|
$ct-class-end: ct-end !default; |
||||||
|
|
||||||
|
// Container ratio |
||||||
|
$ct-container-ratio: (1/1.618) !default; |
||||||
|
|
||||||
|
// Text styles for labels |
||||||
|
$ct-text-color: rgba(0, 0, 0, 0.4) !default; |
||||||
|
$ct-text-size: 1.3rem !default; |
||||||
|
$ct-text-align: flex-start !default; |
||||||
|
$ct-text-justify: flex-start !default; |
||||||
|
$ct-text-line-height: 1; |
||||||
|
|
||||||
|
// Grid styles |
||||||
|
$ct-grid-color: rgba(0, 0, 0, 0.2) !default; |
||||||
|
$ct-grid-dasharray: 2px !default; |
||||||
|
$ct-grid-width: 1px !default; |
||||||
|
|
||||||
|
// Line chart properties |
||||||
|
$ct-line-width: 3px !default; |
||||||
|
$ct-line-dasharray: false !default; |
||||||
|
$ct-point-size: 8px !default; |
||||||
|
// Line chart point, can be either round or square |
||||||
|
$ct-point-shape: round !default; |
||||||
|
// Area fill transparency between 0 and 1 |
||||||
|
$ct-area-opacity: 0.8 !default; |
||||||
|
|
||||||
|
// Bar chart bar width |
||||||
|
$ct-bar-width: 10px !default; |
||||||
|
|
||||||
|
// Donut width (If donut width is to big it can cause issues where the shape gets distorted) |
||||||
|
$ct-donut-width: 60px !default; |
||||||
|
|
||||||
|
// If set to true it will include the default classes and generate CSS output. If you're planning to use the mixins you |
||||||
|
// should set this property to false |
||||||
|
$ct-include-classes: true !default; |
||||||
|
|
||||||
|
// If this is set to true the CSS will contain colored series. You can extend or change the color with the |
||||||
|
// properties below |
||||||
|
$ct-include-colored-series: $ct-include-classes !default; |
||||||
|
|
||||||
|
// If set to true this will include all responsive container variations using the scales defined at the top of the script |
||||||
|
$ct-include-alternative-responsive-containers: $ct-include-classes !default; |
||||||
|
|
||||||
|
// Series names and colors. This can be extended or customized as desired. Just add more series and colors. |
||||||
|
$ct-series-names: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) !default; |
||||||
|
$ct-series-colors: ( |
||||||
|
$new-blue, |
||||||
|
$new-red, |
||||||
|
$new-orange, |
||||||
|
$new-purple, |
||||||
|
$new-green, |
||||||
|
$new-dark-blue, |
||||||
|
$new-black, |
||||||
|
$social-google, |
||||||
|
$social-tumblr, |
||||||
|
$social-youtube, |
||||||
|
$social-twitter, |
||||||
|
$social-pinterest, |
||||||
|
$social-behance, |
||||||
|
#6188e2, |
||||||
|
#a748ca |
||||||
|
) !default; |
@ -0,0 +1,13 @@ |
|||||||
|
@mixin icon-background ($icon-url){ |
||||||
|
background-image : url($icon-url); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@mixin icon-shape ($size, $padding, $border-radius) { |
||||||
|
height: $size; |
||||||
|
width: $size; |
||||||
|
padding: $padding; |
||||||
|
border-radius: $border-radius; |
||||||
|
display: inline-table; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,17 @@ |
|||||||
|
@mixin input-size($padding-vertical, $padding-horizontal, $height){ |
||||||
|
padding: $padding-vertical $padding-horizontal; |
||||||
|
height: $height; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin placeholder($color, $opacity){ |
||||||
|
color: $color; |
||||||
|
@include opacity(1); |
||||||
|
} |
||||||
|
|
||||||
|
@mixin light-form(){ |
||||||
|
border-radius: 0; |
||||||
|
border:0; |
||||||
|
padding: 0; |
||||||
|
background-color: transparent; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,21 @@ |
|||||||
|
@mixin label-style(){ |
||||||
|
padding: $padding-label-vertical $padding-label-horizontal; |
||||||
|
border: 1px solid $default-color; |
||||||
|
border-radius: $border-radius-small; |
||||||
|
color: $default-color; |
||||||
|
font-weight: $font-weight-semi; |
||||||
|
font-size: $font-size-small; |
||||||
|
text-transform: uppercase; |
||||||
|
display: inline-block; |
||||||
|
vertical-align: middle; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin label-color($color){ |
||||||
|
border-color: $color; |
||||||
|
color: $color; |
||||||
|
} |
||||||
|
@mixin label-color-fill($color){ |
||||||
|
border-color: $color; |
||||||
|
color: $white-color; |
||||||
|
background-color: $color; |
||||||
|
} |
@ -0,0 +1,34 @@ |
|||||||
|
$prefixes: ('', '-moz-', '-webkit-', '-ms-') !default; |
||||||
|
|
||||||
|
@mixin circle-animation(){ |
||||||
|
@for $i from 0 to length($prefixes) { |
||||||
|
@include circle-animation-details(nth($prefixes, $i + 1)); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin circle-animation-details($name){ |
||||||
|
#{$name}animation-name: spin; |
||||||
|
#{$name}animation-duration: 1250ms; |
||||||
|
#{$name}animation-iteration-count: infinite; |
||||||
|
#{$name}animation-timing-function: linear; |
||||||
|
|
||||||
|
} |
||||||
|
@keyframes spin { |
||||||
|
from { transform:rotate(0deg); } |
||||||
|
to { transform:rotate(360deg); } |
||||||
|
} |
||||||
|
|
||||||
|
@-webkit-keyframes spin { |
||||||
|
from { -webkit-transform: rotate(0deg); } |
||||||
|
to { -webkit-transform: rotate(360deg); } |
||||||
|
} |
||||||
|
|
||||||
|
@-moz-keyframes spin { |
||||||
|
from { -moz-transform: rotate(0deg); } |
||||||
|
to { -moz-transform: rotate(360deg); } |
||||||
|
} |
||||||
|
|
||||||
|
@-ms-keyframes spin { |
||||||
|
from { -ms-transform: rotate(0deg); } |
||||||
|
to { -ms-transform: rotate(360deg); } |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
@mixin navbar-color($color){ |
||||||
|
background-color: $color; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin center-item(){ |
||||||
|
left: 0; |
||||||
|
right: 0; |
||||||
|
margin-right: auto; |
||||||
|
margin-left: auto; |
||||||
|
position: absolute; |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
@mixin social-buttons-color ($color){ |
||||||
|
|
||||||
|
border-color: $color; |
||||||
|
color: $color; |
||||||
|
|
||||||
|
&:hover, |
||||||
|
&:focus, |
||||||
|
&:active, |
||||||
|
&.active, |
||||||
|
.open > &.dropdown-toggle { |
||||||
|
background-color: $transparent-bg; |
||||||
|
color: $color; |
||||||
|
border-color: $color; |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
&:disabled, |
||||||
|
&[disabled], |
||||||
|
&.disabled { |
||||||
|
background-color: $transparent-bg; |
||||||
|
border-color: $color; |
||||||
|
} |
||||||
|
|
||||||
|
&.btn-fill { |
||||||
|
color: $white-color; |
||||||
|
background-color: $color; |
||||||
|
opacity: 0.9; |
||||||
|
|
||||||
|
&:hover, |
||||||
|
&:focus, |
||||||
|
&:active, |
||||||
|
&.active, |
||||||
|
.open > &.dropdown-toggle{ |
||||||
|
background-color: $color; |
||||||
|
color: $white-color; |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
|
@ -0,0 +1,4 @@ |
|||||||
|
@mixin pill-style($color){ |
||||||
|
border: 1px solid $color; |
||||||
|
color: $color; |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
// Opacity |
||||||
|
|
||||||
|
@mixin opacity($opacity) { |
||||||
|
opacity: $opacity; |
||||||
|
// IE8 filter |
||||||
|
$opacity-ie: ($opacity * 100); |
||||||
|
filter: #{alpha(opacity=$opacity-ie)}; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin black-filter($opacity){ |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
height: 100%; |
||||||
|
width: 100%; |
||||||
|
position: absolute; |
||||||
|
background-color: rgba(17,17,17,$opacity); |
||||||
|
display: block; |
||||||
|
content: ""; |
||||||
|
z-index: 1; |
||||||
|
} |
@ -0,0 +1,211 @@ |
|||||||
|
// User select |
||||||
|
// For selecting text on the page |
||||||
|
|
||||||
|
@mixin user-select($select) { |
||||||
|
-webkit-user-select: $select; |
||||||
|
-moz-user-select: $select; |
||||||
|
-ms-user-select: $select; // IE10+ |
||||||
|
user-select: $select; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin box-shadow($shadow...) { |
||||||
|
-webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1 |
||||||
|
box-shadow: $shadow; |
||||||
|
} |
||||||
|
|
||||||
|
// Box sizing |
||||||
|
@mixin box-sizing($boxmodel) { |
||||||
|
-webkit-box-sizing: $boxmodel; |
||||||
|
-moz-box-sizing: $boxmodel; |
||||||
|
box-sizing: $boxmodel; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@mixin transition($time, $type){ |
||||||
|
-webkit-transition: all $time $type; |
||||||
|
-moz-transition: all $time $type; |
||||||
|
-o-transition: all $time $type; |
||||||
|
-ms-transition: all $time $type; |
||||||
|
transition: all $time $type; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin transform-scale($value){ |
||||||
|
-webkit-transform: scale($value); |
||||||
|
-moz-transform: scale($value); |
||||||
|
-o-transform: scale($value); |
||||||
|
-ms-transform: scale($value); |
||||||
|
transform: scale($value); |
||||||
|
} |
||||||
|
|
||||||
|
@mixin transform-translate-x($value){ |
||||||
|
-webkit-transform: translate3d($value, 0, 0); |
||||||
|
-moz-transform: translate3d($value, 0, 0); |
||||||
|
-o-transform: translate3d($value, 0, 0); |
||||||
|
-ms-transform: translate3d($value, 0, 0); |
||||||
|
transform: translate3d($value, 0, 0); |
||||||
|
} |
||||||
|
|
||||||
|
@mixin transform-translate-3d($value){ |
||||||
|
-webkit-transform: translate3d($value, 0, 0); |
||||||
|
-moz-transform: translate3d($value, 0, 0); |
||||||
|
-o-transform: translate3d($value, 0, 0); |
||||||
|
-ms-transform: translate3d($value, 0, 0); |
||||||
|
transform: translate3d($value, 0, 0) !important; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin transform-translate-y-dropdown($value){ |
||||||
|
-webkit-transform: translate3d(0, $value, 0) !important; |
||||||
|
-moz-transform: translate3d(0, $value, 0) !important; |
||||||
|
-o-transform: translate3d(0, $value, 0) !important; |
||||||
|
-ms-transform: translate3d(0, $value, 0) !important; |
||||||
|
transform: translate3d(0, $value, 0) !important; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin transform-translate-3d-0($value){ |
||||||
|
-webkit-transform: translate3d(0, $value, 0) !important; |
||||||
|
-moz-transform: translate3d(0, $value, 0) !important; |
||||||
|
-o-transform: translate3d(0, $value, 0) !important; |
||||||
|
-ms-transform: translate3d(0, $value, 0) !important; |
||||||
|
transform: translate3d(0, $value, 0) !important; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin transform-origin($coordinates){ |
||||||
|
-webkit-transform-origin: $coordinates; |
||||||
|
-moz-transform-origin: $coordinates; |
||||||
|
-o-transform-origin: $coordinates; |
||||||
|
-ms-transform-origin: $coordinates; |
||||||
|
transform-origin: $coordinates; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin icon-gradient ($top-color, $bottom-color){ |
||||||
|
background: $top-color; |
||||||
|
background: -moz-linear-gradient(top, $top-color 0%, $bottom-color 100%); |
||||||
|
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$top-color), color-stop(100%,$bottom-color)); |
||||||
|
background: -webkit-linear-gradient(top, $top-color 0%,$bottom-color 100%); |
||||||
|
background: -o-linear-gradient(top, $top-color 0%,$bottom-color 100%); |
||||||
|
background: -ms-linear-gradient(top, $top-color 0%,$bottom-color 100%); |
||||||
|
background: linear-gradient(to bottom, $top-color 0%,$bottom-color 100%); |
||||||
|
background-size: 150% 150%; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin radial-gradient($extern-color, $center-color){ |
||||||
|
background: $extern-color; |
||||||
|
background: -moz-radial-gradient(center, ellipse cover, $center-color 0%, $extern-color 100%); /* FF3.6+ */ |
||||||
|
background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,$center-color), color-stop(100%,$extern-color)); /* Chrome,Safari4+ */ |
||||||
|
background: -webkit-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Chrome10+,Safari5.1+ */ |
||||||
|
background: -o-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* Opera 12+ */ |
||||||
|
background: -ms-radial-gradient(center, ellipse cover, $center-color 0%,$extern-color 100%); /* IE10+ */ |
||||||
|
background: radial-gradient(ellipse at center, $center-color 0%,$extern-color 100%); /* W3C */ |
||||||
|
background-size: 550% 450%; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin vertical-align { |
||||||
|
position: relative; |
||||||
|
top: 50%; |
||||||
|
-webkit-transform: translateY(-50%); |
||||||
|
-ms-transform: translateY(-50%); |
||||||
|
transform: translateY(-50%); |
||||||
|
} |
||||||
|
|
||||||
|
@mixin rotate-180(){ |
||||||
|
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); |
||||||
|
-webkit-transform: rotate(180deg); |
||||||
|
-ms-transform: rotate(180deg); |
||||||
|
transform: rotate(180deg); |
||||||
|
} |
||||||
|
|
||||||
|
@mixin bar-animation($type){ |
||||||
|
-webkit-animation: $type 500ms linear 0s; |
||||||
|
-moz-animation: $type 500ms linear 0s; |
||||||
|
animation: $type 500ms 0s; |
||||||
|
-webkit-animation-fill-mode: forwards; |
||||||
|
-moz-animation-fill-mode: forwards; |
||||||
|
animation-fill-mode: forwards; |
||||||
|
} |
||||||
|
|
||||||
|
@mixin topbar-x-rotation(){ |
||||||
|
@keyframes topbar-x { |
||||||
|
0% {top: 0px; transform: rotate(0deg); } |
||||||
|
45% {top: 6px; transform: rotate(145deg); } |
||||||
|
75% {transform: rotate(130deg); } |
||||||
|
100% {transform: rotate(135deg); } |
||||||
|
} |
||||||
|
@-webkit-keyframes topbar-x { |
||||||
|
0% {top: 0px; -webkit-transform: rotate(0deg); } |
||||||
|
45% {top: 6px; -webkit-transform: rotate(145deg); } |
||||||
|
75% {-webkit-transform: rotate(130deg); } |
||||||
|
100% { -webkit-transform: rotate(135deg); } |
||||||
|
} |
||||||
|
@-moz-keyframes topbar-x { |
||||||
|
0% {top: 0px; -moz-transform: rotate(0deg); } |
||||||
|
45% {top: 6px; -moz-transform: rotate(145deg); } |
||||||
|
75% {-moz-transform: rotate(130deg); } |
||||||
|
100% { -moz-transform: rotate(135deg); } |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin topbar-back-rotation(){ |
||||||
|
@keyframes topbar-back { |
||||||
|
0% { top: 6px; transform: rotate(135deg); } |
||||||
|
45% { transform: rotate(-10deg); } |
||||||
|
75% { transform: rotate(5deg); } |
||||||
|
100% { top: 0px; transform: rotate(0); } |
||||||
|
} |
||||||
|
|
||||||
|
@-webkit-keyframes topbar-back { |
||||||
|
0% { top: 6px; -webkit-transform: rotate(135deg); } |
||||||
|
45% { -webkit-transform: rotate(-10deg); } |
||||||
|
75% { -webkit-transform: rotate(5deg); } |
||||||
|
100% { top: 0px; -webkit-transform: rotate(0); } |
||||||
|
} |
||||||
|
|
||||||
|
@-moz-keyframes topbar-back { |
||||||
|
0% { top: 6px; -moz-transform: rotate(135deg); } |
||||||
|
45% { -moz-transform: rotate(-10deg); } |
||||||
|
75% { -moz-transform: rotate(5deg); } |
||||||
|
100% { top: 0px; -moz-transform: rotate(0); } |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin bottombar-x-rotation(){ |
||||||
|
@keyframes bottombar-x { |
||||||
|
0% {bottom: 0px; transform: rotate(0deg);} |
||||||
|
45% {bottom: 6px; transform: rotate(-145deg);} |
||||||
|
75% {transform: rotate(-130deg);} |
||||||
|
100% {transform: rotate(-135deg);} |
||||||
|
} |
||||||
|
@-webkit-keyframes bottombar-x { |
||||||
|
0% {bottom: 0px; -webkit-transform: rotate(0deg);} |
||||||
|
45% {bottom: 6px; -webkit-transform: rotate(-145deg);} |
||||||
|
75% {-webkit-transform: rotate(-130deg);} |
||||||
|
100% {-webkit-transform: rotate(-135deg);} |
||||||
|
} |
||||||
|
@-moz-keyframes bottombar-x { |
||||||
|
0% {bottom: 0px; -moz-transform: rotate(0deg);} |
||||||
|
45% {bottom: 6px; -moz-transform: rotate(-145deg);} |
||||||
|
75% {-moz-transform: rotate(-130deg);} |
||||||
|
100% {-moz-transform: rotate(-135deg);} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@mixin bottombar-back-rotation{ |
||||||
|
@keyframes bottombar-back { |
||||||
|
0% { bottom: 6px;transform: rotate(-135deg);} |
||||||
|
45% { transform: rotate(10deg);} |
||||||
|
75% { transform: rotate(-5deg);} |
||||||
|
100% { bottom: 0px;transform: rotate(0);} |
||||||
|
} |
||||||
|
@-webkit-keyframes bottombar-back { |
||||||
|
0% {bottom: 6px;-webkit-transform: rotate(-135deg);} |
||||||
|
45% {-webkit-transform: rotate(10deg);} |
||||||
|
75% {-webkit-transform: rotate(-5deg);} |
||||||
|
100% {bottom: 0px;-webkit-transform: rotate(0);} |
||||||
|
} |
||||||
|
@-moz-keyframes bottombar-back { |
||||||
|
0% {bottom: 6px;-moz-transform: rotate(-135deg);} |
||||||
|
45% {-moz-transform: rotate(10deg);} |
||||||
|
75% {-moz-transform: rotate(-5deg);} |
||||||
|
100% {bottom: 0px;-moz-transform: rotate(0);} |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,227 @@ |
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// This file was modified by Creative Tim to keep only the animation that we need for Bootstrap Notify |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@charset "UTF-8"; |
||||||
|
|
||||||
|
/*! |
||||||
|
Animate.css - http://daneden.me/animate |
||||||
|
Licensed under the MIT license - http://opensource.org/licenses/MIT |
||||||
|
|
||||||
|
Copyright (c) 2015 Daniel Eden |
||||||
|
*/ |
||||||
|
|
||||||
|
.animated { |
||||||
|
-webkit-animation-duration: 1s; |
||||||
|
animation-duration: 1s; |
||||||
|
-webkit-animation-fill-mode: both; |
||||||
|
animation-fill-mode: both; |
||||||
|
} |
||||||
|
|
||||||
|
.animated.infinite { |
||||||
|
-webkit-animation-iteration-count: infinite; |
||||||
|
animation-iteration-count: infinite; |
||||||
|
} |
||||||
|
|
||||||
|
.animated.hinge { |
||||||
|
-webkit-animation-duration: 2s; |
||||||
|
animation-duration: 2s; |
||||||
|
} |
||||||
|
|
||||||
|
.animated.bounceIn, |
||||||
|
.animated.bounceOut { |
||||||
|
-webkit-animation-duration: .75s; |
||||||
|
animation-duration: .75s; |
||||||
|
} |
||||||
|
|
||||||
|
.animated.flipOutX, |
||||||
|
.animated.flipOutY { |
||||||
|
-webkit-animation-duration: .75s; |
||||||
|
animation-duration: .75s; |
||||||
|
} |
||||||
|
|
||||||
|
@-webkit-keyframes shake { |
||||||
|
from, to { |
||||||
|
-webkit-transform: translate3d(0, 0, 0); |
||||||
|
transform: translate3d(0, 0, 0); |
||||||
|
} |
||||||
|
|
||||||
|
10%, 30%, 50%, 70%, 90% { |
||||||
|
-webkit-transform: translate3d(-10px, 0, 0); |
||||||
|
transform: translate3d(-10px, 0, 0); |
||||||
|
} |
||||||
|
|
||||||
|
20%, 40%, 60%, 80% { |
||||||
|
-webkit-transform: translate3d(10px, 0, 0); |
||||||
|
transform: translate3d(10px, 0, 0); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@keyframes shake { |
||||||
|
from, to { |
||||||
|
-webkit-transform: translate3d(0, 0, 0); |
||||||
|
transform: translate3d(0, 0, 0); |
||||||
|
} |
||||||
|
|
||||||
|
10%, 30%, 50%, 70%, 90% { |
||||||
|
-webkit-transform: translate3d(-10px, 0, 0); |
||||||
|
transform: translate3d(-10px, 0, 0); |
||||||
|
} |
||||||
|
|
||||||
|
20%, 40%, 60%, 80% { |
||||||
|
-webkit-transform: translate3d(10px, 0, 0); |
||||||
|
transform: translate3d(10px, 0, 0); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.shake { |
||||||
|
-webkit-animation-name: shake; |
||||||
|
animation-name: shake; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@-webkit-keyframes fadeInDown { |
||||||
|
from { |
||||||
|
opacity: 0; |
||||||
|
-webkit-transform: translate3d(0, -100%, 0); |
||||||
|
transform: translate3d(0, -100%, 0); |
||||||
|
} |
||||||
|
|
||||||
|
to { |
||||||
|
opacity: 1; |
||||||
|
-webkit-transform: none; |
||||||
|
transform: none; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@keyframes fadeInDown { |
||||||
|
from { |
||||||
|
opacity: 0; |
||||||
|
-webkit-transform: translate3d(0, -100%, 0); |
||||||
|
transform: translate3d(0, -100%, 0); |
||||||
|
} |
||||||
|
|
||||||
|
to { |
||||||
|
opacity: 1; |
||||||
|
-webkit-transform: none; |
||||||
|
transform: none; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.fadeInDown { |
||||||
|
-webkit-animation-name: fadeInDown; |
||||||
|
animation-name: fadeInDown; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@-webkit-keyframes fadeOut { |
||||||
|
from { |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
to { |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@keyframes fadeOut { |
||||||
|
from { |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
to { |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.fadeOut { |
||||||
|
-webkit-animation-name: fadeOut; |
||||||
|
animation-name: fadeOut; |
||||||
|
} |
||||||
|
|
||||||
|
@-webkit-keyframes fadeOutDown { |
||||||
|
from { |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
to { |
||||||
|
opacity: 0; |
||||||
|
-webkit-transform: translate3d(0, 100%, 0); |
||||||
|
transform: translate3d(0, 100%, 0); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@keyframes fadeOutDown { |
||||||
|
from { |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
to { |
||||||
|
opacity: 0; |
||||||
|
-webkit-transform: translate3d(0, 100%, 0); |
||||||
|
transform: translate3d(0, 100%, 0); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.fadeOutDown { |
||||||
|
-webkit-animation-name: fadeOutDown; |
||||||
|
animation-name: fadeOutDown; |
||||||
|
} |
||||||
|
|
||||||
|
@-webkit-keyframes fadeOutUp { |
||||||
|
from { |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
to { |
||||||
|
opacity: 0; |
||||||
|
-webkit-transform: translate3d(0, -100%, 0); |
||||||
|
transform: translate3d(0, -100%, 0); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@keyframes fadeOutUp { |
||||||
|
from { |
||||||
|
opacity: 1; |
||||||
|
} |
||||||
|
|
||||||
|
to { |
||||||
|
opacity: 0; |
||||||
|
-webkit-transform: translate3d(0, -100%, 0); |
||||||
|
transform: translate3d(0, -100%, 0); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.fadeOutUp { |
||||||
|
-webkit-animation-name: fadeOutUp; |
||||||
|
animation-name: fadeOutUp; |
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
/*! |
||||||
|
========================================================= |
||||||
|
* Light Bootstrap Dashboard Vue - v1.0.0 (Bootstrap 4) |
||||||
|
========================================================= |
||||||
|
* Product Page: http://www.creative-tim.com/product/light-bootstrap-dashboard |
||||||
|
* Copyright 2017 Creative Tim (http://www.creative-tim.com) |
||||||
|
* Licensed under MIT (https://github.com/creativetimofficial/light-bootstrap-dashboard/blob/master/LICENSE.md) |
||||||
|
========================================================= |
||||||
|
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. |
||||||
|
*/ |
||||||
|
@import "lbd/variables"; |
||||||
|
@import "lbd/mixins"; |
||||||
|
|
||||||
|
@import "lbd/typography"; |
||||||
|
|
||||||
|
// Core CSS |
||||||
|
@import "lbd/misc"; |
||||||
|
@import "lbd/sidebar-and-main-panel"; |
||||||
|
@import "lbd/buttons"; |
||||||
|
@import "lbd/inputs"; |
||||||
|
|
||||||
|
@import "lbd/alerts"; |
||||||
|
@import "lbd/tables"; |
||||||
|
@import "lbd/modal"; |
||||||
|
|
||||||
|
@import "lbd/checkbox-radio-switch"; |
||||||
|
@import "lbd/navbars"; |
||||||
|
@import "lbd/footers"; |
||||||
|
|
||||||
|
// Fancy Stuff |
||||||
|
@import "lbd/plugins/animate"; |
||||||
|
@import "lbd/dropdown"; |
||||||
|
@import "lbd/cards"; |
||||||
|
@import "lbd/chartist"; |
||||||
|
@import "lbd/tooltip"; |
||||||
|
@import "lbd/responsive"; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,22 @@ |
|||||||
|
<template> |
||||||
|
<transition name="fade" mode="out-in"> |
||||||
|
<router-view></router-view> |
||||||
|
</transition> |
||||||
|
</template> |
||||||
|
<script> |
||||||
|
export default {} |
||||||
|
</script> |
||||||
|
<style> |
||||||
|
.fade-enter-active, |
||||||
|
.fade-leave-active { |
||||||
|
transition: opacity .1s |
||||||
|
} |
||||||
|
|
||||||
|
.fade-enter, |
||||||
|
.fade-leave-to |
||||||
|
/* .fade-leave-active in <2.1.8 */ |
||||||
|
|
||||||
|
{ |
||||||
|
opacity: 0 |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,26 @@ |
|||||||
|
<template> |
||||||
|
<footer class="footer"> |
||||||
|
<div class="container-fluid"> |
||||||
|
<nav> |
||||||
|
<ul class="footer-menu"> |
||||||
|
<li> |
||||||
|
<router-link :to="{path:'/admin'}">Dashboard</router-link> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</nav> |
||||||
|
<div class="copyright text-center"> |
||||||
|
© Coded with |
||||||
|
<i class="fa fa-heart heart"></i> by |
||||||
|
<a href="https://github.com/cristijora" target="_blank">Cristi Jora</a>. |
||||||
|
Designed by <a href="https://www.creative-tim.com/?ref=pdf-vuejs" target="_blank">Creative Tim</a>. |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</footer> |
||||||
|
</template> |
||||||
|
<script> |
||||||
|
export default {} |
||||||
|
|
||||||
|
</script> |
||||||
|
<style> |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,50 @@ |
|||||||
|
<template> |
||||||
|
<div class="wrapper"> |
||||||
|
<side-bar> |
||||||
|
<mobile-menu slot="content"></mobile-menu> |
||||||
|
<sidebar-link to="/ucp/overview"> |
||||||
|
<i class="fa fa-line-chart"></i> |
||||||
|
<p>Dashboard</p> |
||||||
|
</sidebar-link> |
||||||
|
<sidebar-link to="/ucp/streams"> |
||||||
|
<i class="fa fa-signal"></i> |
||||||
|
<p>My Streams</p> |
||||||
|
</sidebar-link> |
||||||
|
</side-bar> |
||||||
|
<div class="main-panel"> |
||||||
|
<top-navbar></top-navbar> |
||||||
|
|
||||||
|
<dashboard-content @click="toggleSidebar"> |
||||||
|
|
||||||
|
</dashboard-content> |
||||||
|
|
||||||
|
<content-footer></content-footer> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<style lang="scss"> |
||||||
|
|
||||||
|
</style> |
||||||
|
<script> |
||||||
|
import TopNavbar from './TopNavbar.vue' |
||||||
|
import ContentFooter from './ContentFooter.vue' |
||||||
|
import DashboardContent from './Content.vue' |
||||||
|
import MobileMenu from './MobileMenu.vue' |
||||||
|
|
||||||
|
export default { |
||||||
|
components: { |
||||||
|
TopNavbar, |
||||||
|
ContentFooter, |
||||||
|
DashboardContent, |
||||||
|
MobileMenu |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
toggleSidebar() { |
||||||
|
if (this.$sidebar.showSidebar) { |
||||||
|
this.$sidebar.displaySidebar(false) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
</script> |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue